Defining Externally Described Files
2 An externally described file (that is, a file with field-level external
description) is used as a program-described file in the program. A
program-described file is identified by an F in position 22 of the file
description specifications. This entry tells the compiler not to copy in the
external field-level descriptions. This file does not have to exist at compi-
lation time.
3 A file is described only at the record level to the operating system. The
fields in the record are described within the program; therefore, position
22 of the file description specifications must contain an F. This file does
not have to exist at compilation time.
4 A file name can be specified at compilation time (that is, coded in the
RPG source member), and a different file name can be specified at run
time. The E in position 22 of the file description specifications indicates
that the external description of the file is to be copied in at compilation
time. At run time, a file override command can be used so that a dif-
ferent file is accessed by the program. To override a file at run time, you
must make sure that record names in both files are the same. The RPG
program uses the record-format name on the input/output operations,
such as a READ operation where it specifies what record type is
expected. See “Overriding and Redirecting File Input and Output” on
page 273 for more information.
Defining Externally Described Files
You can use DDS to describe files to the OS/400 system. Each record type in the
file is identified by a unique record-format name.
An E entry in position 22 of the file description specifications identifies an
externally described file. The E entry indicates to the compiler that it is to retrieve
the external description of the file from the system when the program is compiled.
The information in this external description includes:
File information, such as file type, and file attributes, such as access method
(by key or relative record number)
Record-format description, which includes the record format name and field
descriptions (names, locations, and attributes).
The information the compiler retrieves from the external description is printed on
the compiler listing as long as OPTION(*EXPDDS) is specified on either the
CRTRPGMOD or CRTBNDRPG command when compiling the source member.
(The default for both of these commands is OPTION(*EXPDDS).)
The following section describes how to use a file description specification to
rename or ignore record formats and how to use input and output specifications to
modify external descriptions. Remember that input and output specifications for
externally described files are optional.
Chapter 14. Defining Files 265