z/OS MVS Program Management: Advanced Facilities
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Guidelines and restrictions

z/OS MVS Program Management: Advanced Facilities
SA23-1392-00

GOFF records follow these guidelines and restrictions:
  • A GOFF record is contained within one or more complete data management records. These must be fixed or variable length records, with only fixed length records supported in a UNIX file system. If fixed length records are used, the record length must be 80. Because continuation records are not defined for header records, the minimum usable LRECL for variable length records is 58.
  • A record's length is not a part of the record itself. This architecture assumes that the operating environment in which the records are produced will supply additional information, such as record length (LRECL) and record format (F or V). This means that a program reading GOFF files need not know the internal structure of each record in order to scan for a particular record type.
  • Each GOFF record must start at a data management record boundary, that is, a GOFF file is not a stream. When fixed length records are used, including the UNIX file case, some records will need to have unused space at the end to meet this requirement.
  • GOFF records contain no sequence information. The sequence of the records in a GOFF file cannot be altered. Continuation records must appear in the correct sequence, immediately following the record they continue.
  • Each GOFF object file must begin with a header record, and end with an end record. (Multiple object files can be produced in a single invocation of a translator, but the object stream must be separable into distinct object files.) The "Record Count" field on the END record should contain a count of the GOFF records (not data management logical records) in each object file including HDR and END.
  • If a GOFF record is continued, no intervening records can appear among the continuation segments.
  • Some of the OBJ conventions for ordering and contents of the input records apply. Specifically:
    • ESD items must be numbered starting at 1 in a monotonically increasing sequence, with no "gaps" or omitted values.
    • An ESD record must precede any other record containing a reference to the ESDID defined by that item.
  • Multiple RLD data items can appear on a single RLD record, and RLD items can be split across continuation records.
  • ESD records contain only a single ESD item.
  • The character set to be used for external names is not specified in this GOFF format. Other products, standards, or conventions can impose restrictions, of course. The program management binder requires that the characters in external symbols lie in the range from X'41' to X'FE' inclusive, plus the Shift-Out (X'0E') and Shift-In (X'0F') characters.

    The character set used in each GOFF file, including the character set used for external names, can be specified in the Module Header record.

  • For upward compatibility, fields that are shown as reserved should be set to binary zero. They might be supported by a future version of the binder.
  • If architectural extensions cause a record definition to be longer than was defined at the same or an earlier architecture level, the binder treats the additional fields as containing binary zero if they are not actually present in the record.
Note: Basically, the program management binder supports any EBCDIC Single-Byte Character Set (SBCS), plus SBCS-encoded Double-Byte Character Sets (DBCS). The main reason for including a character set identifier in the GOFF header record is to prepare for support of Multiple-Byte Character Sets (MBCS) such as Unicode.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014