Records are used in conjunction with the File I/O Library subroutines to break up individual input lines into many fields and to format data. On input, a record maps a line of data into specific variables representing data fields. On output, a record determines output lines from many different variables.
All the variable fields in a record definition must be specified previously, except for a special field called filler. On input, filler indicates portions of the input line that should be skipped over. On output, filler indicates the placement of "white space" in the output.
Records themselves can contain records, but a record cannot contain itself, either directly or indirectly. Records can also contain array references, but not simply an array name. Subscripts can be variables.
Records are defined as follows:
record RECORD_NAME is
FIELD_SPECIFIER
[FIELD_SPECIFIER] ... end record
FIELD_SPECIFIER is a filler, variable name, array variable reference, or record. The following sections describe the field specifiers.