Hitachi

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


CBLDCDAM('STAT')

〈このページの構成〉

名称

論理ファイルの状態の参照

形式

PROCEDURE DIVISION の指定

CALL  'CBLDCDAM'  USING  一意名1  一意名2  一意名3

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 データ名E  PIC S9(9) COMP  VALUE  ZERO.
   02 データ名F  PIC S9(9) COMP.
   02 データ名G  PIC S9(9) COMP.
   02 FILLER    PIC S9(9) COMP.
   02 データ名H  PIC X(1).
   02 データ名I  PIC X(1).
   02 データ名J  PIC X(1).
   02 FILLER    PIC X(1).
   02 FILLER    PIC X(20).
01 一意名2.
   02 データ名D  PIC X(4) VALUE 'STAT'.
   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.
01 一意名3.
   02 データ名K  PIC X(64).

機能

論理ファイルの現在の状態が返されます。返される内容を次に示します。

論理ファイルの状態は,論理ファイルをオープンする前でも,オープンしたあとでも参照できます。

論理ファイルの状態を参照するときは,論理ファイル名を設定します。

UAPで値を設定するデータ領域

●データ名A

DAMファイルとのインタフェースコードを「VALUE 'DCDAMSVC'」と設定します。

●データ名C

論理ファイル名を,8文字以内で設定します。8文字に満たない場合は,後ろを空白で埋めてください。

●データ名E

0を設定します。

●データ名D

論理ファイルの状態の参照を示す要求コードを「VALUE 'STAT'」と設定します。

●データ名Z

0を設定します。

OpenTP1から値が返されるデータ領域

●データ名B

ステータスコードが,5けたの数字で返されます。

●データ名F

論理ファイルのブロック長が返されます。

●データ名G

論理ファイルのブロック数が返されます。

●データ名H

論理ファイルの現在の状態が,次に示すどれかの値で設定されます。

VALUE 'N' … 論理ファイルへアクセスできます。

VALUE 'L' … 論理ファイルは,論理閉塞されています。

VALUE 'O' … 論理ファイルは,障害閉塞されています。

VALUE 'H' … 論理ファイルへ閉塞要求中です。

●データ名I

DAMサービス定義で指定した論理ファイルの属性が,次に示すどれかの値で設定されます。

VALUE 'Q' … ディファード更新処理の対象でないDAMファイルです。

VALUE 'D' … ディファード更新処理対象のDAMファイルです。

VALUE 'N' … 回復対象外のDAMファイルです。

VALUE 'C' … キャッシュレスアクセス指定の回復対象外のDAMファイルです。

●データ名J

DAMサービス定義で指定した論理ファイルのセキュリティ属性が,次に示すどれかの値で設定されます。

VALUE 'N' … セキュリティの指定はありません。

VALUE 'S' … セキュリティの指定があります。

●データ名K

論理ファイルに対応した物理ファイル名が設定されます。

ステータスコード

ステータスコード

意味

00000

データ名Hに,論理ファイルの状態を正常に設定しました。

01600

CBLDCRPC('OPEN ')を呼び出していません。

ユーザサービス定義のatomic_updateオペランドの指定が'N'になっています(回復対象のDAMファイルにアクセスした場合だけリターンされます)。

CBLDCDAM('STRT')を呼び出していません(回復対象外のDAMファイルにアクセスした場合だけリターンされます)。

01601

データ名Cに設定した論理ファイル名は定義されていません。

01607

メモリが不足しました。

01610

データ名Cに設定した論理ファイル名が間違っています。

01611

データ名Eに設定した値が間違っています。

01612

OpenTP1から値が返されるデータ名に設定した値が間違っているか,空白が設定されていません。

01618

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

01628

状態を参照しようとしたDAMファイルは,セキュリティ機能で保護されています。CBLDCDAM('STAT')を呼び出したUAPには,アクセス権限がありません。

01646

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

01690

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

01691

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

注意事項

DAMファイルの状態を参照すると,DAMサービスは情報を取得するための排他制御をします。そのため,CBLDCDAM('STAT')を頻繁に呼び出すと,排他解除待ち時間が起こってスループットが低下することがあります。オンライン中にDAMファイルの状態を参照するのは,必要最小限にしてください。