RPG IV Specifications

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:
  1. 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.
  2. File description specifications describe all the files that your program uses.
  3. Definition specifications describe the data used by the program.
  4. Input specifications describe the input records and fields used by the program.
  5. Calculation specifications describe the calculations done on the data and the order of the calculations. Calculation specifications also control certain input and output operations.
  6. Output specifications describe the output records and fields used by the program.
Subprocedure section:
  1. Procedure specifications mark the beginning and end of the subprocedure, indicate the subprocedure name, and whether it is exported.
  2. Definition specifications describe the local data used by the subprocedure.
  3. Calculation specifications describe the calculations done on both the global and local data and the order of the calculations.