QFILE

QFILE statements are used to define source code for CA OLQ qfiles. Optional QFILE statement clauses relate qfiles to users, systems, and other qfiles; establish attribute/entity relationships; and maintain documentation entries.
idmscu19
QFILE statements are used to define source code for CA OLQ qfiles. Optional QFILE statement clauses relate qfiles to users, systems, and other qfiles; establish attribute/entity relationships; and maintain documentation entries.
If the SET OPTIONS statement specifies SECURITY FOR IDD IS ON, the user must be assigned the proper authority to issue QFILE statements.
This article describes the following information:
2
2
Syntax
QFILE Statement
►►─┬─ ADD ─────┬─ QFILE name is
qfile-name
───────────────────────────────────►    ├─ MODify ──┤    ├─ REPlace ─┤    └─ DELete ──┘  ►─┬────────────────────────────────────────────┬─────────────────────────────►    └─ Version is ─┬─ version-number ──────────┬─┘                   └─┬─────────┬─┬───────────┬─┘                     └─ NEXt ──┘ ├─ HIGhest ─┤                                 └─ LOWest ──┘  ►─┬──────────────────────────────────────────────────────────────────────────►    └─ LANguage is OLQ ─┬──────────────────────┬───────────────────────────────                        └─ TEXt is
user-text
──┘  ►─┬────────────────────────────────────────────────────────┬─────────────────►    └─┬────────────┬─ by
user-id
─┬────────────────────────┬─┘      ├─ PREpared ─┤ └─ PASsword is
password
─┘      └─ REVised ──┘  ►─┬────────────────────────────────────────────────────────────────────────┬─►─    └─ SAMe as ─┬ QFIle
qfile-name
───┬──┬──────────────────────────────────┬┘                └ MODule
module-name
─┘  └ Version is ─┬─
version-number
─┬─┘                                                       ├─ HIGhest ────────┤                                                       └─ LOWest ─────────┘  ─►────────────────────────┬───────────────────────────────────────────────────►    ─┬────────────────────┬─┘     └─ LANguage is OLQ ──┘  ►─┬──────────────────────────────────────────────────────────────────┬───────►─    └─ COPy ─┬─ ALL COMments TYPes ─┬─ FROm ─┬─ QFIle
qfile-name
────┬─┘             ├─ COMments ───────────┤ └─ MODule
module-name
──┘             ├─ DEFinition ─────────┤             ├─ ATTributes ─────────┤             ├─ SOUrce text ────────┤             ├─ SYStems ────────────┤             ├─ USERS ──────────────┤             ├─ MODULes ────────────┤             ├─ QFILES ─────────────┤             ├─
comment-key
────────┤             └─
relational-key
─────┘  ─►─────────────────────────────────────────────────────────────────┬──────────►    ─┬────────────────────────────────────┬─┬─────────────────────┬──┘     └─ Version is ─┬─
version-number
──┬─┘ └─ LANguage is OLQ ───┘                    ├─ HIGhest ─────────┤                    └─ LOWest ──────────┘  ►─┬───────────────────────────────────────────────────────────────────────┬──►    └ NEW NAMe is
new-qfile-name
──┬──────────────────────────────────────┬─┘                                   └ Version is ─┬─
version-number
─────┬─┘                                                 └─ NEXt ─┬─ HIGhest ─┬─┘                                                          └─ LOWest ──┘  ►─┬───────────────────────────────────────────┬──────────────────────────────►    └─ NEW Version is ─┬─
new-version-number
─┬─┘                       └─ NEXt ─┬─ HIGhest ─┬─┘                                └─ LOWest ──┘  ►─┬──────────────────────────────────────────┬───────────────────────────────►    └─ qfile DEScription is
description-text
──┘    ┌─────────────────────────────────────────────────────────────────┐  ►─▼─┬─────────────────────────────────────────────────────────────┬─┴────────►      └─┬─ INClude ◄ ─┬─ USEr is
user-id
──┬──────────────────────┬─┘        └─ EXClude ───┘                    └─ user-specification ─┘  (for complete user-specification syntax, see USER clause)  ►─┬──────────────────────────────────────────────────────┬───────────────────►    └─ PUBlic access is ─┬───────────┬─ for ─┬─ ALL ◄ ───┬─┘                         └─ ALLOwed ─┘       ├─ NONe ────┤                                             ├─ UPDate ──┤                                             ├─ MODify ──┤                                             ├─ REPlace ─┤                                             ├─ DELete ──┤                                             └─ DISplay ─┘  ►─┬──────────────────────────────────────────────────────────────────────────►─    └─┬─ INClude ◄ ──┬─ WIThin ─┬─ SYStem ────┬─
system-name
──────────────────      └─ EXClude ────┘ └─ SUBSYstem ─┘  ─►────────────────────────────────────────────────────────────────┬───────────►    ─┬───────────────────────────────────┬─┬──────────────────────┬─┘     └─ Version is ─┬─
version-number
─┬─┘ └─ TEXt is
user-text
──┘                    ├─ HIGhest ────────┤                    └─ LOWest ─────────┘    ┌────────────────────────────────────────────────────────────────────────┐  ►─▼┬──────────────────────────────────────────────────────────────────────┬┴─►     └┬ INClude ◄ ┬┬ MODe ──────┬ is
attribute-name
─┬─────────────────────┬┘      └ EXClude ──┘└
class-name
┘                    └─ TEXt is
user-text
─┘    ┌──────────────────────────────────────────────────────────────────────────  ►─▼─┬────────────────────────────────────────────────────────────────────────►─      └─┬─ INClude ◄ ─┬─
relational-key
is ─┬─
qfile-name
──┬──────────────────        └─ EXClude ───┘                     └─
module-name
─┘    ──────────────────────────────────────────────────────────────────────────┐  ─►─────────────────────────────────────────────────────────────────────────┬┴─►    ─┬──────────────────────────────┬┬─────────────────┬┬───────────────────┬┘     └ Version is ┬
version-number
┬┘└ LANguage is OLQ ┘└ TEXt is
user-text
┘                  ├ HIGhest ───────┤                  └ LOWest ────────┘    ┌───────────────────────────────────────────────────────────────┐  ►─▼─┬───────────────────────────────────────────────────────────┬─┴──────────►      │                            ┌────────────────────┐         │      └─ EDIt ─┬─ COMments ────┬───▼─
edit-instruction
─┴─ QUIT ──┘               ├─ DEFinition ──┤               └─
comment-key
─┘    ┌──────────────────────────────────────────────────┐  ►─▼─┬─────────────────────────────────────────────┬──┴───────────────────────►◄      └─┬─ COMments ─────┬── is ─┬─ NULl ─────────┬─┘        ├─ DEFinition ───┤       └─
comment-text
─┘        └─
comment-key
──┘  ►─┬───────────────────────────────────────────────────────────────┬──────────►    │                               ┌────────────────────┐          │    └─┬─ QFIle ──┬─ SOUrce follows ─▼─
source statement
─┴─ MSEND ──┘      └─ MODule ─┘  ►─┬──────────────────────────────────────────────────────────────┬───────────►◄    │                              ┌────────────────────┐          │    └─ EDIt ─┬─ QFIle ──┬─ SOUrce ─▼─
edit-instruction
─┴─  QUIT ──┘             └─ MODule ─┘
DISPLAY/PUNCH QFILE Statement (for a single qfile)
►►─┬─ DISplay ─┬─ QFIle name is
qfile-name
───────────────────────────────────►    └─ PUNch ───┘  ►─┬───────────────────────────────────┬─┬────────────────────┬───────────────►    └─ Version is ─┬─
version-number
─┬─┘ └─ LANguage is OLQ ──┘                   ├─ HIGhest ────────┤                   └─ LOWest ─────────┘  ►─┬───────────────────────────────────────────────────┬──────────────────────►    └─ PREpared by
user-id
─┬─────────────────────────┬─┘                            └─ PASsword is
password
──┘    ┌─────────────────────────────────────────────────────────┐  ►─▼─┬─────────────────────────────────────────────────────┬─┴────────────────►      │                  ┌────────────────────────────────┐ │      └─┬─ WITh ──────┬──▼─┬─ ALL ─────────────────────┬──┴─┘        ├─ ALSo WITh ─┤    ├─ ALL COMment TYPes ───────┤        └─ WITHOut ───┘    ├─ ATTRibutes ──────────────┤                           ├─ COMments ────────────────┤                           ├─ DEFinitions ─────────────┤                           ├─ DETails ─────────────────┤                           ├─ HIStory ─────────────────┤                           ├─ MODules ─┬────────┬──────┤                           │           └─ ONLy ─┘      │                           ├─ MODule SOUrce ───────────┤                           ├─ NONe ────────────────────┤                           ├─ PROCesses ───────────────┤                           ├─ PROgrams ────────────────┤                           ├─ QFIles ──────────────────┤                           ├─ SAMe AS ─────────────────┤                           ├─┬─ SYStems ─────┬─────────┤                           │ └─ SUBSYstems ──┘         │                           ├─ TABles ──────────────────┤                           ├─ USErs ───────────────────┤                           ├─┬─ USEr DEFINED COMments ─┤                           │ └─ UDCs ──────────────────┤                           ├─┬─ USEr DEFINED NESts ─┬──┤                           │ └─ UDNs ───────────────┘  │                           └─ WHEre USED ──────────────┘  ►─┬──────────────────────────────────────────────────────────────────────────►─    └─ TO ─┬─ SYSpch ──────────────────────────────────────────────────────────           └─ MODule
module-name
─┬───────────────────────────────────┬────────                                  └─ Version is ─┬─
version-number
─┬─┘                                                 ├─ HIGhest ────────┤                                                 └─ LOWest ─────────┘  ─►──────────────────────────────────────────────────────────────────────────┬─►    ─────────────────────────────────────────────────────────────────────────┬┘    ─┬──────────────────────┬┬──────────────────────────────────────────────┬┘     └ LANguage is
language
┘└ PREpared by
user-id
┬───────────────────────┬┘                                                   └ PASsword is
password
─┘  ►─┬──────────────────────┬──┬─────────────────────┬──────────────────────────►◄    └─ VERB ─┬─ DISplay ─┬─┘  └─ AS ─┬─ SYNtax ───┬─┘             ├─ PUNch ───┤           └─ COMments ─┘             ├─ ADD ─────┤             ├─ MODify ──┤             ├─ REPlace ─┤             └─ DELete ──┘
DISPLAY/PUNCH QFILE Statement (for multiple qfiles)
►►─── DISplay ──┬─ ALL ──────────────────────────┬─ QFIles ───────────────────►                 └─┬─ FIRst ─┬─┬─ 1 ◄ ──────────┬─┘                   ├─ NEXt ──┤ └─
entity-count
─┘                   ├─ LASt ──┤                   └─ PRIor ─┘  ►─┬──────────────────────────────────────────────────┬───────────────────────►    └─ PREpared by
user-id
─┬────────────────────────┬─┘                            └─ PASsword is
password
─┘  ►─┬─────────────────────────────────┬────────────────────────────────────────►    └─ WHEre conditional-expression ──┘  (For complete conditional-expression syntax, see WHERE clause)  ►─┬──────────────────┬───────────────────────────────────────────────────────►    └─ BY ─┬─ SET ◄ ─┬─┘           └─ AREa ──┘  ►─┬──────────────────────────────────────────────────────────────────────────►─    └─ TO ─┬─ SYSpch ──────────────────────────────────────────────────────────           └─ MODule
module-name
─┬───────────────────────────────────┬────────                                  └─ Version is ─┬─
version-number
─┬─┘                                                 ├─ HIGhest ────────┤                                                 └─ LOWest ─────────┘  ─►──────────────────────────────────────────────────────────────────────────┬─►    ─────────────────────────────────────────────────────────────────────────┬┘    ─┬──────────────────────┬┬──────────────────────────────────────────────┬┘     └ LANguage is
language
┘└ PREpared by
user-id
┬───────────────────────┬┘                                                   └ PASsword is
password
─┘  ►─┬──────────────────────┬──┬──────────────────────────────────────┬─────────►◄    └─ VERB ─┬─ DISplay ─┬─┘  └─ AS ─┬─ SYNtax ───┬──┬─────────────┬─┘             ├─ PUNch ───┤           └─ COMments ─┘  └─ RECursive ─┘             ├─ ADD ─────┤             ├─ MODify ──┤             ├─ REPlace ─┤             └─ DELete ──┘  
Parameters
  • QFILE name is
    qfile-name
    Identifies a new qfile to be established in the dictionary, or an existing occurrence to be modified, replaced, deleted, displayed, or punched.
    Qfile-name
    must be a 1- through 32-character alphanumeric value. The specified name must not duplicate the name of an existing program, map, subschema, or CA ADS dialog.
  • LANguage is OLQ
    Qualifies the requested qfile/module with a language (must be OLQ). When the QFILE statement is specified, the DDDL compiler supplies the appropriate language, OLQ, automatically.
  • SAMe as QFIle/MODule
    qfile-name/module-name
    Copies all entries associated with the named qfile or module except the name and LANGUAGE specifications. The qfile/module to be copied must have the language OLQ.
  • COPy
    entity-option
    FROm
    entity-type-name
    entity-occurrence-name
    Copies selected options from an entity-occurrence definition and merges the copied options into this definition. QFILEs can copy only from other modules with a language of OLQ.
  • TEXt is
    user-text
    Associates a 1- to 40-character comment with the new language. If the text includes embedded blanks or delimiters, it must be enclosed in site-specific quote characters.
  • NEW NAMe is
    new-qfile-name
    Specifies a new name for the requested qfile. This clause changes only the name of the qfile; it does not alter or delete any previously defined relationships in which the qfile participates. Subsequent references to the qfile must specify the new name.
    New-qfile-name
    must be a 1- through 32-character alphanumeric value. The combination of the new qfile name, version number, and language must not duplicate that of an established qfile or module occurrence.
  • NEW Version is
    new-version
    /NEXt HIGhest/NEXt LOWest
    Specifies a new version number for the named qfile. The combination of the qfile name, new version number, and language qualification must not duplicate that of an existing qfile or module.
  • WIThin SYStem/SUBSYstem
    system-name
    Associates (INCLUDE) the qfile with or disassociates (EXCLUDE) it from the specified system or subsystem.
    System-name
    must reference an existing system or subsystem.
  • relational-key
    is
    qfile-name/module-name
    Associates (INCLUDE) the qfile with or disassociates (EXCLUDE) it from another qfile or module by means of the named relational key. If the qfiles and/or modules being related have the same name and version but different languages, or if the related module has a version of HIGHEST or LOWEST and is qualified by language, the LANGUAGE parameter must be specified. For a complete description of the definition and use of relational keys, see Relational Keys.
  • QFIle/MODule SOUrce follows
    source-statement
    MSEND
    Specifies the source code to be associated with the requested qfile. Each source statement must be specified in 80-character format. DML commands coded as module source will be intercepted by the DML precompilers and translated into CALL statements when the module is copied. COPY/INCLUDE requests will also be executed when the module is copied. The QFILE/MODULE/SOURCE FOLLOWS statement must be coded on the first line by itself; source statements follow on the second and subsequent lines; the keyword MSEND, required to terminate the source statements, must be the first entry on the last line.
  • WITh/ALSo WITh/WITHOut
    Includes or excludes the specified options when the qfile is displayed or punched. Detailed information for each DISPLAY/PUNCH option is under SET OPTIONS Syntax. The option that is listed below presents special considerations for this entity type.
  • DETails
    Includes the DESCRIPTION clause.
