古いユーティリティ NATUNLD/NATLOAD および SYSTRANS からオブジェクトハンドラに移行するには、このセクションで説明する 2 つの方法を使用できます。
移行用に提供されているオブジェクトハンドラコマンドを使用することにより、NATUNLD/NATLOAD または SYSTRANS ダイレクトコマンドを対応するオブジェクトハンドラコマンドに変換できます。 これらの移行コマンドにより、古いユーティリティにより使用されるコマンド構文が、オブジェクトハンドラにより使用されるコマンド構文に自動的に変換されます。
単一のコマンドを変換するには
次のいずれかのオブジェクトハンドラダイレクトコマンドを使用します。
NATUNLD
続いて NATUNLD ダイレクトコマンドを入力します。
または:
NATLOAD
続いて NATLOAD ダイレクトコマンドを入力します。
または:
SYSTRANS
続いて SYSTRANS ダイレクトコマンドを入力します。
指定したユーティリティコマンドが、対応するオブジェクトハンドラコマンドに変換されます。
オブジェクトハンドラの後続のコマンドを、それぞれユーティリティ NATUNLD、NATLOAD、または SYSTRANS に適用される構文で指定します。
このユーティリティの構文は、オブジェクトハンドラセッションの期間中は有効です。
以下に、2 つの連続する NATUNLD ユーティリティコマンドと、それに対応するオブジェクトハンドラコマンドの例を示します。
古い NATUNLD コマンド: | NATUNLD ALL * FM LIB1 TO LIB2 |
ALL PG* FM LIB2 |
|
新しいオブジェクトハンドラコマンド: | SYSOBJH NATUNLD ALL * FM LIB1 TO LIB2 |
ALL PG* FM LIB2 |
|
NATUNLD 構文での後続のオブジェクトハンドラコマンド: |
以下に、2 つの連続する SYSTRANS ユーティリティコマンドと、それに対応するオブジェクトハンドラコマンドの例を示します。
古い SYSTRANS コマンド: | TRANSCMD EXECUTE UNLOAD N FROM LIB1 NAME ETID |
END |
|
新しいオブジェクトハンドラコマンド: | SYSOBJH SYSTRANS EXECUTE UNLOAD N FROM LIB1 NAME ETID END |
SYSTRANS 構文での後続のオブジェクトハンドラコマンド: | END |
以下に、マップ入力データおよび対応するオブジェクトハンドラコマンドと入力データを使用してバッチで SYSTRANS ユーティリティコマンドを処理する例を示します。
古い SYSTRANS バッチシーケンス:
SYSTRANS U N,N,N,Y,N,N,N,N N SRCLIB1,PGM1,*,TGTLIB1
新しいオブジェクトハンドラバッチシーケンス:
SYSOBJH SYSTRANS U N,N,N,Y,N,N,N,N N SRCLIB1,PGM1,*,TGTLIB1
ユーティリティコマンドを 1 つずつ定義しなおさなくても、ユーティリティコマンドにより呼び出されるユーザー出口ルーチン内に、機能実行のための SYSOBJH
を指定することができます。 このルーチンにより、NATUNLD/NATLOD または SYSTRANS に発行されたダイレクトコマンドが SYSOBJH
コマンドとしてオブジェクトハンドラに転送されるかどうかが決まります。
ユーザー出口ルーチンをアクティブにするには
NATUNLD/NATLOAD の場合:
ソースオブジェクト U-S-EX03 に対し、UNLDEX03 という名前で Natural システムライブラリ SYSUNLD に SAVE
を実行します。 ソースオブジェクトが SYSUNLD 内に提供されます。
SYSTRANS の場合:
ソースオブジェクト TRA-E2-S に対し、TRA-EX-2 という名前で Natural システムライブラリ SYSTRANS に SAVE
を実行します。 ソースオブジェクトが SYSTRANS 内に提供されます。
UNLDEX03 または TRA-EX-2 のソースをそれぞれ開き、USE-SYSOBJH
を Y
に設定します(デフォルトとして入力されている値です)。 N
に設定すると、ユーザー出口ルーチンが無効になります。
どのような場合に古いユーティリティではなくオブジェクトハンドラを使用するか、または誰がオブジェクトハンドラの使用を許可されるかなど、使用の条件を定義することができます。
ソースオブジェクトに対し、CATALOG
または STOW
を実行します。
(Natural システムライブラリ SYSOBJH 内に提供されている)OBJHAPI アプリケーションプログラミングインターフェイスを使用すると、SYSTRANS ユーティリティの構文でオブジェクトハンドラコマンドを実行できます。
この目的で OBJHAPI を使用する場合、OBJHAPI を呼び出すプログラム内でパラメータ P-EXTENSIONS-EXEC-SYSTRANS-CMD
を指定する必要があります。 詳細については、ライブラリ SYSOBJH 内に提供されているプログラム例 DOC-API を参照してください。
オブジェクトハンドラでは、SYSTRANS ダイレクトコマンドオプションの WORK-FILE-INPUT
、SPECIAL-CONVERSION
、RULE-LOAD
、および UNLOAD-RULES
はサポートされていません。