RPG code is written on a variety of specification forms, each with a specific
set of functions. Many of the entries which make up a specification type are
position-dependent. Each entry must start in a specific position depending
on the type of entry and the type of specification.
There are seven types of RPG IV specifications. Each specification type
is optional. Specifications must be entered into your source program in the
order shown below.
Main source section:
Control specifications provide the compiler with
information about generating and running programs, such as the program name,
date format, and use of alternate collating sequence or file translation.
File description specifications describe all the
files that your program uses.
Definition specifications describe the data used
by the program.
Input specifications describe the input records
and fields used by the program.
Calculation specifications describe the calculations
done on the data and the order of the calculations. Calculation specifications
also control certain input and output operations.
Output specifications describe the output records
and fields used by the program.
Subprocedure section:
Procedure specifications mark the beginning and
end of the subprocedure, indicate the subprocedure name, and whether it is
exported.
Definition specifications describe the local data
used by the subprocedure.
Calculation specifications describe the calculations
done on both the global and local data and the order of the calculations.