CBLDCDMB('OPEN')
- 〈このページの構成〉
形式
PROCEDURE DIVISIONの指定
CALL 'CBLDCDMB' USING 一意名1 一意名2
DATA DIVISIONの指定
01 一意名1. 02 データ名A PIC X(8) VALUE 'DCDAMINT'. 02 データ名B PIC X(5). 02 FILLER PIC X(1). 02 データ名C PIC X(63). 02 FILLER PIC X(3). 02 FILLER PIC S9(9) COMP. 02 データ名E PIC S9(9) COMP. 02 FILLER PIC S9(9) COMP. 02 データ名H PIC S9(9) COMP. 01 一意名2. 02 データ名F PIC X(4) VALUE 'OPEN'. 02 データ名I PIC X(1). 02 FILLER PIC X(1). 02 FILLER PIC X(1). 02 FILLER PIC X(1). 02 データ名Z PIC S9(9) COMP VALUE ZERO.
機能
OpenTP1ファイルシステム上に作成した物理ファイルをオープンします。ただし,オンラインで使っている物理ファイルはオープンできません。
UAPで値を設定するデータ領域
●データ名A
DAMファイルとのインタフェースコードを「VALUE 'DCDAMINT'」と設定します。
●データ名C
物理ファイル名を(スペシャルファイル名+14文字)以内のパス名で設定します。63文字に満たない場合は,後ろを空白で埋めてください。
●データ名H
入出力の単位となる,一括処理するブロック数を設定します。
設定できる範囲は0〜2147483647です。0を指定した場合は,10になります。
●データ名F
物理ファイルのオープンを示す要求コードを「VALUE 'OPEN'」と設定します。
●データ名I
作成出力要求か再作成(オーバライト)出力要求かを設定します。ここに設定した値で,ファイルのクローズ時に,残りの領域を空白ブロックで埋めるかどうかが決まります。ここに設定した値は,CBLDCDMB('PUT ')を呼び出したあとで,CBLDCDMB('CLOS')を呼び出して正常に終了したときに有効になります。
CBLDCDMB('PUT ')を呼び出していても,CBLDCDMB('CLOS')を呼び出さないでUAPの処理を終了した場合は,ヌル文字のブロックで埋めません。
VALUE 'I'…作成出力要求を設定
VALUE 'O'…再作成出力要求を設定
●データ名Z
0を設定します。
OpenTP1から値が返されるデータ領域
●データ名B
ステータスコードが,5けたの数字で返されます。
●データ名E
オープン処理で返されるファイル記述子が返されます。
ステータスコード
ステータスコード |
意味 |
---|---|
00000 |
ファイル記述子がデータ名Eに正常に設定されました。 |
01607 |
メモリが不足しました。 |
01608 |
データ名Cに設定した物理ファイルはオープン済みです。 |
01611 |
データ名Iに設定した値が間違っています。 |
01614 |
物理ファイル名が間違っています。 |
01615 |
一括処理ブロック数の値が間違っています。 |
01616 |
データ名Cに設定した物理ファイルは,DAMファイルではありません。 |
01618 |
OpenTP1ファイルシステムのバージョンが,作成時と割り当て時とで一致していません。 |
01619 |
データ名Cに設定した物理ファイルが存在しません。 |
01620 |
入出力エラーが起こりました。 |
01628 |
スペシャルファイルに対するアクセス権がありません。 |
01632 |
物理ファイル名がキャラクタ型スペシャルファイルではありません。または設定したスペシャルファイルに対応する装置がありません。 |
01633 |
データ名Cに設定したファイルがOpenTP1ファイルシステムとして初期化されていません。 |
01635 |
プロセスでオープンできる物理ファイル数の最大値を超えた値を設定しています。 |
01636 |
データ名Cに設定した物理ファイルは現在オンラインで使っています。またはほかのプロセスで使っています。 |
01638 |
物理ファイルに対するアクセス権がありません。 |
01639 |
物理ファイルの破壊を検出しました。 |
01690 |
インタフェースコード(データ名A)が間違っています。 |
01691 |
要求コード(データ名F)が間違っています。 |