Hitachi

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


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ではありません。

注意事項

  1. この関数は,トランザクション実行中に複数回発行できますが,最後に発行した関数で指定したメッセージ通番だけが有効となります。

  2. ee_scd_msg_receive関数を複数回発行した場合,この関数で指定したメッセージ通番以降の全メッセージが差し戻されます。

  3. トランザクション起動時に渡されたメッセージはこの関数で差し戻すことはできません。差し戻したい場合はトランザクションをロールバックさせてください。