コンパイラーを 1 回呼び出すだけで、一連の別個の COBOL プログラムをコンパイルすることができます。 このコンパイルから作成されたオブジェクト・プログラムをリンクして、1 つのロード・モジュールまたは複数の別個のロード・モジュールにすることができます (これは NAME コンパイラー・オプションで制御されます)。
バッチ・ジョブの一部として複数のプログラムをコンパイルするときは、以下を行う必要があります。
別個のロード・モジュールを作成するには、それぞれのモジュール・セットの前に NAME コンパイラー・オプションを付けなければなりません。 コンパイラーが NAME コンパイラー・オプションを検出すると、 次の NAME コンパイラー・オプションが見つかるまで、そのシーケンス内の最初のプログラムおよび後続のすべてのプログラムが 1 つのロード・モジュールにリンク・エディットされます。 それから、NAME オプションを使用してコンパイルされる一連のプログラムは、それぞれ 1 つの分離したロード・モジュールに入れられます。
シーケンス内の各プログラムは、END PROGRAM マーカーで終了させる必要があります (ただし、バッチの最後のプログラムは例外であり、END PROGRAM マーカーは省略可能です)。あるいは、シーケンスの中の各プログラムの前に CBL または PROCESS ステートメントを付けることができます。
プログラム (プログラム・シーケンスの最後のプログラムを除く) で END PROGRAM マーカーを省略すると、そのシーケンス内の次のプログラムが直前のプログラムにネストされます。以下のいずれかの状況では、エラーとなる可能性があります。
CBL ステートメントがシーケンス番号域 (桁 1 から 6) に完全にコーディングされている場合は、それはソース・ステートメント行のラベルと見なされるため、その CBL ステートメントに関するエラー・メッセージは出されません。
関連参照
NAME