実行時

実行時

OPM 互換実行単位のセマンティクスの保存

次の中では、OPM 互換実行単位のセマンティクスを正確に保存することができます。

ILE COBOL アプリケーションにおける OPM 互換実行単位のセマンティクスの保存

ILE COBOL アプリケーションにおいて、OPM 互換実行単位のセマンティクスを保存するには、次の条件に適合していなければなりません。

これらの条件に適合しない場合、ILE 活動化グループ内に暗黙のまたは明示的な STOP RUN が存在しても、活動化グループが終了しないことがあります。 活動化グループは活動状態のままで、さまざまな ILE COBOL プログラムが最後に使用された状態になります。

注:
上記の条件のために、*DFTACTGRP で実行される ILE COBOL プログラムは、一般に、OPM と互換性のない実行単位で実行されます。 *DFTACTGRP で実行される ILE COBOL プログラムは、その静的ストレージは、ジョブの終了まで物理的に再利用されません。 CRTPGM コマンドの ACTGRP パラメーターに *CALLER が指定された ILE COBOL プログラムを OPM プログラムから呼び出すと、 それは *DFTACTGRP で実行されます。
OPM COBOL/400 と ILE COBOL の混合アプリケーションにおける OPM 互換実行単位のセマンティクスの保存

OPM COBOL/400 プログラムと ILE COBOL とを混合し、かつ OPM 互換実行単位のセマンティクスを可能な限り正確に保存するには、次の条件に適合していなければなりません。

上記の条件に適合しない場合、OPM と ILE の混在アプリケーション・プログラムについては、OPM 互換実行単位のセマンティクスは保存されません。 たとえば、ILE COBOL プログラムが *DFTACTGRP 内で実行されていて、それが STOP RUN を出すと、OPM COBOL/400 プログラムと ILE COBOL プログラムは両方とも最後に使用した状態で残ります。

ILE COBOL では、CALL、CANCEL、EXIT PROGRAM、STOP RUN、および GOBACK の制御操作の流れのため、OPM 互換実行単位が使用されていないなら、実行単位が異なる機能を実行する結果になります。

エラー・メッセージ

ILE COBOL では、実行時エラー・メッセージに接頭部 LNR が付けられます。 また、メッセージ・メンバーによっては、必ずしも OPM COBOL/400 の場合と同じではありません。

ILE COBOL では、実行単位が異常終了した場合、メッセージ CEE9901 が呼び出し側に戻されます。 OPM COBOL/400 では、同様の状況下でメッセージ LBE9001 が呼び出し側に戻されます。

ILE 例外処理と OPM 例外処理の違いのために、ILE COBOL ステートメントでは OPM COBOL/400 ステートメントと比較してより多くの例外を受け取ることがあります。

ファイル状況の 9A から 0A への変更

OPM COBOL/400 では、制御によりジョブが終了された場合、ファイル状況は 9A に設定されます。

ILE COBOL では、制御によりジョブが終了された場合、ファイル状況は 0A に設定されます。

ファイル状況の 9M から 0M への変更

OPM COBOL/400 では、最後のレコードがサブファイルに書き込まれた時点で、ファイル状況は 9M に設定されます。

ILE COBOL では、最後のレコードがサブファイルに書き込まれた時点で、ファイル状況は 0M に設定されます。