There must be exactly one main program in an executable program. Execution of an executable program begins with the execution of the first executable statement of the main program.
where pgm is the symbolic name of the main program in which the PROGRAM statement appears.
A PROGRAM statement is not required to appear in an executable program. If it does appear, it must be the first statement of the main program.
The symbolic name pgm is global (18.1.1) to the executable program and must not be the same as the name of an external procedure, block data subprogram, or common block in the same executable program. The name pgm must not be the same as any local name in the main program.
A main program may not be referenced from a subprogram or from itself.