サブプログラムからの戻り

サブプログラムから制御を戻すには、サブプログラムを EXIT PROGRAM、 GOBACK、または STOP RUN ステートメントを使用して終了させることができます。 サブプログラムを EXIT PROGRAM または GOBACK ステートメントを使用して終了させた場合は、実行単位は終了されず、 制御はそれを呼び出したプログラムに戻されます。 呼び出し先プログラムに続く実行可能ステートメントが存在しない場合、暗黙のうちに EXIT PROGRAM ステートメントが生成されます。 サブプログラムを STOP RUN ステートメントを使用して終了させた場合、 実行単位のプログラムのうち最も近い管理境界までのすべてのプログラムは終了し、 制御はその管理境界の前のプログラムに戻されます。

サブプログラムは、EXIT PROGRAM または GOBACK で終了させた場合、 通常最後に使用された状態のままです。 次回にサブプログラムが実行単位で呼び出されても、内部値はその状態のままです (ただし、 すべての PERFORM ステートメントが完了したと見なされて、 初期値にリセットされた場合は除く)。 これとは対照的に、メイン・プログラムの場合は呼び出されるたびに初期設定されます。 ただし、次の 2 つの例外があります。