CBLDCDMB('CRAT')
- 〈このページの構成〉
形式
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 データ名D PIC S9(9) COMP. 02 データ名E PIC S9(9) COMP. 02 データ名G PIC S9(9) COMP. 02 データ名H PIC S9(9) COMP. 01 一意名2. 02 データ名F PIC X(4) VALUE 'CRAT'. 02 データ名I PIC X(1). 02 データ名J PIC X(1). 02 データ名K PIC X(1). 02 FILLER PIC X(1). 02 データ名Z PIC S9(9) COMP VALUE ZERO.
機能
OpenTP1ファイルシステムに物理ファイルを割り当てます。
物理ファイルの大きさは,(ブロック長+8)×(ブロック数+1)になります。
物理ファイルを割り当てたあとには,物理ファイルをオープンする必要はありません。
CBLDCDMB('CRAT')で物理ファイルを割り当てたあとには,次に示すCOBOL-UAP作成用プログラムは呼び出せません。
-
CBLDCDMB('GET ')
-
CBLDCDMB('BSEK')
-
CBLDCDMB('DGET')
-
CBLDCDMB('DPUT')
出力バッファの大きさは(ブロック長+8)×一括処理ブロック数になります。
アクセス権にすべて'N'(アクセス権なし)を設定した場合は,省略時の値を仮定します。
物理ファイルを割り当てるときは,物理ファイル名を設定します。
UAPで値を設定するデータ領域
●データ名A
DAMファイルとのインタフェースコードを「VALUE 'DCDAMINT'」と設定します。
●データ名C
作成する物理ファイル名を(スペシャルファイル名+14文字)以内のパス名で設定します。63文字に満たない場合は,後ろを空白で埋めてください。
●データ名D
OpenTP1ファイルシステム上に割り当てるブロックのブロック長を設定します。
32760を超えないセクタ長×n−8(nは正の整数)を満たす値を設定してください。
セクタ長は次のとおりです。
-
キャラクタ型スペシャルファイルの場合:filmkfsコマンドの-sオプション指定値
-
通常ファイルの場合:512バイト
●データ名G
OpenTP1ファイルシステム上に割り当てるブロック数を設定します。
設定できる範囲は1〜2147483647です。
●データ名H
入出力の単位となる,一括処理するブロック数を設定します。
設定できる範囲は0〜2147483647です。0を指定した場合は,10になります。
●データ名F
物理ファイルの割り当てを示す要求コードを「VALUE 'CRAT'」と設定します。
●データ名I
ファイル所有者のアクセス権を設定します。
VALUE 'N'…アクセス権なし
VALUE 'R'…読み出し権だけあり
VALUE 'W'…書き込み権だけあり
VALUE 'B'…読み出し権と書き込み権の両方あり
●データ名J
ファイル所有者グループのアクセス権を設定します。
VALUE 'N'…アクセス権なし
VALUE 'R'…読み出し権だけあり
VALUE 'W'…書き込み権だけあり
VALUE 'B'…読み出し権と書き込み権の両方あり
●データ名K
ファイル所有者以外のアクセス権を設定します。
VALUE 'N'…アクセス権なし
VALUE 'R'…読み出し権だけあり
VALUE 'W'…書き込み権だけあり
VALUE 'B'…読み出し権と書き込み権の両方あり
●データ名Z
0を設定します。
OpenTP1から値が返されるデータ領域
●データ名B
ステータスコードが,5けたの数字で返されます。
●データ名E
ファイル記述子が返されます。
ステータスコード
ステータスコード |
意味 |
---|---|
00000 |
ファイル記述子がデータ名Eに正常に設定されました。 |
01607 |
メモリが不足しました。 |
01608 |
データ名Cに設定した物理ファイルはオープン済みです。 |
01611 |
データ名I,データ名J,データ名Kに設定した値が間違っています。 |
01614 |
物理ファイル名が間違っています。 |
01615 |
一括処理ブロック数の値が間違っています。 |
01617 |
すでに同じ物理ファイル名が存在しています。 |
01618 |
OpenTP1ファイルシステムのバージョンが作成時と割り当て時で一致していません。 |
01620 |
入出力エラーが起こりました。 |
01628 |
スペシャルファイルに対するアクセス権はありません。 |
割り当てようとしたDAMファイルは,セキュリティ機能で保護されています。CBLDCDMB('CRAT')を呼び出したUAPには,アクセス権限がありません。 |
|
01630 |
ブロック長が適当な値ではありません。 |
01631 |
ブロック数が適当な値ではありません。 |
01632 |
物理ファイル名がキャラクタ型スペシャルファイルではありません。またはこのスペシャルファイルに対応する装置がありません。 |
01633 |
指定したOpenTP1ファイルが,OpenTP1ファイルシステムとして初期化されていません。 |
01634 |
OpenTP1ファイルシステムとして初期化したときに指定したファイル数以上のOpenTP1ファイル(物理ファイル)を割り当てようとしています。 |
01635 |
実行しているプロセスでオープンできるファイル数の最大値を超えた値を設定しています。 |
01636 |
データ名Cに設定した物理ファイルは,現在オンラインで使っています。またはほかのプロセスで使っています。 |
01640 |
OpenTP1ファイルシステムに,物理ファイルを割り当てる分の空き領域がありません。 |
01646 |
割り当てようとしたDAMファイルは,セキュリティ機能で保護されています。該当するファイルに対するACLがありません。 |
01690 |
インタフェースコード(データ名A)が間違っています。 |
01691 |
要求コード(データ名F)が間違っています。 |