Usage
QFILE statement considerations
The following considerations apply to this statement:
  • The reserved words QFILE and MODULE are interchangeable within QFILE statement clauses, unless otherwise noted. In the following discussion, the term
    module
    applies to processes, qfiles, and tables, unless otherwise noted.
  • qfile occurrences are stored as specially identified module records in the dictionary and are automatically associated with the LANGUAGE class through the OLQ attribute.
If you specify REPLACE
If you specify REPLACE, the DDDL compiler initializes to defaults and/or excludes the following options:
  • DESCRIPTION
  • USER REGISTERED FOR
  • PUBLIC ACCESS
  • WITHIN SYSTEM
  • COMMENTS/DEFINITION/
    comment-key
  • Related qfiles
  • Related attributes
  • QFILE SOURCE
The following relationships are not affected:
  • Modules to which the named qfile is a related module
  • Users accessing the named qfile
  • Programs using the named qfile
  • LANGUAGE specification
Example
The following statements add the qfile EMPLOYEES AND OFFICES to the dictionary and modify the qfile CUSTOMER; note that the language qualification for EMPLOYEES AND OFFICES is automatically supplied.
add qfile 'employees and offices'        description is 'olq menu'        user is tdb            registered for all        public access is allowed for all        qfile source follows   &path='. '   signon ss demoss01 schema demoschm(   1)   options all header echo nofiller full whole interrupt olqheader   opathstatus nostatistic comments verbose nodbkey picture   define '&path'. path   fields for customer are all display nocomma nolead no$   fields for customer are not cust-zipcode   get  all   sequential customer   fields for ordor are all display nocomma nolead no$   fields for ordor are not ord-date-prom   fields for ordor are not ord-date-shipped   find all   ordor in customer-order   fields for item are all display nocomma nolead no$   fields for item are not item-quantities   get  all   item in order-item   end path   exec path   edit cust-number olqheader -                    'number'   edit cust-name picture   -                  'x(40)'        msend.   modify qfile customer        user is dbc            registered for update        public access is allowed for all.