CBLDCIST('WRIT')
- 〈このページの構成〉
形式
PROCEDURE DIVISIONの指定
CALL 'CBLDCIST' USING 一意名1 一意名2 一意名n
DATA DIVISIONの指定
01 一意名1. 02 データ名A PIC X(8) VALUE 'DCISTSVC'. 02 データ名B PIC X(5). 02 FILLER PIC X(3). 02 データ名C PIC X(8). 02 データ名D PIC S9(9) COMP. 02 データ名E PIC S9(9) COMP. 02 データ名F PIC S9(9) COMP. 02 FILLER PIC X(12). 01 一意名2. 02 データ名G PIC X(4) VALUE 'WRIT'. 02 FILLER PIC X(1). 02 FILLER PIC X(1). 02 FILLER PIC X(1). 02 FILLER PIC X(1). 02 データ名H PIC S9(9) COMP VALUE ZERO. 02 一意名3. 03 データ名I PIC S9(9) COMP. 03 データ名J PIC S9(9) COMP. 02 一意名4. 03 データ名I PIC S9(9) COMP. 03 データ名J PIC S9(9) COMP. : : 02 一意名m. 03 データ名I PIC S9(9) COMP. 03 データ名J PIC S9(9) COMP. 01 一意名n. 02 データ名K PIC X(n).
機能
指定した範囲のレコードを,ISTテーブルに出力します。複数のレコードを一括して指定した場合に,指定したレコードのうち一つでもエラーが起こると,出力バッファにはレコードを出力しないでCBLDCIST('WRIT')はエラーリターンします。
CBLDCIST('WRIT')が正常に終了すると,自ノードのレコードの内容が更新されます。他ノードのISTテーブルへは,CBLDCIST('WRIT')が正常に終了してから,時間をおいて更新されます。
ISTテーブルのレコードを出力するときは,ISTテーブル名と,CBLDCIST('OPEN')で返されたテーブル記述子を設定します。
UAPで値を設定するデータ領域
●データ名A
ISTテーブルとのインタフェースコードを「VALUE 'DCISTSVC'」と設定します。
●データ名C
アクセスするISTテーブルのISTテーブル名を,8文字以内で設定します。8文字に満たない場合は,後ろを空白で埋めてください。
●データ名D
一意名3から一意名mの数(データ名Iとデータ名Jの組の数)を設定します。
●データ名E
出力バッファ長を設定します。出力バッファ長には,(出力レコード長 × 出力レコード数)の値を設定してください。
●データ名F
ISTテーブルをオープンして返された,テーブル記述子を設定します。
●データ名G
ISTテーブルからレコードを出力することを示す要求コードを「VALUE 'WRIT'」と設定します。
●データ名H
0を設定します。
●データ名I
アクセスするレコードの,先頭の相対レコード番号を設定します。
●データ名J
アクセスするレコードの,最後の相対レコード番号を設定します。0を設定した場合は,データ名Iで指定した相対レコード番号のレコードだけを出力します。
●データ名K
出力データ領域(バッファ)を設定します。
OpenTP1から値が返されるデータ領域
●データ名B
ステータスコードが,5けたの数字で返されます。
ステータスコード
ステータスコード |
意味 |
---|---|
00000 |
指定したレコードは,すべて正常に出力しました。 |
03800 |
ISTテーブルへアクセスする順序が間違っています。 |
03803 |
データ名Fに設定したテーブル記述子は正常にオープンして得られたテーブル記述子ではありません。 |
ISTテーブルをオープンしていません。 |
|
03804 |
すべてのレコードを出力するには,データ名Eに設定した出力バッファ長が足りません。 |
03806 |
相対レコード番号が間違っています。 |
03807 |
メモリが不足しました。 |
03809 |
データ名Dに設定した値が,1未満です。 |
03811 |
データ名Hに設定した値が間違っています。 |
03841 |
出力バッファ長が,出力するすべてのレコード長の合計よりも長過ぎます。 |
03890 |
インタフェースコード(データ名A)が間違っています。 |
03891 |
要求コード(データ名G)が間違っています。 |