Hitachi

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


ee_mch_otqskip【XTC限定】

〈このページの構成〉

名称

一方送信メッセージの送信スキップ

形式

ANSI C,C++の形式

#include <eemch.h>
int ee_mch_otqskip(char * group, char *service, EEULONG skip_flg,
                   EEULONG number, EELONG flags)

機能

指定した通番までのトランザクション非同期の一方送信メッセージを送信済み状態として,出力キュー(OTQ)から破棄します。

指定したサービスグループ下のサービス名に対応する出力キューのメッセージを送信済み状態とします。一方送信メッセージの送信スキップ要求は,該当の出力キューが閉塞している場合だけ受け付けられます。

UAPで値を設定する引数

●group

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

●service

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

●skip_flg

次のフラグを設定します。

EEMCH_SKIP_ALL

出力キューに格納しているすべてのメッセージを送信済みにします。

EEMCH_SKIP_ONE

出力キューに格納している未送信(送信失敗含む)の1メッセージを送信済みにします。

EEMCH_SKIP_NUM

numberで設定された出力キューの通番までのメッセージを送信済みにします。

●number

送信済みとする出力キューの通番を設定します。

設定した出力キューの通番と一致する出力キューの通番の未送信メッセージがある場合は,設定した通番まで送信をスキップします。

設定した出力キューの通番と一致する出力キューの通番の未送信メッセージがない場合は,送信をスキップしないで正常終了します。

●flags

EENOFLAGSを設定します。

リターン値

リターン値

意味

EE_OK

正常に終了しました。

EECOMER_CNDBPP

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

EECOMER_CNDUOC

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

EECOMER_ENVIRON

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

EEMCHER_ARGUMENT

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

EEMCHER_CONDITION

発行条件が不正です。

EEMCHER_MEMORY_SHORT

メモリが不足しました。

EEMCHER_NO_SUCH_SERVICE

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

EEMCHER_NO_SUCH_SERVICE_GROUP

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

EEMCHER_SYSERR

システムエラーが起こりました。

EEMCHER_TIMING

この関数を発行できる状態ではありません。

注意事項

送信スキップ対象のメッセージがない場合は,正常扱いとなります。