Level-Numbers

The level-number specifies the hierarchy of data within a record, and identifies special-purpose data entries. A level-number begins a data description entry, a type-name, a renaming or redefining item, or a condition-name entry. A level-number has a value taken from the set of integers between 1 and 49, or from one of the special level-numbers, 66, 77, or 88.
level-number
Level-numbers must be followed either by a separator period; or by a space followed by its associated data-name-1, FILLER, or appropriate data description clause. Level number 01 and 77 must begin in Area A. Level-number 77 must be followed by a space followed by its associated data-name-1. Level numbers 02 through 49, 66, and 88 may begin in Area A or B.

Single-digit level-numbers 1 through 9 may be substituted for level-numbers 01 through 09.

Successive data description entries may start in the same column as the first or they may be indented according to the level-number. Indentation does not affect the magnitude of a level-number.

When level-numbers are indented, each new level-number may begin any number of spaces to the right of Area A. The extent of indentation to the right is limited only by the width of Area B.

For more information, see Levels of Data and  Standard Data Format.

IBM Extension

Elementary items or group items that are immediately subordinate to one group item can have unequal level-numbers.

End of IBM Extension
data-name-1
Explicitly identifies the data being described.

If specified, data-name-1 identifies a data item used in the program. The data item must be the first word following the level-number.

The data item can be changed during program execution.

Data-name-1 must be specified for:
  • Level-66, level-77, and level-88 items
  • Entries containing a GLOBAL, EXTERNAL, or TYPEDEF clause
  • Record description entries associated with file description entries having GLOBAL or EXTERNAL clauses.
FILLER
Is a data item that is not explicitly referred to in a program. The keyword FILLER is optional. If specified, FILLER must be the first word following the level-number.

The keyword FILLER may be used with a conditional variable, if explicit reference is never made to the conditional variable but only to values it may assume. FILLER may not be used with a condition-name or a type-name.

In a MOVE CORRESPONDING statement, or in an ADD CORRESPONDING or SUBTRACT CORRESPONDING statement, FILLER items are ignored. In an INITIALIZE statement, elementary FILLER items are ignored.

If data-name-1 or FILLER clause is omitted, the data item being described is treated as though FILLER had been specified.