EXIT PROGRAM ステートメントは、呼び出し先プログラムの終わりを指定して、呼び出し側プログラムに制御を戻します。 また、グローバル宣言の範囲内にあるステートメントが呼び出す異なるプログラムにあるのでない限り、これをグローバル宣言の範囲内で使用してはなりません。
EXIT PROGRAM ステートメント >>-EXIT PROGRAM--+----------------------------+---------------->< | (1) | '-AND CONTINUE RUN UNIT------'
注:
あるプログラムの EXIT PROGRAM ステートメントに制御が達し、そのプログラムには呼び出し側プログラムの制御下での操作中に INITIAL 属性がない場合には、呼び出し側プログラムの CALL ステートメントに制御が戻ります。
呼び出し側プログラムのプログラム状態は、それが CALL ステートメントを実行した時に存在したプログラムと同一になります。 ただし、その 2 つのプログラムで共有するデータ項目の内容とデータ・ファイルの内容は変更されている可能性があります。 呼び出し先プログラムのプログラム状態は、 この呼び出し先プログラムの実行するすべての PERFORM ステートメントの終了点に到達したと見なされる場合を除き、変更されません。
INITIAL 属性を持つ、呼び出し先プログラムの EXIT PROGRAM ステートメントを実行すると、 参照されるプログラムの暗黙の CANCEL が実行されます。
主プログラム中で継続句なし の EXIT PROGRAM ステートメントに制御が達した場合、 制御は出口点を通過して、次の実行可能なステートメントに渡されます。
EXIT PROGRAM ステートメントは、ある文の一連の命令ステートメントの中で最後のステートメントとして現れなければなりません。
呼び出し先プログラム内に次の実行可能ステートメントがない場合には、 暗黙の EXIT PROGRAM ステートメントが想定され、実行されます。
RETURN-CODE 特殊レジスターを使用すれば、あるプログラムからその呼び出し側プログラムに戻りコードの情報を渡すことができます。 詳細は RETURN-CODE 特殊レジスターを参照してください。