COBOL プログラムには他の COBOL プログラムを含めることができ、 さらにその含まれたプログラムの中に別のプログラムを含めることができます。 これらの中に含まれたプログラムは、ネストされたプログラム と呼ばれます。ネストされたプログラムは、 それを含むプログラムの中に直接的に または間接的に 含めることができます。
THREAD オプションを使用してコンパイルされたプログラムの場合、ネストされたプログラムは サポートされていません。
以下のコード・フラグメントでは、プログラム Outer-program は直接的に プログラム Inner-1 を含みます。プログラム Inner-1 は直接的 にプログラム Inner-1a を含み、 Outer-program は間接的 に Inner-1a を含みます。
Id division.
Program-id. Outer-program.
Procedure division.
Call "Inner-1".
Stop run.
Id division.
Program-id. Inner-1
...
Call Inner-1a.
Stop run.
Id division.
Program-id. Inner-1a.
...
End Inner-1a.
End Inner-1.
End Outer-program.
以下の図は、直接または間接に含まれたプログラムのある、より複雑なネストされたプログラム構造を示しています。
