HP 3000 Manuals

File Section (Continued) [ Micro Focus COBOL Language Reference ] MPE/iX 5.0 Documentation


Micro Focus COBOL Language Reference

File Section (Continued) 

Linkage Section (Continued) 

General Rules.   

   1.  Format 3 is used for each condition-name.  Each condition-name
       requires a separate entry with level-number 88.  Format 3 contains
       the name of the condition and the value, values, or range of
       values associated with the condition-name.  The condition-name
       entries for a particular conditional variable must immediately
       follow the entry describing the item with which the condition-name
       is associated.  A condition-name can be associated with any data
       description entry which contains a level-number except the
       following:

          a.  Another condition-name.

          b.  A level 66 item.   

          c.  A group containing items with descriptions including
              JUSTIFIED, SYNCHRONIZED or USAGE (other than USAGE IS
              DISPLAY).

          d.  An index  or pointer (VSC2, MF) data item (see the section
              The USAGE IS INDEX Clause in this chapter)

          e.  For MF only:    A constant-name.

   2.  For MF and VSC2 only:    Condition-names can be associated with
       internal floating-point items.

       For MF only:    Condition-names can be associated with external
       floating-point items.

   3.  For MF only:    Format 4 defines a constant-name, which is a
       symbolic name representing a constant value assigned to it when
       the source code is passed through your COBOL system.  Your COBOL
       system replaces each reference to a constant-name by its value.

   4.  For MF only:    If the TYPEDEF clause is specified at a group
       level, the components of the TYPEDEF are referenced using the
       usual COBOL rules of qualification.

The BLANK WHEN ZERO Clause 

Function.   

The BLANK WHEN ZERO clause permits the blanking of an item when its value
is zero.

General Format.   

