ネストされた COBOL プログラムの呼び出し
ネストされたプログラムを呼び出すことによって、構造化プログラミング技法を使用して、アプリケーションを作成することができます。
また、データ項目を不用意に変更しないようにするために、PERFORM プロシージャーの代わりに、ネストされたプログラムを呼び出すことができます。ネストされたプログラムの呼び出しには、CALL
literal ステートメントまたは CALL identifier ステートメントを使用します。
ネストされたプログラムは、PROGRAM-ID 段落内で COMMON と指定しない限り、それを直接収容しているプログラムからしか呼び出すことができません。
その場合、共通プログラム は、共通プログラムと同じプログラムに (直接的または間接的に) ネストされている任意のプログラムから呼び出すことができます。COMMON として識別できるのは、ネストされているプログラムだけです。再帰呼び出しはできません。
ネストされたプログラム構造を使用する際には、以下の指針に従ってください。
- 各プログラムに IDENTIFICATION DIVISION をコーディングします。他の部はすべてオプションです。
- 必要に応じて、各ネストされたプログラムの名前を固有にしてください。
ネストされたプログラムの名前は (名前の有効範囲に関する関連参照で記述されているように) 固有である必要はありませんが、名前を固有にしておくと、アプリケーションのより容易な保守に役立ちます。
任意の有効なユーザー定義語または英数字リテラルをネストされたプログラムの名前として使用できます。
- 必要となる可能性のある CONFIGURATION SECTION 項目は、最外部のプログラムでコーディングします。ネストされたプログラムが CONFIGURATION SECTION を持つことはできません。
- ネストされたプログラムはそれぞれ、収容しているプログラムの中で、収容しているプログラムの END PROGRAM マーカーの直前に配置します。
- END PROGRAM マーカーを使用して、ネストされたプログラムと収容しているプログラムを終了させます。
- ネストされたプログラムに生成されるリンケージは、常に OPTLINK です。CALL identifier ステートメントを使用してネストされたプログラムを呼び出す場合は、OPTLINK リンケージ規約をその CALL ステートメントに CALLINT(OPTLINK) コンパイラー・オプション、または >>CALLINT OPTLINK コンパイラー指示を指定して使用するようにしてください。
関連概念
ネストされたプログラム
関連参照
名前の有効範囲
OPTLINK
CALLINT
|