Identifying a program as recursive
Code the RECURSIVE
attribute on the PROGRAM-ID
clause to specify that a program can be recursively reentered while a previous invocation is still
active.
You can code RECURSIVE
only on the outermost program of a compilation
unit. Neither nested subprograms nor programs that contain nested
subprograms can be recursive. You must code RECURSIVE
for programs that you compile with the THREAD
option.