Hitachi

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


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関数を呼び出せる状態ではありません。

注意事項

  1. このAPI関数は,対象ロットのサービストランザクションからだけ呼び出せます。

  2. このAPI関数を呼び出したトランザクションの実行中に計画停止Bでシステムを停止すると,API関数は正常に終了しますが,メッセージの読み出しはスキップされない場合があります。また,読み出しスキップ処理中に障害が発生すると,メッセージの読み出しがスキップされない場合があります。この場合,同一メッセージを読み出したときに,再度このAPI関数を呼び出してください。

  3. 呼び出し元トランザクションがロールバックしたときに,メッセージの読み出しがスキップされます。

  4. このAPI関数の動作はオンラインバッチ機能関連定義のdbq_obs_trn_end_apiオペランドの指定値に依存します。dbq_obs_trn_end_apiオペランドの指定値がYの場合,ee_trn_chained_commit関数またはee_trn_chained_rollback関数の呼び出し以降,このAPI関数は受け付けません。