バージョン 4.2.5
 —  ユーティリティ  —

NATRJE ユーティリティ- Natural リモートジョブエントリ

NATRJE ユーティリティ(Natural リモートジョブエントリ)を使用すると、スケジューリングおよび実行のために JCL カードを Natural プログラムからオペレーティングシステムに送信できます。 例えば、NATRJE を使用して Natural バッチジョブを開始できます。

以下このドキュメントでは、openUTM を UTM と記載します。

NATRJE ユーティリティ- Natural リモートジョブエントリ」ドキュメントでは、次のトピックについて説明します。

関連トピック:


NATRJE の全般的な情報

  1. Natural プログラムでは、オペレーティングシステムで実行される JCL カードを送信するために、NATRJE ユーティリティが呼び出されます。

  2. NATRJE では、ジョブが完了したことを示す通知を Natural プログラムから受け取るまで、JCL カードが RJE バッファに収集されます。 JCL カードは、送信されるまで RJE バッファに保持されます。 RJE バッファの初期サイズは、RJESIZE プロファイルパラメータによって決まります(Natural の『パラメータリファレンス』ドキュメントを参照)。 特定のジョブが RJE バッファに収容できない場合、バッファサイズは自動的に拡張されます。 ジョブの最大サイズは、スレッドまたはリージョンのサイズによって決まります。

  3. NATRJE では、オペレーティングシステムでスケジューリングおよび実行するために、JCL カードがオペレーティングシステム内部ジョブキューに転送されます。

BS2000/OSD に関する注:
BS2000/OSD 環境では、ジョブの生成が完了すると、NATRJE によって BS2000/OSD データセットが生成され、JCL カードが転送されます。 このデータセットは SAM ファイルであり、Enter キーを押すと BS2000/OSD オペレーティングシステムに送信されます。

Top of page

Natural プログラムからの NATRJE の呼び出し

以下に参考情報を示します。

NATRJE の呼び出し

Start of instruction set NATRJE ユーティリティを呼び出すには

CALL ステートメントの構文は次のとおりです。

CALL 'NATRJE' parm1 parm2 parm3 parm4

CALL ステートメントで指定するパラメータは次のとおりです。

パラメータ 説明
parm1 テーブルの最初の JCL カード。送信する 80 文字の JCL カードが 1 枚以上含まれています。
parm2 4 バイトのバイナリフィールド。送信する 80 文字の JCL カードの枚数が含まれています。
parm3

1 バイトの英数字フィールド。すべての JCL カードが送信されたかどうかを示すために使用します。

 
' ' 現在のジョブに対する最後の呼び出しではありません。 次の CALL ステートメントに後続の JCL カードが続きます。 JCL カードは RJE バッファに収集されます。
B

BS2000/OSD と z/OS のみ:現在のジョブに対する最後の呼び出し。

BS2000/OSD:ジョブが生成されデータセットに書き込まれますが、自動的に開始されません。

z/OS(バッチと TSO、IMS/TM と CICS):ジョブは内部リーダーデータセットに書き込まれますが、送信されません。 ファンクション L をこの後に呼び出すと、内部リーダーがクローズされてジョブがすべて送信されます。 また、次の場合も内部リーダーがクローズされてジョブが送信されます。

画面 I/O(IMS/TM)、または
セッション終了時(z/OS バッチ、TSO と IMS/TM)

C 現在のジョブをフラッシュします。 ジョブはシステムに送信されません (BS2000/OSD の場合、データセットは作成されません)。
L 現在のジョブに対する最後の呼び出し。 ジョブはシステムに送信されます。
   

BS2000/OSD 環境:「parm3 パラメータのその他の値」を参照してください。

parm4 NATRJE からレスポンスコードが返される 2 バイトのバイナリフィールド。

プログラム例

各オペレーティングシステムで使用する Natural プログラムの例を次に示します。

プログラム例 - z/OS:

次の例は、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

プログラム例 - z/VSE:

次の例は、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

プログラム例 1 - BS2000/OSD:

次の例は、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

プログラム例 2 - BS2000/OSD:

次の例は、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

Top of page

NATRJE リターンコード

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 のユーザー出口」を参照)によってジョブがフラッシュされました。

z/VSE の CICS およびバッチで使用する追加リターンコード

ffrr ff は XPCC 要求のファンクションコード、rr は該当するリターンコードです。

z/OS の CICS で使用する追加リターンコード

01nn CICS WRITEQ TD 失敗。nn は 16 進形式の CICS レスポンスコードです。
01nn CICS CLOSE TD 失敗。nn は 16 進形式の CICS レスポンスコードです。

BS2000/OSD で使用する追加リターンコード

9001 RJE バッファが見つかりません。
9002 バッファスペースを使用できません。
9003 LOGON コマンドが欠落しています。
9004 LOGON カードのみ生成されています。
9005 LOGON パラメータの数が多すぎます。
D010 ENTER マクロにエラーがあります。
Dxxx

オペレーティングシステムのエラー。
エラーメッセージはユーザープログラムに直接送信されます。
BS2000/OSD HELP コマンドによって追加の情報が提供されます。

Top of page

UTM/TIAM に適用可能な NATRJE 機能

このセクションでは、次のトピックについて説明します。

SDF コマンド SET-LOGON-PARAMETER

実行対象のジョブの最初の JCL カード内で、ISP コマンド LOGON を SDF コマンド SET-LOGON-PARAMETER で置換できます。 ただし、SDF コマンドを使用する際には次の制限があります。

ISP および 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)

parm3 パラメータのその他の値

説明
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= が存在するかどうかはチェックされません。

BS2000/OSD データセットの名前

JCL カード用に NATRJE が作成する BS2000/OSD データセットの名前は次のとおりです。

E.DDMMYY.HHMMSSSS.program-name.user-id
パラメータ 指定
DD データセットの作成日
MM データセットの作成月
YY データセットの作成年
HH データセットの作成時刻(時間)
MM データセットの作成時刻(分)
SSSS データセットの作成時刻(秒およびミリ秒)
program-name データセットを作成する Natural プログラムの名前
user-id Natural ユーザー ID

Top of page