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 |
この関数を発行できる状態ではありません。 |
注意事項
送信スキップ対象のメッセージがない場合は,正常扱いとなります。