バッチのコンディションコードとユーザー出口ルーチン

このセクションでは、バッチモードのオブジェクトハンドラ機能に対して返されるコンディションコードおよび機能処理に使用できるユーザー出口ルーチンについて説明します。


バッチで返されるコンディションコード

バッチモードのオブジェクトハンドラ処理は、次のいずれかのコンディションコードで終了します。

コンディションコード 説明
0 オブジェクトハンドラ処理は正常終了しました。
30 内部的なオブジェクトハンドラエラーが発生しました。
40 オブジェクトハンドラコマンドでエラーが検出されました。
50 オブジェクトハンドラ処理中にエラーが発生しました。
60 オブジェクトハンドラ処理中に Natural Security エラーが発生しました。
99 オブジェクトハンドラ処理中に Natural エラーが発生しました。

ユーザー出口ルーチンの適用

オブジェクトハンドラのユーザー出口ルーチンは、Natural システムライブラリ SYSOBJH にソースオブジェクトとして提供されます。これらのソースオブジェクトには SRC-EXnn という名前が付いており、nn はユーザー出口ルーチンの番号を表します。

Start of instruction setユーザー出口ルーチンを起動するには

  • Natural システムライブラリ SYSOBJH 内の OBJHEXnn という名前で、ソースオブジェクト SRC-EXnn に対し CATALOG または STOW を実行します。

    ユーザー出口ルーチンのソースオブジェクト(要件に応じて変更可能)およびカタログ化オブジェクトが更新インストールで上書きされないように、別の名前が使用されます。

    ユーザー出口ルーチンの詳細については、ライブラリ SYSOBJH にある SRC-EXnn のソースオブジェクトを参照してください。

使用可能なユーザー出口ルーチン

次のユーザー出口ルーチンを使用することができます。

障害処理のための OBJHEX01

コンディションコードがバッチモードで 0(ゼロ)より大きい値に設定されると、オブジェクトハンドラが処理を停止する前に、ユーザー出口ルーチン OBJHEX01(使用可能な場合)が呼び出されます。このユーザー出口ルーチンで、オブジェクトハンドラ処理の続行または終了を指定できます。終了する場合には、コンディションコードを変更できます。詳細については、Natural システムライブラリ SYSOBJH のユーザー出口ルーチン SRC-EX01 のソースを参照してください。

オブジェクト拒否のための OBJHEX02

オブジェクトハンドラのロード機能がバッチモード(コンディションコード 0)またはオンラインコマンドモードで正常に実行されても、1 つまたは複数のオブジェクトがロード中に拒否された(例:置換されなかった)場合、オブジェクトハンドラが処理を停止する前に、ユーザー出口ルーチン OBJHEX02(使用可能な場合)が呼び出されます。OBJHEX02 で、オブジェクトハンドラ処理の続行または終了を指定できます。終了する場合には、コンディションコードを変更できます。詳細については、Natural システムライブラリ SYSOBJH のユーザー出口ルーチン SRC-EX02 のソースを参照してください。

デフォルトオプション値のための OBJHEX03

ユーザー出口ルーチン OBJHEX03 を適用して、オブジェクトハンドラコマンドの処理に対してデフォルトオプションを設定できます。このユーザー出口ルーチンは、オブジェクトハンドラコマンドが処理される前に呼び出されます。詳細については、Natural システムライブラリ SYSOBJH のユーザー出口ルーチン SRC-EX03 のソースを参照してください。

Natural オブジェクトタイプ統計の OBJHEX04

オブジェクトハンドラのアンロード、ロード、またはスキャン機能がコマンドモードで正常に実行された場合、ユーザー出口ルーチン OBJHEX04(使用可能な場合)が呼び出されます。処理済み、置換済み、未置換、または拒否済みのカタログ化オブジェクトおよびソースの各 Natural オブジェクトタイプの統計を提供します。OBJHEX04 で、オブジェクトハンドラ処理の続行または終了をバッチモードで指定できます。終了する場合には、コンディションコードを変更できます。詳細については、Natural システムライブラリ SYSOBJH のユーザー出口ルーチン SRC-EX04 のソースを参照してください。