Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 コンパイラーおよびランタイム 移行ガイド


ランタイム検出エラーの場合の異常終了のタイミング

ランタイム検出エラー (IGZ0061S (ゼロ 除算) または IGZ0006S (範囲外の添え字) など) の 場合、異常終了のタイミングは言語環境プログラムと VS COBOL II 間で異なります。異常終了のタイミングの違いは、CICS の HANDLE ABEND の動作に影響を与えます。

言語環境プログラムのもとでは、ランタイム検出エラーがあると、以下のイベントが発生し ます (ABTERMENC(ABEND) が有効の場合)。

  1. 言語環境プログラムのソフトウェア生成条件が通知されます。
  2. 登録されているユーザー条件処理ルーチンがある場合、言語環境プログラムの条件マネージャーは、そのユーザー条件処理ルーチンに 制御を渡します。
  3. 条件が処理されなかった場合は、エンクレーブが終了し、言語環境プログラムが 4038 異常終了を発 行します。

VS COBOL II では、ランタイム検出エラーがあると、以下のイベントが発生します。

  1. エラー・メッセージが書き込まれます。
  2. 異常終了 1xxx が発行されます。

言語環境プログラムのもとでは、ランタイム検出エラーが発生すると、異常終了が発行される前に、そのコードを含んでいるエンクレーブ (実行単位) が終了します。そのため、CICS の HANDLE ABEND コマンドで参照されたラベルにあるコードは制御を取得し ません。

VS COBOL II のもとでは、実行単位がまだ存在するときに異常終了が発行される ため、HANDLE ABEND のラベルにあるコードが実行されます。

VS COBOL II と互換性のある動作のためには、言語環境プログラムで SCEESAMP データ・セット内に提供さ れているサンプルのユーザー条件処理ルーチン・コード CEEWUCHA を使用してください。

言語環境プログラムのもとで CEEWUCHA を使用しているときは、ランタイム検出エラーがあると、以下のイベントが発生します (ABTERMENC(ABEND) が有効の場合)。

  1. 言語環境プログラムのソフトウェア生成条件が通知されます。
  2. 登録されているユーザー条件処理ルーチンがある場合、言語環境プログラムの条件マネージャーは、そのユーザー条件処理ルーチンに 制御を渡します。
  3. CEEWUCHA ユーザー条件処理ルーチンが制御を取得し、以下のことを発生させます。
    • エラー・メッセージが書き込まれます。
    • 言語環境プログラム・ダンプが生成されます。
    • 異常終了 1xxx が発行されます。

ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)