CBLEEDBQ('INQUIRE ')
- 〈このページの構成〉
形式
PROCEDURE DIVISIONの指定
CALL 'CBLEEDBQ' USING 一意名1 一意名2
DATA DIVISIONの指定
01 一意名1. 02 データ名A PIC X(8) VALUE 'INQUIRE '. 02 データ名B PIC X(5). 02 FILLER PIC X(3). 02 データ名C PIC S9(9) COMP VALUE ZERO. 02 データ名D PIC X(28). 01 一意名2. 02 データ名E PIC X(32). 02 データ名F PIC X(32). 02 データ名G PIC X(28). 02 データ名H PIC X(32). 02 データ名I PIC 9(9) COMP. 02 データ名J PIC 9(9) COMP. 02 データ名K PIC 9(9) COMP. 02 データ名L PIC 9(9) COMP. 02 データ名M PIC 9(9) COMP.
機能
DBキューの情報を照会します。ユーザキューアクセス機能を使用するDBキューでは,使用できません。CBLEEDBQ('INQUIRE2')を使用してください。
UAPで値を設定するデータ領域
●データ名A
DBキュー情報の照会を示す要求コードを「VALUE 'INQUIRE△'」と設定します。
●データ名C
要求種別を設定します。
- 1
-
DBキュー読み出しサーバ変更機能またはDBキュー書き込み抑止機能を使用する場合に設定します。このフラグを設定すると,最新のDBキュー情報を照会します。
- 0
-
DBキュー読み出しサーバ変更機能およびDBキュー書き込み抑止機能以外の機能を使用する場合に設定します。このフラグを設定すると,DBキュー情報を照会します。
●データ名D
DBキュー名を27バイト以内のアスキー文字列で設定します。文字列の末尾には空白を付けてください。この空白は文字列の長さに数えません。
TP1/EEから値が返されるデータ領域
●データ名E
指定したDBキューに接続しているDBキューサービス名が返されます。接続していない場合はLOW-VALUEを設定します。
●データ名F
指定したDBキューが属するDBキューグループ名が返されます。文字列の最後はLOW-VALUEです。
●データ名G
CBLEEDBQ('INQUIRE ')を呼び出すときにデータ名Dに設定したDBキュー名が返されます。文字列の最後はLOW-VALUEです。
●データ名H※1
指定したDBキューを読み出すサービスグループ名が返されます。文字列の最後はLOW-VALUEです。
DBキュー機能関連定義のdbqgrpdef定義コマンドに-fオプションを指定した場合,または,-kオプションに1を指定した場合で,DBキューからメッセージを読み出すサーバを確認できないとき,およびDBキューからメッセージを読み出すサーバにサービスグループ名がないときは,LOW-VALUEを設定します。
●データ名I
- ステータスコード1
-
DBキューの状態が返されます。※1
- 0
-
正常
- 1
-
障害による読み出し停止中
- 2
-
コマンド,TP1/EEサービス定義,または関数による読み出し停止中
- 4
-
DB構成不正またはDBキューの内容矛盾による使用不可
- 8
-
リソースマネジャ未接続で使用不可
- ステータスコード2
-
DBキューの状態が返されます。
- 4096
-
書き込み抑止※1,※2
このステータスは,ステータスコード1が4または8の場合は無効となります。
●データ名J
DBキューへ最後に書き込んだメッセージの通番が返されます。※3
●データ名K
DBキューから最後に読み出したメッセージの通番が返されます。※3
●データ名L
DBキュー機能関連定義のdbqdef定義コマンドで指定した最大書き込みメッセージ数と同一の値が返されます。
●データ名M
未読み出しメッセージ数が返されます。※3
- 注※1
-
データ名Cに1を指定し,かつDBキュー機能関連定義のdbqgrpdef定義コマンドの-kオプションに1を指定した場合,DBキューから情報を読み込みます。
- 注※2
-
データ名Cに1を指定し,かつDBキュー機能関連定義のdbqgrpdef定義コマンドの-kオプションに1を指定した場合,ほかの状態と加算した値が返されます。コマンド,TP1/EEサービス定義,または関数による読み出し停止中(2)で,かつ書き込み抑止(4096)の場合,4098になります。
- 注※3
-
ステータスコードが次の場合,値は参照できません。
- VALUE 'E'
-
DB構成不正またはDBキューの内容矛盾による使用不可
- VALUE 'R'
-
リソースマネジャ未接続で使用不可
また,該当するDBキューの形態が相手読み出しDBキューの場合,値は返されません。
●データ名B
ステータスコードが,5けたの数字で返されます。
ステータスコード
ステータスコード |
意味 |
---|---|
00000 |
正常に終了しました。 |
00001 |
TP1/EEの環境下にありません。 |
00004 |
UOCから発行しているため,この機能は使用できません。 |
00005 |
オフラインバッチプロセスから発行しているため,この機能は使用できません。 |
05601 |
データ名に設定した値が間違っています。 |
05602 |
DBキュー機能は使用できません。 |
05603 |
この関数を呼び出せる状態ではありません。
|
05604 |
データ名に設定したDBキュー名は存在しません。 |
05605 |
該当するスレッドではリソースマネジャに接続されていません。 |
05609 |
リソースマネジャへのアクセス時にエラーが発生しました。 |
05621 |
関数の呼び出し条件が不正です。 |
05623 |
DBキュー機能のライブラリがリンケージされていません。 |
05627 |
AP間通信機能を使用するDBキューではありません。 |
05639 |
HiRDBの暗黙的ロールバックが発生したため,CBLEETRN('ROLLMARK')を呼び出しました。 |
注意事項
-
DBキュー読み出しサーバ変更機能またはDBキュー書き込み抑止機能を使用する場合,次に示す点に注意してください。
-
データ名Cに1を設定してください。ただし,1を設定し,かつDBキュー機能関連定義のdbqgrpdef定義コマンドの-kオプションに1を指定した場合,DBアクセスが発生するため,TP1/EEの性能が低下します。
-
データ名Cに0を設定しないでください。0を設定し,かつDBキュー機能関連定義のdbqgrpdef定義コマンドの-kオプションに1を指定した場合,データ名Hやデータ名Iのステータスコード1に最新のDBキュー情報が返らないことがあります。
-
-
ほかのTP1/EEでCBLEEDBQ('CLEAR ')またはeedbqtblhコマンドで通番の強制初期化を行った場合,CBLEEDBQ('INQUIRE ')は初期化前の通番を返すことがあります。強制初期化後の通番を知りたい場合は,CBLEEDBQ('INQUIRE2')を使用してください。