CBLDCDAM('CLOS')
- 〈このページの構成〉
形式
PROCEDURE DIVISIONの指定
CALL 'CBLDCDAM' USING 一意名1 一意名2
DATA DIVISIONの指定
01 一意名1. 02 データ名A PIC X(8) VALUE 'DCDAMSVC'. 02 データ名B PIC X(5). 02 FILLER PIC X(3). 02 データ名C PIC X(8). 02 FILLER PIC S9(9) COMP. 02 FILLER PIC S9(9) COMP. 02 データ名H PIC S9(9) COMP. 02 FILLER PIC X(28). 01 一意名2. 02 データ名E PIC X(4) VALUE 'CLOS'. 02 FILLER 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.
機能
論理ファイルをクローズします。
-
回復対象のDAMファイルの場合
トランザクション処理の範囲内でオープンした論理ファイルのうち,トランザクションの終了までにクローズしていないものは,DAMサービスが同期点処理時にクローズします。ただし,トランザクションの範囲外(CBLDCTRN('BEGIN ')を呼び出す前)にオープンした場合や,回復対象外のDAMファイルは,クローズしません。
トランザクションの開始前に論理ファイルをオープンしたときは,UAP終了時に必ずクローズしてください。
-
回復対象外のDAMファイルの場合
トランザクション処理とは同期しないため,論理ファイルをクローズするときに任意にCBLDCDAM('CLOS')を呼び出せます。ただし,CBLDCDAM('END ')を呼び出す前に,オープンしている論理ファイルをCBLDCDAM('CLOS')でクローズしておいてください。
論理ファイルをクローズするときは,CBLDCDAM('OPEN')で返されたファイル記述子を設定します。
UAPで値を設定するデータ領域
●データ名A
DAMファイルとのインタフェースコードを「VALUE 'DCDAMSVC'」と設定します。
●データ名C
論理ファイル名を8文字で設定します。8文字に満たない名称を設定するときは,後ろを空白で埋めてください。
●データ名E
論理ファイルのクローズを示す要求コードを「VALUE 'CLOS'」と設定します。
●データ名H
論理ファイルをオープンしたときに返されたファイル記述子を設定します。
●データ名Z
0を設定します。
OpenTP1から値が返されるデータ領域
●データ名B
ステータスコードが,5けたの数字で返されます。
ステータスコード
ステータスコード |
意味 |
---|---|
00000 |
論理ファイルを正常にクローズしました。 |
01600 |
CBLDCRPC('OPEN ')を呼び出していません。 |
トランザクションの範囲外でオープンしているDAMファイルを,トランザクションの範囲内でクローズしています(回復対象のDAMファイルにアクセスした場合だけリターンされます)。 |
|
ユーザサービス定義のatomic_updateの指定が'N'になっています(回復対象のDAMファイルにアクセスした場合だけリターンされます)。 |
|
CBLDCDAM('STRT')を呼び出していません(回復対象外のDAMファイルにアクセスした場合だけリターンされます)。 |
|
次に示すように,UAPを正しくリンケージしていません。
|
|
01603 |
設定したファイル記述子は,正常にオープンして得られた記述子ではありません。 |
DAMファイルをオープンしていません。 |
|
01690 |
インタフェースコード(データ名A)が間違っています。 |
01691 |
要求コード(データ名E)が間違っています。 |