CBLDCJUP('RDGETRPT')

名称

jnlrput出力ファイルからジャーナルデータの入力

形式

PROCEDURE DIVISIONの指定

CALL  'CBLDCJUP'  USING  一意名1  一意名2  一意名3  一意名4  一意名5

DATA DIVISIONの指定

01 一意名1.
  02 データ名A  PIC X(8) VALUE 'RDGETRPT'.
  02 データ名B  PIC X(5).
  02 FILLER    PIC X(3).
  02 データ名Z  PIC S9(9) COMP VALUE ZERO.
01 一意名2.
  02 FILLER    PIC X(256).
  02 データ名C  PIC S9(9) COMP.
  02 データ名D  PIC 9(9) COMP.
  02 データ名E  PIC 9(9) COMP.
01 一意名3.
  02 データ名F  PIC 9(9) COMP.
  02 データ名G  PIC X(1).
  02 データ名Y  PIC X(1).
  02 FILLER    PIC X(2).
  02 データ名H  PIC X(4).
  02 データ名I  PIC X(8).
  02 データ名J  PIC X(9).
  02 FILLER    PIC X(3).
  02 データ名K  PIC X(4).
  02 データ名L  PIC X(8).
  02 FILLER    PIC X(12).
  02 データ名M  PIC X(12).
  02 データ名N  PIC X(12).
  02 FILLER    PIC X(1).
  02 FILLER    PIC X(3).
  02 FILLER    PIC 9(9) COMP.
  02 データ名W  PIC X(4).
  02 FILLER    PIC X(36).
01 一意名4.
  02 データ名O.
     03 データ名O1 PIC 9(9) COMP.
     03 データ名O2 PIC 9(9) COMP.
     03 FILLER    PIC X(120).
  02 データ名P REDEFINES データ名O.
     03 データ名P1 PIC X(2).
     03 データ名P2 PIC X(1).
     03 データ名P3 PIC X(1).
     03 データ名P4 PIC X(4).
     03 データ名P5 PIC X(4).
     03 データ名P6 PIC X(4).
     03 データ名P7 PIC X(4).
     03 データ名P8 PIC X(9).
     03 FILLER    PIC X(3).
     03 データ名P9 PIC X(32).
     03 データ名P10 PIC X(4).
     03 データ名P11 PIC X(4).
     03 データ名P12 PIC X(4).
     03 データ名P13 PIC X(4).
     03 データ名P14 PIC X(4).
     03 データ名P15 PIC X(4).
     03 FILLER    PIC X(40).
  02 データ名Q REDEFINES データ名O.
     03 データ名Q1 PIC X(16).
     03 データ名Q2 PIC X(10).
     03 FILLER    PIC X(2).
     03 データ名Q3 PIC X(12).
     03 データ名Q4 PIC X(9).
     03 FILLER    PIC X(3).
     03 データ名Q5 PIC X(1).
     03 データ名Q6 PIC X(1).
     03 FILLER    PIC X(2).
     03 データ名Q7 PIC 9(9) COMP.
     03 FILLER    PIC X(68).
  02 データ名R REDEFINES データ名O.
     03 データ名R1 PIC X(16).
     03 データ名R2 PIC X(16).
     03 データ名R3 PIC X(1).
     03 データ名R4 PIC X(1).
     03 FILLER    PIC X(2).
     03 データ名R5 PIC 9(9) COMP.
     03 FILLER    PIC X(88).
  02 データ名S REDEFINES データ名O.
     03 データ名S1 PIC X(16).
     03 データ名S2 PIC X(10).
     03 FILLER    PIC X(2).
     03 データ名S3 PIC X(1).
     03 データ名S4 PIC X(1).
     03 FILLER    PIC X(2).
     03 データ名S5 PIC 9(9) COMP.
     03 データ名S6 PIC 9(9) COMP.
     03 FILLER    PIC X(88).
  02 データ名T REDEFINES データ名O.
     03 データ名T1 PIC X(16).
     03 データ名T2 PIC X(10).
     03 FILLER    PIC X(2).
     03 データ名T3 PIC X(1).
     03 データ名T4 PIC X(1).
     03 FILLER    PIC X(2).
     03 データ名T5 PIC 9(9) COMP.
     03 FILLER    PIC X(92).
  02 データ名U REDEFINES データ名O.
     03 データ名U1 PIC X(16).
     03 データ名U2 PIC X(10).
     03 FILLER    PIC X(2).
     03 データ名U3 PIC X(12).
     03 データ名U4 PIC 9(9) COMP.
     03 FILLER    PIC X(84).
01 一意名5.
  02 データ名V  PIC X(n).

機能

jnlrputコマンド出力ファイルから,(レコード管理情報(一意名3) + レコードデータヘッダ(一意名4) + レコードデータ(一意名5))単位で,ジャーナルデータを順番に入力します。

jnlrputコマンド出力ファイルを CBLDCJUP('OPENRPT ') でオープンしてから,ジャーナルデータを CBLDCJUP('RDGETRPT') で入力してください。

