表 1 に示す Language Environment ランタイム・オプションは、ルーチンの条件処理動作に影響を及ぼすことがあります。
| ランタイム・オプション | 説明 |
|---|---|
| ABPERC | Language Environment 条件処理ルーチンが有効な間、異常が発生してもそれ以上の処置を行わせない
システムまたはユーザー指定の異常終了コードを指定します。指定された異常終了コード以外
のものにはすべて、通常の条件処理活動が実行
されます。システム異常終了は、Shhh と指定します。hhh は、16 進
数のシステム異常終了コードです。ユーザー異常終了は、Udddd と指定します。dddd は、10 進
数のユーザー異常終了コードです。その他の、Shhh の形式ではない 4 文字の EBCDIC ストリング (NONE など) はすべて、ユーザー指定の異常終了コードとしても指定できます。このオプションで指定できる異常終了コード
は 1 つだけです。このオプションでは、TRAP(ON) を使用することが前提です。ABPERC は、CICS® ではサポートされていません。 Language Environment は ABPERC(0Cx) を無視します。この場合、異常終了の回復機能委任は されず、Language Environment による条件処理のセマンティクス体系が有効になります。 |
| CHECK | アプリケーション内でのエラー検査が検出されるように指定します。Language Environment 準拠言語では、エラー 検査で異なる定義ができます。 |
| DEPTHCONDLMT | ユーザー作成条件処理ルーチンで同期条件を ネストできるレベルを制限します (非同期シグナルは DEPTHCONDLMT に 影響しません)。例えば、5 を指定すると、初期条件とネストされた 4 つの条件が処理さ れます。ネスト・レベルを超えると、アプリケーションは異常終了コード 4091 と理由コード 21 (X'15') を出力して終了します。 |
| ERRCOUNT | エンクレーブが異常終了する前に許容される重大度 2、3、および 4 の同 期条件の数を指定します (非同期シグナルは ERRCOUNT に影響しません)。0 を指定した場合には、許容される条件の数は無制限となります。 |
| INTERRUPT | 受け渡し先のホスト・オペレーティング・システムに認識されるアテンション、および 環境の初期設定後に Language Environment に認識されるアテンションを発生させます。 |
| TERMTHDACT | 重大度 2 以上の条件がエンクレーブ内で
未処理のままになっているときに生成される情報のレベルを設定します。さまざまな情報のレベルに応じたパラメーター設定値には次のようなものがあります。
|
| TRAP(ON) | Language Environment の条件処理ルーチンを完全に使用できるようにします。これにより、Language Environment の条件処理ルーチンがエラー条件およびルーチン割り込みをインターセプトします。通常の操作では、アプリケーションの実行時に TRAP(ON) を使用するようにしてくださ
い。 TRAP(ON,NOSPIE) を指定した場合、Language Environment はすべてのプログラム割り込みを処理し、ESTAE によって異常終了します。この機能は、Language Environment が ESPIE マクロを発行しないようにする場合に使用してください。 |
| TRAP(OFF) | 処理の異常終了およびプログラム・チェック/割り込みの場合に Language Environment 条件処理ルーチンを使用できないようにします。ESPIE は発行されません。ただし、TRAP(OFF) を指定しても
、CEESGL 呼び出し可能サービスを介して条件処理ルーチンを呼び出したり、登録済みのユーザー作成条件処理ルーチンに条件を渡したりすることはできます。 Language Environment が ESTAE および ESPIE を発行しないようにするには、TRAP(OFF) を指定してください。ただし、TRAP(OFF) は、予期しないさまざまな副次作用の原因になることがあります。詳細については、「z/OS Language Environment プログラミング・リファレンス」の TRAP ランタイム・オプションの説明を参照してください。 TRAP(OFF)、TRAP(OFF,SPIE)、または TRAP(OFF,NOSPIE) を指定したときに、プログラム割り込みまたはプログラムの異常終了が発生した場合、終了処理のためのユーザー出口は無視されます。 |
| USRHDLR | 2 つのユーザー作成条件処理ルーチンの動作を指定します。最初に指定した処理ルーチンは、スタック・フレーム 0 に登録されます。2 番目に指定した処理ルーチンは、条件によってこの処理ルーチンが使用可能になると、他のどのユーザー作成条件処理ルーチンよりも前に登録
されます。 USRHDLR (lastname、supername) を指定すると、lastname は、スタック・フレーム 0 で制御権を取得 します。supername は、条件が発生すると、どのユーザー作成条件処理ルーチンよりも前に (しかし、supername が 使用可能化フェーズを終了したあとで) 制御権を最初に取得します。 |
| XUFLOW | 指数アンダーフローが起こったときにルーチン割り込みをさせるかどうかを指定 します。 |