A called program can directly or indirectly execute its caller. For example, program X calls program Y, program Y calls program Z, and program Z then calls program X. This type of call is recursive.
To make a recursive call, you must either code the RECURSIVE clause in the PROGRAM-ID paragraph of the recursively called program or specify the THREAD compiler option. If you try to recursively call a COBOL program that does not either specify the THREAD compiler option or have the RECURSIVE clause in the PROGRAM-ID paragraph, the run unit will end abnormally.
related tasks
Identifying a program as recursive
related references
THREAD
PROGRAM-ID paragraph
(COBOL for Windows Language Reference)