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).
機能
論理ファイルの現在の状態が返されます。返される内容を次に示します。
-
論理ファイルのブロック数
-
論理ファイルのブロック長
-
論理ファイルに対応した物理ファイル名
-
論理ファイルの現在の状態(閉塞されているかどうか)
-
DAMサービス定義で指定した論理ファイルの属性
-
DAMサービス定義で指定した論理ファイルのセキュリティ属性
論理ファイルの状態は,論理ファイルをオープンする前でも,オープンしたあとでも参照できます。
論理ファイルの状態を参照するときは,論理ファイル名を設定します。
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ファイルの状態を参照するのは,必要最小限にしてください。