13.2 処理の流れ
UAPでリトライロールバックAPI(ee_trn_retry_rollback())を発行すると,当該トランザクションをロールバックします。thkindにEETRN_ABRTが指定され,trn_max_retry_countまたはservice_attr -rで指定したリトライ回数を超過した場合,メモリダンプファイルとCOBOL異常終了時要約リストを出力します。また,リトライロールバック前処理UOC使用時は次に示すリターン値によって,トランザクションを再実行するかどうかが異なります。
-
リターン値がEETRN_UOC_OKの場合
トランザクションを再実行します。リトライ前と同じ入力メッセージをUAPに渡します。trn_max_retry_countまたはservice_attr -rで指定したリトライ回数を超過すると,ERRTRN3を起動します。サービスの自動閉塞を設定していると,リトライ回数を超過した時点でサービスを自動閉塞します。
-
リターン値がEETRN_UOC_NORETRY_KILLの場合
トランザクションを再実行しません。ERRTRN3を起動します。
-
リターン値がEETRN_UOC_NORETRY_ABORTの場合
トランザクションを再実行しません。ERRTRN3を起動して,メモリダンプファイルとCOBOL異常終了時要約リストを出力します。
-
同一メッセージに対するリトライロールバックAPIの発行回数がtrn_max_retry_countまたはservice_attr -rで指定したリトライ回数を超過した場合
トランザクションを再実行しません。ERRTRN3を起動します。
処理の流れを次の図に示します。