ee_dbq_obsinquire
- 〈このページの構成〉
形式
ANSI C,C++の形式
#include <eedbq.h> int ee_dbq_obsinquire(char *batchque_name, char *lot_name, EEDBQOINF *dbqobs_inf, EELONG flags)
機能
ロットの情報を照会します。
UAPで値を設定する引数
●batchque_name
DBキュー名を27バイト以内のアスキー文字列で設定します。文字列の末尾にはNULL文字を付けてください。このNULL文字は文字列の長さに数えません。
●lot_name
ロット名を23バイト以内のアスキー文字列で設定します。文字列の末尾にはNULL文字を付けてください。このNULL文字は文字列の長さに数えません。
●dbqobs_inf
照会したDBキュー情報を格納するための構造体ポインタのアドレスを設定します。
●flags
EENOFLAGSを設定します。
TP1/EEから値が返される引数
●dbqobs_inf
DBキュー情報が構造体EEDBQOINFで返されます。構造体の形式は次のとおりです。
struct ee_dbq_obsinf_t{ char service_name[32]; char dbque_name[28]; char lot_name[24]; EEULONG sts_code; EEULONG lot_type; EEULONG write_event_num; EEULONG read_num; EEULONG skip_num; EEULONG unread_count; }EEDBQOINF;
-
service_name(サービス名)
指定したロットに現在接続しているサービス名を返します。※1
-
dbque_name(DBキュー名)
batchque_nameに設定したDBキュー名をそのまま返します。
-
lot_name(ロット名)
lot_nameに設定したロット名をそのまま返します。
-
sts_code(ステータスコード)
ロットの状態を返します。
- EEDBQ_OBS_STATUS_NORMAL
-
実行中
- EEDBQ_OBS_STATUS_PSTOP
-
障害による読み出し中断中
- EEDBQ_OBS_STATUS_CSTOP
-
運用による読み出し中断中
- EEDBQ_OBS_STATUS_DEACT
-
未起動
- EEDBQ_OBS_STATUS_RSTOP
-
回復処理失敗による中断中
- EEDBQ_OBS_STATUS_NSTOP
-
正常終了トランザクション障害による中断中
- EEDBQ_OBS_STATUS_RNSTOP
-
回復処理失敗による正常終了トランザクション中断中,または正常終了トランザクション障害による中断中の回復処理失敗
- EEDBQ_OBS_STATUS_END_EXEC
-
正常,中断,または強制終了トランザクション実行中
- EEDBQ_OBS_STATUS_RRN_EXEC
-
回復処理失敗による中断の終了トランザクション実行中
-
lot_type(該当するロットのオンラインバッチ処理形態)
ロットのオンラインバッチ処理形態を返します。※1
- EEDBQ_OBS_TYPE_DATA
-
データ型オンラインバッチ処理
- EEDBQ_OBS_TYPE_EVNT
-
イベント型オンラインバッチ処理
-
write_event_num(該当するロットの全メッセージ数)
DBキュー内の該当するロットのメッセージ数を返します。※1,※2
-
read_num(読み出し済みメッセージ数)
該当するロットの読み出し済みメッセージ数を返します。※1,※2
-
skip_num(スキップメッセージ数)
該当するロットのスキップメッセージ数を返します。※1,※2
-
unread_count(未読み出しメッセージ数)
未読み出しメッセージ数を返します。※1,※2
- 注※1
-
ステータスコードがEEDBQ_OBS_STATUS_DEACT以外のときに値が返ります。
- 注※2
-
該当するロットのlot_typeがEEDBQ_OBS_TYPE_EVNTで,ステータスコードがEEDBQ_OBS_STATUS_RSTOP,EEDBQ_OBS_STATUS_RNSTOP,またはEEDBQ_OBS_STATUS_RRN_EXECのときは値が返りません。
リターン値
リターン値 |
意味 |
---|---|
EE_OK |
正常に終了しました。 |
EECOMER_CNDBPP |
オフラインバッチプロセスから発行しているため,この機能は使用できません。 |
EECOMER_CNDUOC |
UOCから発行しているため,この機能は使用できません。 |
EECOMER_ENVIRON |
TP1/EEの環境下にありません。 |
EEDBQER_ARGUMENT |
引数に設定した値が間違っています。 |
EEDBQER_NO_DBQUE |
引数に設定したDBキュー名は存在しません。 |
EEDBQER_NO_LIBRARY |
オンラインバッチ機能のライブラリがリンケージされていません。 |
EEDBQER_NO_LOT |
引数に設定したロット名は存在しません。または,対象のロットではありません。 |
EEDBQER_NO_OPTION |
DBキュー機能は使用できません。 |
EEDBQER_TIMING |
このAPI関数を呼び出せる状態ではありません。 |
EEDBQER_UNRESOLVABLE |
そのほかのエラーが発生しました。 |