言語環境プログラムでは、エラー処理後に実行を再開するポイントの管理 が OS/VS COBOL または VS COBOL II の場合よりも非常に簡単です。OS/VS COBOL、VS COBOL II、および言語環境プログラムのもとでは、再帰呼び出しが許可されません。たとえば、OS/VS COBOL および VS COBOL II のもとでは、プログラム A がプログラム B を呼び出 し、プログラム B 内でエラーが発生したために制御がプログラム A に戻されると、その後、プログラム A はプログラム B を呼び出すことができません (呼び出すと再帰エラーが発生 するため)。したがって、条件処理ルーチンは、エラーを代行受信した後、エラーをもたらした命令の後 の次に続く命令 (NSI) で再開しなければなりません。
OS/VS COBOL および VS COBOL II では、エラーをもたらしたプログラム以外のプログラムで再 開するには、エラー発生時にアクティブであったプログラムと、ESTAE 出口が制御を 受け取った後で再入される可能性のあるプログラムを取り消すことが必要です。
言語環境プログラムのもとで Enterprise COBOL または言語環境プログラム準拠のアセンブラー・プログラムを実行しているときには、再開ポイントを変更すると、言語環境プログラムが自動的にプログラムを非活動化します。言語環境プログラムのもとで稼働しているプログラムに上記の例を当てはめると、プログラム A 内で再開したあと、プログラム B を呼び出すことができます。言語環境プログラムはプログラム B を非活動化しているため、再帰は発生しません。
VS COBOL II プログラムの場合、再開カーソル移動機能 (言語環境プログラム呼び出し可能サービス CEEMRCR) によってスタック・フレームの縮小が起こります。この場合、アクティブであったプログラムが非アクティブにされ、再入できるようになります (ネストされたプロ グラムを使用する、NOCMPR2 を指定してコンパイルされた VS COBOL II プログラムを除く)。