CBLDCMCF('ROLLBACK')
名称
MHPのロールバック
形式
PROCEDURE DIVISIONの指定
CALL 'CBLDCMCF' USING 一意名1
DATA DIVISIONの指定
01 一意名1.
02 データ名A PIC X(8) VALUE 'ROLLBACK'.
02 データ名B PIC X(5).
02 FILLER PIC X(3).
02 データ名C PIC X(4).
02 データ名D PIC X(12).
機能
トランザクション属性を定義したMHPのサービスプログラムの開始から,ここまでの処理を取り消します。データ名Cに「'RTRY'」を設定した場合は,MHPの開始からロールバックまでの処理を取り消して,取り消した処理のMHPをスケジュールし直します。
UAPで値を設定するデータ領域
●データ名A
部分回復を示す要求コードを「VALUE 'ROLLBACK'」と設定します。
●データ名C
部分回復の種別を設定します。次のどれか一つを設定します。
設定する値とシステムの動作の関係を,次の表に示します。
表2-2 設定する値とシステムの動作の関係(CBLDCMCF('ROLLBACK'))
設定値 | MHPの動作 | ERREVT3の起動 | 各種閉塞処理 |
---|---|---|---|
'RTRY' | 異常終了します。 | 起動しません。 | 閉塞しません。 |
'RTN△' | CALL文がリターンします。 | 起動しません。 | 閉塞しません。 |
'NRTN' | 異常終了します。 | 起動します。 | アプリケーション属性定義(mcfaalcap)の指定によっては,アプリケーション,サービスグループ,およびサービスが閉塞することがあります。 |
●データ名D
「LOW-VALUE」を設定します。
OpenTP1から値が返されるデータ領域
●データ名B
ステータスコードが,5けたの数字で返されます。
ステータスコード
ステータスコード | 意味 |
---|---|
00000 | 正常に終了しました。 |
72000 | <MHPの実行でリターンした場合> 先頭セグメントを受信する CBLDCMCF('RECEIVE ')を呼び出す前に,データ名Cに「'RTN△'」を設定した CBLDCMCF('ROLLBACK')を呼び出しています。 非トランザクション属性のMHPから,CBLDCMCF('ROLLBACK') を呼び出しています。 |
<SPPの実行でリターンした場合> SPPでは,CBLDCMCF('ROLLBACK')を呼び出せません。 | |
72016 | データ名Dに設定した値が間違っています。 |
72027 | 部分回復種別(データ名C)に設定した値が間違っています。 |
72028 | データ名Aに設定した値が間違っています。 |
上記以外 | プログラムの破壊などによる,予期しないエラーが起こりました。 |