[]
Syntax Rules. 1. The BLANK WHEN ZERO clause can be used only for an elementary item whose PICTURE is specified as numeric (with implicit or explicit USAGE IS DISPLAY) or numeric edited. (See the section The PICTURE Clause later in this chapter.) 2. The asterisk, when used as the zero suppression symbol, and the clause BLANK WHEN ZERO should not appear in the same entry. For OSVS only: This construct is, however, permitted in which case, zero suppression overrides the BLANK WHEN ZERO clause. General Rules. 1. When the BLANK WHEN ZERO clause is used, the item will contain nothing but spaces if the value of the item is zero. 2. When the BLANK WHEN ZERO clause is used for an item whose PICTURE is numeric, the category of the item is considered to be numeric edited. The BLOCK CONTAINS Clause Function. The BLOCK CONTAINS clause specifies the size of a physical record. For OSVS only: Although it is a part of the standard COBOL definition, this feature is explicitly excluded from the X/Open COBOL language definitions and should not be used in a conforming X/Open COBOL source program. General Format.
[]
General Rule. For MF only: This clause is documentary only. The CODE-SET Clause Function. The CODE-SET clause specifies the character code set used to represent data on the external media. It can be specified only for files with record sequential and line sequential (MF) organization. For XOPEN only: Although it is a part of the standard COBOL definition, this feature is explicitly excluded from the X/Open COBOL language definitions and should not be used in a conforming X/Open COBOL source program. General Format.
[]
Directives. 1. In addition to system directives which provide flagging and modify the reserved word list, the following directive may impact either the syntax or semantics described in this section. See you COBOL System Reference for details. a. CHARSET - determines what is considered the native code-set. Syntax Rules. 1. When the CODE-SET clause is specified for a file, all data in that file must be described as usage is DISPLAY and any signed numeric data must be described with the SIGN IS SEPARATE clause. For MF only: These restrictions do not apply. 2. The alphabet-name clause referenced by the CODE-SET clause must not specify the literal phrase. For MF only: These restrictions do not apply . 3. For MF only: Identifier-1 can be qualified, but must not be subscripted. 4. For MF only: Each identifier-1 must be a data item described in the same record description for the file, and must not itself be a record description. 5. For MF only: If the optional FOR phrase is specified, the CODE-SET clause specifies the character code to be used for the data items named. If the FOR phrase is not specified, the CODE-SET clause specifies the character code to be used for the whole file. 6. For MF only: The native character set is used for any file, or data item in a file, to whick no CODE-SET clause applies. 7. For MF only: The data in the record area is always in ASCII. If alphabet-name has been equated in the Special-Names paragraph to EBCDIC, then data affected by the CODE-SET clause is translated from ASCII to EDCDIC as it is written to the file; or from EBCDIC to ASCII as it is read from the file. If alphabet-name has been equated in the Special- Names paragraph to STANDARD-1, STANDARD-2, NATIVE, or ASCII, no translation is necessary. 8. For MF only: For the purposes of this translation, any data item to which a CODE-SET clauseapplies is treated as alphanumeric. No account is taken of the class and category of the item as described in its data description. 9. For MF only: If identifier-1 has an OCCURS clause, the CODE-SET clause applies to only the first occurrence of it. If identifier-1 has a subordinate item with an OCCURS clause, the CODE-SET clause applies to the whole of identifier-1. The DATA RECORDS Clause Function. The DATA RECORDS clause serves only as documentation for the names of data records with their associated file. For ANS85 only: The DATA RECORDS clause of the file description entry is classed as an obsolete element in the ANSI'85 standard and is scheduled to be deleted from the next full revision of the ANSI Standard. For MF only: All dialects in this COBOL implementation fully support this syntax. Refer to your COBOL System Reference for details on using the FLAGSTD directive to detect all occurrences of this syntax. For XOPEN only: Although part of the standard COBOL definition, this feature is explicity excluded from the X/Open COBOL language definitions and should not be used in a conforming X/Open COBOL source program. General Format.
[]
Syntax Rule. Data-name-1 and data-name-2 are the names of data records and should have 01 level-number record descriptions, with the same names, associated with them. For OSVS and VSC2 only: These data-names do not have to be associated with any data description entry in the program. General Rules. 1. The presence of more than one data-name indicates that the file contains more than one type of data record. These records can be of differing sizes, different formats, and so on. The order in which they are listed is not significant.
NOTE When using multiple 01 level items within an FD, if the SELECT statement contains key definitions, the key sizes must be contained within the minimum record length of that FD.
2. Conceptually, all data records within a file share the same area. This is in no way altered by the presence of more than one type of data record within the file. The Data-Name or FILLER Clause Function. A data-name specifies the name of the data being described. The word FILLER can be used to specify an elementary item of the logical record that cannot be referred to explicitly. General Format. For MF only: brackets.
[]
Syntax Rule. The data-name or FILLER clause , if specified, (ANS85) must be the first word following the level-number in a data description entry. General Rules. 1. The key word FILLER can be used to name an elementary item or group in a record. Under no circumstances can a FILLER item be referred to explicitly. However, a data item defined with the key word FILLER can be used as a conditional variable because such use does not require explicit reference to the FILLER item but only to the value contained therein. 2. For ANS85 only: If this clause is omitted, the data item being described is treated as though FILLER had been specified. The EXTERNAL Clause (ANS85) Function. The EXTERNAL clause specifies that a data item or a file connector is external. The constituent data items and group items of an external data record are available to every program in the run unit which describes that record. General Format.
[]
Syntax Rules. 1. The EXTERNAL clause can be specified only in file description entries, or in record description entries in the Working-Storage Section. 2. In the same program, the data-name specified as the subject of the entry whose level-number is 01 that includes the EXTERNAL clause must not be the same data-name specified for any other data description entry which includes the EXTERNAL clause. 3. The VALUE clause must not be used in any data description entry that includes, or is subordinate to an entry that includes, the EXTERNAL clause. The VALUE clause can be specified for condition-name entries associated with such data description entries. 4. For MF only: Literal-1 must be a nonnumeric literal. General Rules. 1. The data contained in the record named by the data-name clause is external and can be accessed and processed by any program in the run unit which describes and, optionally, redefines it subject to the following general rules. 2. Within a run unit, if two or more programs describe the same external data record, each record-name of the associated record description entries must be the same and the records must define the same number of standard data format characters. However, a program which describes an external record can contain a data description entry including the REDEFINES clause which redefines the complete external record, and this complete redefinition need not occur identically in other programs in the run unit. See the section The REDEFINES Clause. 3. Use of the EXTERNAL clause does not imply that the associated file-name or data-name is a global name. See the section The GLOBAL Clause later in this chapter. 4. The file connector associated with this description entry is an external file connecter. 5. For MF only: See your COBOL System Reference for further information on files with the EXTERNAL attribute. 6. For MF only: Literal-1 identifies the external name of an external data item or file connector. The same external name must be used by all programs that reference the same external data item or file connector. For ANS85 only: The GLOBAL Clause Function. The GLOBAL clause specifies that a data-name, a file-name, or a report-name is a global name. A global name is available to every program contained within the program which declares it. General Format.
[]
Syntax Rules. 1. The GLOBAL clause can be specified only in data description entries whose level-number is 01 in the File Section or the Working-Storage Section, file description entries, or report description entries. For MF only: The GLOBAL clause can also be specified in the Linkage Section.
NOTE For VSC2 only: The GLOBAL clause can also be specified in the Linkage Section in COBOL/370 but not in any release of VS COBOL II.
2. In the same Data Division, the data description entries for any two data items for which the same data-name is specified must not include the GLOBAL clause. 3. If the SAME RECORD AREA clause is specified for several files, the record description entries or the file description entries for these files must not include the GLOBAL clause. General Rules. 1. A data-name, file-name or report-name described using a GLOBAL clause is a global name. All data-names subordinate to a global name are global names. All condition-names associated with a global name are global names. 2. A statement in a program contained directly or indirectly within a program which describes a global name can reference that name without describing it again. See the section Scope of Names in the chapter Concepts of the COBOL Language. 3. For ANS85 only: If the GLOBAL clause is used in a data description entry which contains the REDEFINES clause, it is only the subject of that REDEFINES clause which possesses the global attribute. The JUSTIFIED Clause Function. The JUSTIFIED clause specifies non-standard positioning of data within a receiving data item. General Format.
[]
Syntax Rules. 1. The JUSTIFIED clause can be specified only at the elementary item level. 2. JUST is an abbreviation for JUSTIFIED. 3. The JUSTIFIED clause cannot be specified for any data item described as numeric or for which editing is specified. 4. The JUSTIFIED clause cannot be specified for an index data item (see the section The USAGE IS INDEX Clause), or for a pointer data item.(VSC2)(MF) 5. For MF, VSC2, and OSVS only: The JUSTIFIED clause cannot be specified for external or internal floating-point data items. General Rules. 1. When a receiving data item is described with the JUSTIFIED clause and the sending data item is larger than the receiving data item, the leftmost characters are truncated. When the receiving data item is described with the JUSTIFIED clause and it is larger than the sending data item, the data is aligned at the rightmost character position in the data item with space fill for the leftmost character positions. The contents of the sending data item are not taken into account, that is, trailing spaces within the sending data item are not suppressed. For example, if a data item PIC X(4) whose value is A_ _ _ (that is, A followed by three spaces) is moved into a data item PIC X(6) JUSTIFIED the result will be _ _A_ _ _. If the same data item is moved to one with PIC X(3) JUSTIFIED the result will be _ _ _ that is, the leftmost character is truncated. 2. When the JUSTIFIED clause is omitted, the standard rules for aligning data within an elementary item apply. (See the section Standard Alignment Rules in the chapter Concepts of the COBOL Language.) The LABEL RECORDS Clause Function. The LABEL RECORDS clause specifies whether labelsare present. The LABEL RECORDS clause is classed as an obsolete element in the ANSI'85 standard and is scheduled to be deleted from the next full revision of the ANSI Standard (ANS85). All dialects in this COBOL implementation fully support this syntax. Refer to your COBOL System Reference for details on using the FLAGSTD directive to detect all occurrences of this syntax. (MF) Although it is a part of the standard COBOL definition, this feature is explicitly excluded from the X/Open COBOL language definitions and should not be used in a conforming X/Open COBOL source program (XOPEN). General Format.
[]
Syntax Rules. 1. This clause should be present in every file description entry. For ANS85 only: It is not required. 2. For OSVS and VSC2 only: Data-name-1 is the name of a label record and should have a 01 level-number record description, with the same name, associated with it. 3. For OSVS and VSC2 only: Data-name-1 must not appear in the DATA RECORDS clause for the file. 4. For OSVS and VSC2 only: Both LABEL RECORDS IS and LABEL RECORD ARE are accepted as valid syntax. General Rule. For MF only: This clause is documentary only. Level Number Function. The level-number shows the hierarchy of data within a logical record. In addition, it is used to identify entries for working-storage items, linkage items, condition-names , constant-names(MF)and the RENAMES clause. General Format.
[]
Syntax Rules. 1. A level-number is required as the first element in each data description entry. 2. Data description entries subordinate to an FD, CD, or SD entry must have level-numbers with the values 01through 49, 66 ,78 (MF) or 88. (See the section The FILE Description earlier in this chapter.) 3. Data description entries in the Report Section and Screen Section must have level-numbers with the values 01 through 49 , or 78. (MF) 4. Data description entries in the Working-Storage Section, Local-Storage (MF) and Linkage Section must have level-numbersith the values 01 through 49, 66, 77, 78(MF) or 88 5. A level-number can be a one or two digit number. General Rules. 1. The level-number 01 identifies the first entry in each record description. 2. Special level numbers have been assigned to certain entries where there is no real concept of level hierarchy: a. The level-number 77 is assigned to identify noncontiguous working-storage data items and noncontiguous linkage data items. It can be used only as described by Format 1 of the data description skeleton earlier in this chapter. b. Level number 66 is assigned to identify RENAMES entries and can be used only as described in Format 2 of the data description skeleton earlier in this chapter. c. Level number 88 is assigned to entries which define condition-names associated with a conditional variableand can be used only as described in Format 3 of the data description skeleton earlier in this chapter. d. For MF only: Level number 78 is assigned to entries which define constant-names. It can be used only as described in Format 4 of the data description skeleton earlier in this chapter. 3. Multiple level 01 entries subordinate to a CD, FD or SD entry represent implicit redefinitions of the same area.


MPE/iX 5.0 Documentation