Separately compiled program
A complete COBOL program that was compiled in a separate compiler run is referred to as a separately compiled program. It can be either an individual program or the outermost containing program of a nested program.
Nested program
A COBOL program that comprises a number of complete programs nested within one another is referred to as a "nested program".
A program that contains further programs is referred to as a "containing program".
A program that is contained in another program is referred to as a "contained program".
The programs of a nested program can be both containing programs and contained programs, apart from the "outermost" containing program that is treated in exactly the same manner as a separately compiled program within the run unit.
A contained program can be contained directly or indirectly in another program.
With respect to the immediately superordinate nesting level, a contained program is directly contained; with respect to other superordinate nesting levels it is indirectly contained.
Example 12-1
of the structure of a nested program
"Sibling program"
The programs comprising a nested program that are contained on the same level of nesting in a program are referred to as "sibling programs".
"Descendant"
Each program contained directly or indirectly in a "sibling program" is referred to as a "descendant" of this "sibling program".
Run unit
A run unit is a particular number of executable programs that act as a logical unit at run time.
A run unit may consist of
one or more separately compiled programs,
one or more nested programs,
a combination of separately compiled programs and nested programs.
The program started on the system level is referred to as "main program" and all other programs of the run unit are known as "subprograms".