EXTNAME(file-name{:format-name}{:*ALL| *INPUT|*OUTPUT|*KEY})

The EXTNAME keyword is used to specify the name of the file which contains the field descriptions used as the subfield description for the data structure being defined.

The file_name parameter is required. Optionally a format name may be specified to direct the compiler to a specific format within a file. If format_name parameter is not specified the first record format is used.

If a character literal is specified, the file or format name name must be specified in the correct case. For example, if the external file is MYFILE, the file-name parameter could be specified as a name in mixed case such as myFile or myfile, but if specified as a literal it must be 'MYFILE'. If the file-name is a character literal, it can be in any of the following forms
'LIBRARY/FILE'
'FILE'
'*LIBL/FILE' 
The last parameter specifies which fields in the external record to extract: If this parameter is not specified, the compiler extracts the fields of the input buffer.
Note:
  1. If the format-name is not specified, the record defaults to the first record in the file.
  2. For *INPUT and *OUTPUT, subfields included in the data structure occupy the same start positions as in the external record description.

Start of change If an externally-described data structure (EXT keyword for an free-form definition, or E in position 22 for a free-form definition, and the EXTNAME keyword is not specified, the data structure name is used for the external name. End of change

The compiler will generate the following definition specification entries for all fields of the externally described data structure:

All data structure keywords except LIKEDS and LIKEREC are allowed with the EXTNAME keyword.