ee_scd_msg_rollback【XTC限定】
形式
ANSI C,C++の形式
#include <eescd.h> int ee_scd_msg_rollback(EEULONG msg_no,EELONG flags)
機能
トランザクションの終了状態に関係なく,滞留メッセージの受信関数(ee_scd_msg_receive関数)で読み出したメッセージを差し戻します(ロールバックさせます)。
UAPで値を設定する引数
●msg_no
差し戻したいメッセージのメッセージ通番を設定します。
●flags
EENOFLAGSを設定します。
リターン値
リターン値 |
意味 |
---|---|
EE_OK |
正常に終了ました。 |
EECOMER_CNDBPP |
オフラインバッチプロセスから発行しているため,この機能は使用できません。 |
EECOMER_CNDUOC |
UOCから発行しているため,この機能は使用できません。 |
EECOMER_ENVIRON |
TP1/EEの環境下にありません。 |
EESCDER_ARGUMENT |
引数に設定した値が間違っています。 |
EESCDER_CONDITION |
発行条件が不正です(プロセス関連定義のxtc_useオペランドにNを指定してこの関数を発行)。 |
EESCDER_INVALID_MESSAGE |
トランザクション起動時のメッセージが滞留メッセージ読み出し対象メッセージではありません。 |
EESCDER_INVALID_NUMBER |
指定したメッセージ通番が不正です(通番範囲外,またはee_scd_msg_receive関数未発行)。 |
EESCDER_INVALID_TRNTYPE |
この関数を発行できるサービスではありません(サービス属性定義でservice_attr -e serialを指定していないサービスでこの関数を発行)。または,トランザクション種別がMNまたはTMではありません。 |
注意事項
-
この関数は,トランザクション実行中に複数回発行できますが,最後に発行した関数で指定したメッセージ通番だけが有効となります。
-
ee_scd_msg_receive関数を複数回発行した場合,この関数で指定したメッセージ通番以降の全メッセージが差し戻されます。
-
トランザクション起動時に渡されたメッセージはこの関数で差し戻すことはできません。差し戻したい場合はトランザクションをロールバックさせてください。