dc_mcf_rollback
- 〈このページの構成〉
形式
ANSI C,C++の形式
#include <dcmcf.h> int dc_mcf_rollback(DCLONG action)
K&R版 C の形式
#include <dcmcf.h> int dc_mcf_rollback(action) DCLONG action;
機能
トランザクション属性を定義したMHPのサービスプログラムの開始から,dc_mcf_rollback関数までの処理を取り消します。actionにDCMCFRTRYを設定した場合は,MHPの開始からdc_mcf_rollback関数までの処理を取り消して,取り消した処理のMHPをスケジュールし直します。
UAPで値を設定する引数
●action
部分回復の種別を設定します。次のどれか一つを設定します。
- DCMCFRTRY
-
MHPを開始した時点から,dc_mcf_rollback関数までの処理を取り消して,MHPを異常終了します。取り消した処理はスケジュールし直します(受信メッセージを,該当する入力キューの最後に格納し,MHPをスケジュールし直します)。
MHPは異常終了しますが,UAP異常終了通知イベント(ERREVT3)は起動しません。また,アプリケーション異常終了限界回数にはカウントしません。アプリケーション属性定義(mcfaalcap)で異常終了時に閉塞する指定をしていても,アプリケーション,サービスグループ,およびサービスは閉塞しません。
- DCMCFRRTN
-
MHPを開始した時点から,dc_mcf_rollback関数までの処理を取り消して,リターンします。DCMCFRRTNを設定したdc_mcf_rollback関数が正常に終了したあとの処理は,別のトランザクションとして処理します。
- DCMCFNRTN
-
MHPを開始した時点から,dc_mcf_rollback関数までの処理を取り消します。dc_mcf_rollback関数からリターンしないで,MHPを異常終了します。
このとき,UAP異常終了通知イベント(ERREVT3)を起動します。また,アプリケーション異常終了限界回数にカウントします。アプリケーション属性定義(mcfaalcap)の指定によっては,アプリケーション,サービスグループ,およびサービスを閉塞します。
設定する値とシステムの動作の関係を,次の表に示します。
設定値 |
MHPの動作 |
ERREVT3の起動 |
各種閉塞処理 |
---|---|---|---|
DCMCFRTRY |
異常終了します。 |
起動しません。 |
閉塞しません。 |
DCMCFRRTN |
関数がリターンします。 |
起動しません。 |
閉塞しません。 |
DCMCFNRTN |
異常終了します。 |
起動します。 |
アプリケーション属性定義(mcfaalcap)の指定によっては,アプリケーション,サービスグループ,およびサービスが閉塞することがあります。 |
リターン値
リターン値 |
リターン値(数値) |
意味 |
---|---|---|
DCMCFRTN_00000 |
0 |
正常に終了しました。 |
DCMCFRTN_72000 |
-13000 |
<MHPの実行でリターンした場合> dc_mcf_rollback関数を呼び出した位置が間違っています。MHPで先頭セグメントを受信するdc_mcf_receive関数を呼び出す前に,actionにDCMCFRRTNを設定したdc_mcf_rollback関数を呼び出しています。 非トランザクション属性のMHPから,dc_mcf_rollback関数を呼び出しています。 |
<SPPの実行でリターンした場合> SPPでは,dc_mcf_rollback関数は呼び出せません。 |
||
DCMCFRTN_72027 |
-13027 |
actionに設定した値が間違っています。 |
上記以外 |
プログラムの破壊などによる,予期しないエラーが発生しました。 |