MQBACK命令 - ローカルトランザクションのロールバック

機能

MQBACK命令では,最後の同期点以降に発生したメッセージの読み取りと書き込みをすべてロールバックすることをキューマネジャに指示します。トランザクションの一部として書き込まれたメッセージは削除されます。トランザクションの一部として取り出されたメッセージはキューに戻されます。

形式

C言語の場合

MQBACK (MQHCONN Hconn, MQLONG *CompCode, MQLONG *Reason)

COBOL言語の場合

CALL 'MQBACK' USING HCONN, COMPCODE, REASON.

引数

● Hconn(MQHCONN型) - input

コネクションハンドルです。

キューマネジャへの接続を示すハンドルです。MQCONN命令の戻り値を指定してください。

● CompCode(MQLONG型) - output

完了コードです。次のどれかが返されます。

MQCC_OK:成功

MQCC_WARNING:警告(一部成功)

MQCC_FAILED:失敗

● Reason(MQLONG型) - output

理由コードです。

表4-2 CompCode引数がMQCC_OKの場合(MQBACK命令の場合)

理由コード意味
MQRC_NONE理由コードはありません。

表4-3 CompCode引数がMQCC_WARNINGの場合(MQBACK命令の場合)

理由コード意味
MQRC_OUTCOME_PENDINGコミットまたはロールバック操作の結果が保留状態です。

表4-4 CompCode引数がMQCC_FAILEDの場合(MQBACK命令の場合)

理由コード意味
MQRC_CALL_IN_PROGRESS前の呼び出しが完了する前に,再度MQI呼び出しが実行されました。
MQRC_CONNECTION_BROKENキューマネジャとの接続が失われました。
MQRC_ENVIRONMENT_ERROR呼び出しが環境内で有効ではありません。
MQRC_HCONN_ERRORコネクションハンドルが無効です。
MQRC_OBJECT_DAMAGEDオブジェクトが破損しています。
MQRC_OUTCOME_MIXEDコミットまたはロールバック操作の結果が混合しています。
MQRC_Q_MGR_STOPPINGキューマネジャが終了処理中です。
MQRC_RESOURCE_PROBLEMシステム資源が不足しています。
MQRC_STORAGE_NOT_AVAILABLE記憶容量が不足しています。
MQRC_UNEXPECTED_ERROR予期しないエラーが発生しました。

「理由コード」の詳細については,マニュアル「TP1/Message Queue プログラム作成リファレンス」を参照してください。

注意事項