ee_dbq_obsrbskip
形式
ANSI C,C++の形式
#include <eedbq.h> int ee_dbq_obsrbskip (EELONG flags)
機能
データ型オンラインバッチ処理の場合で,トランザクションのロールバック要求時に,読み出したメッセージのロールバック処理(メッセージ読み出し通番の戻し)をしないようにします。コミット要求があった場合には,この機能は無効となります。
UAPで値を設定する引数
●flags
EENOFLAGSを設定します。
リターン値
リターン値 |
意味 |
---|---|
EE_OK |
正常に終了しました。 |
EECOMER_CNDBPP |
オフラインバッチプロセスから発行しているため,この機能は使用できません。 |
EECOMER_CNDUOC |
UOCから発行しているため,この機能は使用できません。 |
EECOMER_ENVIRON |
TP1/EEの環境下にありません。 |
EEDBQER_ARGUMENT |
引数に設定した値が間違っています。 |
EEDBQER_CONDITION |
関数の呼び出し条件が不正です。 |
EEDBQER_NO_LIBRARY |
オンラインバッチ機能のライブラリがリンケージされていません。 |
EEDBQER_NO_OPTION |
DBキュー機能は使用できません。 |
EEDBQER_OBJECT_TRN |
対象ロットのサービストランザクションから呼び出されていません。 |
EEDBQER_RETRY_OVER |
次にロールバック要求すると,同一メッセージ処理のロールバック監視回数を超えるため,要求を受け付けません。 |
EEDBQER_TIMING |
このAPI関数を呼び出せる状態ではありません。 |
注意事項
-
このAPI関数は,対象ロットのサービストランザクションからだけ呼び出せます。
-
このAPI関数を呼び出したトランザクションの実行中に計画停止Bでシステムを停止すると,API関数は正常に終了しますが,メッセージの読み出しはスキップされない場合があります。また,読み出しスキップ処理中に障害が発生すると,メッセージの読み出しがスキップされない場合があります。この場合,同一メッセージを読み出したときに,再度このAPI関数を呼び出してください。
-
呼び出し元トランザクションがロールバックしたときに,メッセージの読み出しがスキップされます。
-
このAPI関数の動作はオンラインバッチ機能関連定義のdbq_obs_trn_end_apiオペランドの指定値に依存します。dbq_obs_trn_end_apiオペランドの指定値がYの場合,ee_trn_chained_commit関数またはee_trn_chained_rollback関数の呼び出し以降,このAPI関数は受け付けません。