Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス COBOL言語編


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)が間違っています。