Example of Some Typical Relationships between Programs and Files
Figure 156. Typical Relationships between an RPG Program and Files on the i5/OS System
1
The program uses the field-level description of a file that is defined
to the operating system. An externally described file is identified by an
E in position 22 of the file description specifications. At compilation time,
the compiler copies in the external field-level description.
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 compilation 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 different
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 for
more information.