Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option プログラム作成の手引


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

そのほかのエラーが発生しました。