CBLDCDAM('HOLD')
- 〈このページの構成〉
形式
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 FILLER PIC X(32). 01 一意名2. 02 データ名E PIC X(4) VALUE 'HOLD'. 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.
機能
論理ファイルを論理閉塞します。論理ファイルを閉塞したあとには,ここに設定した論理ファイルに対する,ほかのUAPからのアクセス要求は,すべて論理閉塞エラーになります。
-
回復対象のDAMファイルの場合
CBLDCDAM('HOLD')を呼び出した場合に,設定した論理ファイルがほかのトランザクションでコミット処理中のときは,コミット処理が終了したあとに閉塞します。ただし,コミット処理が完了していなくても,制御はCBLDCDAM('HOLD ')を呼び出したUAPにリターンします。
UAPで値を設定するデータ領域
●データ名A
DAMファイルとのインタフェースコードを「VALUE 'DCDAMSVC'」と設定します。
●データ名C
論理ファイル名を8文字で設定します。8文字に満たない場合は,後ろを空白で埋めてください。
●データ名E
論理ファイルの閉塞を示す要求コードを「VALUE 'HOLD'」と設定します。
●データ名Z
0を設定します。
OpenTP1から値が返されるデータ領域
●データ名B
ステータスコードが,5けたの数字で返されます。
ステータスコード
ステータスコード |
意味 |
---|---|
00000 |
設定したファイルは正常に閉塞しました。 |
01600 |
CBLDCRPC('OPEN ')を呼び出していません。 |
ユーザサービス定義のatomic_updateオペランドの指定が'N'になっています(回復対象のDAMファイルにアクセスした場合だけリターンされます)。 |
|
CBLDCDAM('STRT')を呼び出していません(回復対象外のDAMファイルにアクセスした場合だけリターンされます)。 |
|
次に示すように,UAPを正しくリンケージしていません。
|
|
01601 |
設定された論理ファイル名は定義されていません。 |
01607 |
メモリが不足しました。 |
01610 |
論理ファイル名として設定した値が間違っています。 |
01618 |
UAPが,現在稼働しているDAMサービスでは動作できないバージョンのDAMライブラリと結合されています。 |
01625 |
データ名Cに設定した論理ファイル名は,すでに論理閉塞しています。 |
01626 |
データ名Cに設定した論理ファイル名は,すでに障害閉塞しています。 |
01628 |
アクセスしようとしたDAMファイルは,セキュリティ機能で保護されています。論理ファイルを閉塞しようとしたUAPには,アクセス権限がありません。 |
01646 |
閉塞しようとしたDAMファイルは,セキュリティ機能で保護されています。該当するファイルに対するACLがありません。 |
01690 |
インタフェースコード(データ名A)が間違っています。 |
01691 |
要求コード(データ名E)が間違っています。 |