NATRJE ユーティリティ(Natural リモートジョブエントリ)を使用すると、スケジューリングおよび実行のために JCL カードを Natural プログラムからオペレーティングシステムに送信できます。 例えば、NATRJE を使用して Natural バッチジョブを開始できます。
以下このドキュメントでは、openUTM を UTM と記載します。
「NATRJE ユーティリティ- Natural リモートジョブエントリ」ドキュメントでは、次のトピックについて説明します。
NREXPG - NATRJE のユーザー出口 - 『オペレーション』ドキュメント
Natural プログラムでは、オペレーティングシステムで実行される JCL カードを送信するために、NATRJE ユーティリティが呼び出されます。
NATRJE では、ジョブが完了したことを示す通知を Natural プログラムから受け取るまで、JCL カードが RJE バッファに収集されます。 JCL カードは、送信されるまで RJE バッファに保持されます。 RJE バッファの初期サイズは、RJESIZE プロファイルパラメータによって決まります(Natural の『パラメータリファレンス』ドキュメントを参照)。 特定のジョブが RJE バッファに収容できない場合、バッファサイズは自動的に拡張されます。 ジョブの最大サイズは、スレッドまたはリージョンのサイズによって決まります。
NATRJE では、オペレーティングシステムでスケジューリングおよび実行するために、JCL カードがオペレーティングシステム内部ジョブキューに転送されます。
BS2000/OSD に関する注:
BS2000/OSD 環境では、ジョブの生成が完了すると、NATRJE によって BS2000/OSD データセットが生成され、JCL カードが転送されます。 このデータセットは SAM ファイルであり、Enter キーを押すと BS2000/OSD
オペレーティングシステムに送信されます。
以下に参考情報を示します。
NATRJE ユーティリティを呼び出すには
Natural プログラムで CALL ステートメントを使用します。
CALL ステートメントの構文は次のとおりです。
CALL 'NATRJE' parm1 parm2 parm3 parm4 |
CALL ステートメントで指定するパラメータは次のとおりです。
パラメータ | 説明 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
parm1 | テーブルの最初の JCL カード。送信する 80 文字の JCL カードが 1 枚以上含まれています。 | ||||||||||||||||
parm2 | 4 バイトのバイナリフィールド。送信する 80 文字の JCL カードの枚数が含まれています。 | ||||||||||||||||
parm3 |
|
||||||||||||||||
parm4 | NATRJE からレスポンスコードが返される 2 バイトのバイナリフィールド。 |
各オペレーティングシステムで使用する Natural プログラムの例を次に示します。
次の例は、NATRJE を 1 回呼び出して 3 枚の JCL カードストリームを送信する Natural プログラムです。
DEFINE DATA LOCAL 01 COUNT (B4) 01 FLAG (A1) 01 RETHEX (B2 01 CARDS (A240 01 REDEFINE CARDS 02 CARD1 (A80) 02 CARD2 (A80) 02 CARD3 (A80) END-DEFINE MOVE '//JOBN JOB CLASS=G,MSGCLASS=X' TO CARD1 MOVE '//XXX EXEC PGM=IEFBR14' TO CARD2 MOVE '//DD1 DD DSN=NATRJE.SOURCE,DISP=SHR' TO CARD3 MOVE 3 TO COUNT MOVE 'L' TO FLAG CALL 'NATRJE' CARDS COUNT FLAG RETHEX IF RETHEX = H'0000' WRITE 'JOB submitted successfully' ELSE WRITE 'ERROR from NATRJE' RETHEX END-IF END
次の例は、NATRJE を 3 回呼び出して 7 枚の JCL カードストリームを送信する Natural プログラムです。
DEFINE DATA LOCAL 01 COUNT (B4) 01 FLAG (A1) 01 RETHEX (B2) 01 CARDS (A240) 01 REDEFINE CARDS 02 CARD1 (A80) 02 CARD2 (A80) 02 CARD3 (A80) END-DEFINE MOVE '* $$ JOB JNM=DSERV,CLASS=0,DISP=D' TO CARD1 MOVE '* $$ LST CLASS=A,DISP=D' TO CARD2 MOVE '// JOB DSERV TO DSERV SOURCE MEMBERS' TO CARD3 MOVE 3 TO COUNT CALL 'NATRJE' CARDS COUNT FLAG RETHEX PERFORM RETCODE-CHECK MOVE '// EXEC PROC=NATSPLP' TO CARD1 MOVE '// EXEC DSERV' TO CARD2 MOVE ' DSPLYS SD' TO CARD3 MOVE 3 TO COUNT CALL 'NATRJE' CARDS COUNT FLAG RETHEX PERFORM RETCODE-CHECK MOVE '/*' TO CARD1 MOVE '/&' TO CARD2 MOVE '* $$ EOJ' TO CARD3 MOVE 3 TO COUNT MOVE 'L' TO FLAG CALL 'NATRJE' CARDS COUNT FLAG RETHEX DEFINE SUBROUTINE RETCODE-CHECK IF RETHEX NE H'0000' WRITE 'ERROR from NATRJE:' RETHEX STOP END-IF END-SUBROUTINE END
次の例は、NATRJE を 3 回呼び出して 9 枚の JCL カードストリームを送信する Natural プログラムです。
DEFINE DATA LOCAL 01 COUNT (B4) 01 FLAG (A1) 01 RETHEX (B2) 01 CARDS (A240) 01 REDEFINE CARDS 02 CARD1 (A80) 02 CARD2 (A80) 02 CARD3 (A80) END-DEFINE MOVE '/LOGON' TO CARD1 MOVE '/SYSFILE SYSDTA=(SYSCMD)' TO CARD2 MOVE '/SYSFILE SYSIPT =IPT.PARM' TO CARD 3 MOVE 3 TO COUNT CALL 'NATRJE' CARDS COUNT FLAG RETHEX IF RETHEX NE H'0000' DO WRITE RETHEX (EM=HH) END-IF MOVE '/SETSW ON=2' TO CARD1 MOVE '/EXEC NATB21' TO CARD2 MOVE 'LOGON APPLIC' TO CARD3 MOVE 3 TO COUNT CALL 'NATRJE' CARDS COUNT FLAG RETHEX IF RETHEX NE H'000' DO ... ... END-IF MOVE 'RUNPGM' TO CARD1 MOVE 'FIN' TO CARD2 MOVE '/LOGOFF' TO CARD3 MOVE 3 TO COUNT MOVE 'L' TO FLAG CALL 'NATRJE' CARDS COUNT FLAG RETHEX ... ... ... END
次の例は、NATRJE を 1 回呼び出して 9 枚の JCL カードストリームを送信する Natural プログラムです。
DEFINE DATA LOCAL 01 COUNT (B4) 01 FLAG (A1) 01 RETHEX (B2) 01 CARD1 (A80) 01 CARD2 (A80) 01 CARD3 (A80) 01 CARD4 (A80) ... 01 CARD9 (A80) END-DEFINE MOVE '/LOGON' TO CARD1 MOVE '/SYSFILE SYSDTA=(SYSCMD)' TO CARD2 ... MOVE '/LOGOFF' TO CARD9 MOVE 9 TO COUNT MOVE 'L' TO FLAG CALL 'NATRJE' CARD1 COUNT FLAG RETHEX ... END
NATRJE モジュールを CALL で呼び出すと、CALL ステートメントの 4 番目のパラメータに次のリターンコードのいずれかが返されます。 すべての環境に適用されるリターンコード、およびオペレーティングシステムによって異なる追加のリターンコードがあります。
16 進数 | 10 進数 | 意味 |
---|---|---|
00 | 00 | 正常に終了。 |
04 | 04 | RJE ユーティリティは使用できません。 |
08 | 08 | RJE ユーティリティは無効です。RJESIZE パラメータが 0 に設定されている可能性があります。 |
0C | 12 | JCL カードの枚数が正しくありません。 |
10 | 16 | ファンクションコードが正しくありません。 |
14 | 20 | RJE バッファスペースを使用できません。 |
18 | 24 | パラメータの個数が正しくありません。 |
1C | 28 | 送信中に I/O エラー。 |
20 | 32 | ユーザー出口 NREXPG(『オペレーション』ドキュメントの「NREXPG - NATRJE のユーザー出口」を参照)によってジョブがフラッシュされました。 |
ffrr | ff は XPCC 要求のファンクションコード、rr は該当するリターンコードです。 |
01nn | CICS WRITEQ TD 失敗。nn は 16 進形式の CICS レスポンスコードです。 |
01nn | CICS CLOSE TD 失敗。nn は 16 進形式の CICS レスポンスコードです。 |
9001 | RJE バッファが見つかりません。 |
9002 | バッファスペースを使用できません。 |
9003 | LOGON コマンドが欠落しています。 |
9004 | LOGON カードのみ生成されています。 |
9005 | LOGON パラメータの数が多すぎます。 |
D010 | ENTER マクロにエラーがあります。 |
Dxxx |
オペレーティングシステムのエラー。 |
このセクションでは、次のトピックについて説明します。
実行対象のジョブの最初の JCL カード内で、ISP コマンド LOGON を SDF コマンド SET-LOGON-PARAMETER で置換できます。 ただし、SDF コマンドを使用する際には次の制限があります。
SET-LOGON-PARAMETER コマンドでは、次のコマンド省略形を使用する必要があります。
STLGP
STLGP コマンドとともにユーザー ID、アカウント番号、またはパスワード(あるいはその組み合わせ)を 指定する場合、ISP LOGON コマンドの構文を使用する必要があります。 つまり、SDF キーワードオペランド USER-IDENTIFICATION、ACCOUNT、および PASSWORD は使用できません。 これ以外のキーワードオペランドはいずれも、SDF コマンドで使用できます。
ISP コマンド
/.job-id LOGON user-id,account-number,’password’
および対応する SDF コマンド:
/.job-id STGLP user-id,account-number,’password’
追加のキーワードオペランドを使用する SDF コマンド:
/.job-id STGLP user-id,account-number,’password’, - /RESOURCES=*PARAMETERS(RUN-PRIORITY=220)
値 | 説明 |
---|---|
A | 値 T と E の組み合わせ。 |
E | ジョブが生成され完了されます。 オペレーティングシステム BS2000/OSD に送信する前に、パラメータ ERASE=YES が ENTER パラメータに追加されます。 |
T | ジョブが生成され完了されます。 オペレーティングシステム BS2000/OSD に送信される前に、Natural MT パラメータを使用してタイムリミットが計算されます。 MT を 0 に設定すると、タイムリミットは NTL になります。 TIME= オペランドを指定すると、計算されたタイムリミットが ENTER パラメータに追加されます。 |
T、E または A を使用すると、ユーザーが作成した LOGON カード内にパラメータ TIME=
または ERASE=
が存在するかどうかはチェックされません。
JCL カード用に NATRJE が作成する BS2000/OSD データセットの名前は次のとおりです。
E.DDMMYY.HHMMSSSS.program-name.user-id
パラメータ | 指定 |
---|---|
DD | データセットの作成日 |
MM | データセットの作成月 |
YY | データセットの作成年 |
HH | データセットの作成時刻(時間) |
MM | データセットの作成時刻(分) |
SSSS | データセットの作成時刻(秒およびミリ秒) |
program-name | データセットを作成する Natural プログラムの名前 |
user-id | Natural ユーザー ID |