Hitachi

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


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からのアクセス要求は,すべて論理閉塞エラーになります。

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を正しくリンケージしていません。

  • DAMサービスのAPIでTAMファイルにアクセスする場合に使うライブラリ(-ltdam)を,不当にリンケージしています。

  • トランザクション制御用オブジェクトファイルのリソースマネジャ登録が間違っています。

01601

設定された論理ファイル名は定義されていません。

01607

メモリが不足しました。

01610

論理ファイル名として設定した値が間違っています。

01618

UAPが,現在稼働しているDAMサービスでは動作できないバージョンのDAMライブラリと結合されています。

01625

データ名Cに設定した論理ファイル名は,すでに論理閉塞しています。

01626

データ名Cに設定した論理ファイル名は,すでに障害閉塞しています。

01628

アクセスしようとしたDAMファイルは,セキュリティ機能で保護されています。論理ファイルを閉塞しようとしたUAPには,アクセス権限がありません。

01646

閉塞しようとしたDAMファイルは,セキュリティ機能で保護されています。該当するファイルに対するACLがありません。

01690

インタフェースコード(データ名A)が間違っています。

01691

要求コード(データ名E)が間違っています。