このドキュメントでは、Natural IMS インターフェイスでのリカバリの制御を説明します。
次のトピックについて説明します。
Natural IMS インターフェイスは、アベンドの場合に制御を取得する ESTAEX 環境で保護されます。
ユーザーアベンドが検出された場合、リソースはクリーンアップされ、Natural に制御を渡すことなくアベンドが処理されます。
システムアベンドが検出された場合、アベンドについて Natural に通知が送信されます。Natural プロファイルパラメータ DU
の設定に応じて、Natural はエラーメッセージを送信してセッションを続行するか、またはセッションを終了します。
NIMDRIV
マクロに LE370=YES
が指定されており、LE プログラムに制御があるときにアベンドが発生した場合、ユーザー記述または言語固有の条件ハンドラが優先されます。アベンドに関する情報は、すべての LE 条件ハンドラで条件が満たされた場合に限って Natural に通知されます。
この場合、アベンドは標準的なアベンド処理が実行される前に、次の手順により Natural で制御されます。
対応する LE エラーメッセージが SYSOUT
に書き込まれます。
LE ランタイムオプション TERMTHDACT
に従って、LE スナップダンプが CEEDUMP
に書き込まれます。
LE は、Natural CALL
ステートメントの後で処理を再開するように命令されます。
特別な Natural エラーメッセージ(DU=OFF
の場合は NAT0950、DU=ON
の場合は NAT9967)が発行され、LE エラー番号が示されます。
いかなる場合でも、エラー発生時の状況を示すダンプを生成できます(レジスタの内容、PSW など)。 DU=ON
や DU=SNAP
の場合、またはユーザーアベンドが要求した場合、ダンプが生成されます。
リカバリ不能エラーは、Natural IMS インターフェイスで検出され、Natural で処理できない論理エラーです。 これらの状況が発生するのは、一般的に起動時、終了時、または端末 I/O のときです。 このいずれの場合も Natural ランタイムはアクティブではないため、エラーに対応することができません。
リカバリ不能エラーが検出された場合、Natural IMS インターフェイスは、NII エラーを発行してセッションを終了します。 エラーメッセージは、IMS ログとシステムログにも書き込まれます。 エラーメッセージテーブルのダンプオプションに基づいて、スナップダンプが生成されます。
メッセージが IMS ログに書き込まれないようにするには、NIMPARM
マクロの ERRLHDR
パラメータを明示的に空値に設定します。つまり、ERRLHDR=,
を指定します。
エラーメッセージを送信できない場合(例えば、GU が失敗した場合)、セッションがアベンドになります(ユーザーアベンド)。
レポートの宛先が無効な場合など、論理エラーが Natural IMS インターフェイスによって検出され、それが Natural で対処できる場合、Natural エラーメッセージが発行され、Natural は標準的なエラー処理でその状況に対処します。