データ名Vには,ジャーナルデータ入力用のバッファの長さを設定します。この長さには,設定したジャーナルデータの長さと同じ値を設定してください。データ名Vの領域の長さがジャーナルデータの長さよりも小さい場合は,CBLDCJUP('RDGETRPT')の動作は保証しません。

データ名Dに設定したジャーナルデータ長が,実際のジャーナルデータ長よりも大きい場合は,ジャーナルデータを入力して,そのジャーナルデータ長がデータ名Eに返されます。

データ名Dに設定したジャーナルデータ長が,実際のジャーナルデータ長よりも小さい場合は,CBLDCJUP('RDGETRPT')はエラーリターンします。

入力エラーが起こった場合は,CBLDCJUP('RDGETRPT')は jnlrputコマンド出力結果ファイルをクローズしてリターンします。

ファイルの終わりに達した場合は,ジャーナルデータは返されません。

CBLDCJUP('RDGETRPT')には,CBLDCJUP('OPENRPT ')で返されたファイル記述子を設定します。

UAPで値を設定するデータ領域

●データ名A

jnlrputコマンド出力ファイルからデータを入力することを示す要求コードを「VALUE 'RDGETRPT'」と設定します。

●データ名Z

0を設定します。

●データ名C

ファイル記述子を設定します。

●データ名D

入力するジャーナルデータの長さを設定します。設定できる長さは,1から(取得先システムジャーナルサービス定義のjnl_max_datasizeオペランドの値)までです。

OpenTP1から値が返されるデータ領域

●データ名B

ステータスコードが,5けたの数字で返されます。

●データ名E

入力したジャーナルデータのデータ長が返されます。

●データ名F

一意名3,一意名4,一意名5 を合計した長さが返されます。

●データ名G

入力したジャーナルデータの,レコード種別が返されます。

'U' … UJレコードが返されたことを示します。

'S' … SJレコードが返されたことを示します。

'I' … IJレコードが返されたことを示します。

'M' … MJレコードが返されたことを示します。

'O' … OJレコードが返されたことを示します。

'A' … AJレコードが返されたことを示します。

'G' … GJレコードが返されたことを示します。

●データ名Y

入力したジャーナルデータの,トランザクションID設定情報の有無が返されます。

0x00…トランザクションID設定情報はありません。

0x80…トランザクションID設定情報があります。この場合,データ名Mにレコードトランザクショングローバル識別子,データ名Nにレコードトランザクションブランチ識別子が返されます。

●データ名H

入力したジャーナルデータの,レコード取得時刻が返されます。

●データ名I

入力したジャーナルデータの,レコード取得要求元ノード識別子が返されます。

●データ名J

入力したジャーナルデータの,レコード取得要求元サーバ名が返されます。

●データ名K

入力したジャーナルデータの,レコード取得要求元サーバタイムスタンプが返されます。

●データ名L

入力したジャーナルデータの,レコードユーザ情報が返されます。

●データ名M

入力したジャーナルデータの,レコードトランザクショングローバル識別子が返されます。トランザクション外UJの場合,0が返されます。

●データ名N

入力したジャーナルデータの,レコードトランザクションブランチ識別子が返されます。トランザクション外UJの場合,0が返されます。

●データ名W

入力したジャーナルデータの,レコード取得時刻(マイクロ秒)が返されます。

ただし,TP1/Server Base 06-01より前のバージョンのジャーナルデータを,jnlrputコマンドで編集出力したファイルを入力した場合は0が返されます。

●データ名O

入力したUJデータのデータヘッダ情報が返されます。データ名Oに返される値は,データ名Gに「U」が返されている場合にだけ有効です。

●データ名P

入力したSJデータのデータヘッダ情報が返されます。データ名Pに返される値は,データ名Gに「S」が返されている場合にだけ有効です。

●データ名Q

入力したIJデータのデータヘッダ情報が返されます。データ名Qに返される値は,データ名Gに「I」が返されている場合にだけ有効です。

●データ名R

入力したMJデータのデータヘッダ情報が返されます。データ名Rに返される値は,データ名Gに「M」が返されている場合にだけ有効です。

●データ名S

入力したOJデータのデータヘッダ情報が返されます。データ名Sに返される値は,データ名Gに「O」が返されている場合にだけ有効です。

●データ名T

入力したAJデータのデータヘッダ情報が返されます。データ名Tに返される値は,データ名Gに「A」が返されている場合にだけ有効です。

●データ名U

入力したGJデータのデータヘッダ情報が返されます。データ名Uに返される値は,データ名Gに「G」が返されている場合にだけ有効です。

●データ名V

入力したジャーナルデータが返されます。ジャーナルデータとして有効なデータは,データ名Eに返された長さです。

データ名Gに「U」,「I」,「M」,「O」,「G」が返された場合にだけ,データ名Vの値は有効となります。

ステータスコード

ステータスコード意味
00000ジャーナルデータが,正常に設定されました。
01275ファイルの終わりに達しました。
01101要求コード(データ名A)が間違っています。
01271データ名Cに設定したファイル記述子は,正常にオープンして得られた記述子ではありません。
jnlrputコマンド出力ファイルをオープンしていません。
01276データ名Dに,データ長よりも小さい長さを設定しています。
01274入力エラーが起こりました(読み込みエラー)。