Hitachi

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


ee_mch_otqinquire【XTC限定】

〈このページの構成〉

名称

出力キュー(OTQ)の情報の照会

形式

ANSI C,C++の形式

#include <eemch.h>
int ee_mch_otqinquire (char * group, char *service,
                       EEMCH_OTQINF *otq_inf, EELONG flags)
 
typedef struct ee_mch_otq_inf_t{  /*出力キュー(OTQ)の情報取得構造体 */
        EEULONG sts_code;         /*閉塞状態                          */
        EEULONG request_num;      /*送信要求済み出力キューの通番      */
        EEULONG send_num;         /*送信済み出力キューの通番          */
        EEULONG unwrite_count;    /*未送信メッセージ数                */
        char dct_level;           /*閉塞レベル                        */
        char dummy[239];          /*予備                              */
}EEMCH_OTQINF;

機能

指定したサービスグループ下のサービス名に対応する出力キュー(OTQ)の情報を照会します。照会対象のメッセージは,トランザクション非同期の一方送信メッセージです。

UAPで値を設定する引数

●group

SPPのサービスグループ名を,31バイト以内のアスキー文字列で設定します。文字列の最後にはNULL文字を設定してください。このNULL文字は文字列の長さに数えません。

●service

SPPのサービス名を,31バイト以内のアスキー文字列で設定します。文字列の最後にはNULL文字を設定してください。このNULL文字は文字列の長さに数えません。

●otq_inf

照会した出力キューの情報を格納するための構造体ポインタのアドレスを設定します。

●flags

EENOFLAGSを設定します。

TP1/EEから値が返される引数

●otq_inf

照会した出力キューの情報格納構造体に次の情報が設定されます。

  • 閉塞状態

    出力キューの状態が次のコードで返されます。

    EEMCH_OTQ_STATUS_NORMAL

    正常

    EEMCH_OTQ_STATUS_BLOCKADE_AUTO

    自動閉塞中

    EEMCH_OTQ_STATUS_BLOCKADE_API

    関数による閉塞中

    EEMCH_OTQ_STATUS_BLOCKADE_CMD

    コマンドによる閉塞中

  • 送信要求済み出力キューの通番

    出力キューへ最後に送信要求した,トランザクション非同期の一方送信メッセージの出力キューの通番が返されます。

  • 送信済み出力キューの通番

    出力キューから最後に送信した,トランザクション非同期の一方送信メッセージの出力キューの通番が返されます。

  • 未送信メッセージ数

    未送信(送信失敗含む)のメッセージ数が返されます。

  • 閉塞レベル

    出力キューの閉塞レベルが返されます。

    EEMCH_DCT_LEVEL_G

    サービスグループレベル

    EEMCH_DCT_LEVEL_S

    サービスレベル

    EEMCH_DCT_LEVEL_N

    閉塞中でない

リターン値

リターン値

意味

EE_OK

正常に終了しました。

EECOMER_CNDBPP

オフラインバッチプロセスから発行しているため,この機能は使用できません。

EECOMER_CNDUOC

UOCから発行しているため,この機能は使用できません。

EECOMER_ENVIRON

TP1/EEの環境下にありません。

EEMCHER_ARGUMENT

引数に設定した値が間違っています。

EEMCHER_CONDITION

発行条件が不正です。

EEMCHER_NO_SUCH_SERVICE

serviceに設定したサービス名は,定義されていません。

EEMCHER_NO_SUCH_SERVICE_GROUP

groupに設定したサービスグループ名は,定義されていません。