Hitachi

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


2.3.4 タイマトランザクションの取り消し

タイマトランザクションの起動を取り消すときは,ee_tim_execap_cancel関数を呼び出します。タイマトランザクションは,個別に指定して起動を取り消せます。起動を取り消したいタイマトランザクションのリクエスト識別子(ee_tim_execap関数のreqidの指定値)を,ee_tim_execap_cancel関数のreqidに指定します。同じリクエスト識別子で,複数のタイマトランザクションの起動要求をしている場合は,そのタイマトランザクションの起動方式によって起動を取り消すタイマトランザクションが異なります。

即時登録方式で登録したタイマトランザクションの場合

ee_tim_execap_cancel関数のacttypeにEETIM_INSTまたはEETIM_CMTCを指定すると,タイマトランザクションを起動する時刻または時間の指定が最も早いタイマトランザクションの起動を取り消します。

  • EETIM_INSTを指定したとき:関数の呼び出し時に,トランザクションの決着(コミット決定,またはロールバック決定)に関係なく,タイマトランザクションの起動を取り消します。

  • EETIM_CMTCを指定したとき:トランザクションのコミット後に,タイマトランザクションの起動を取り消します。関数の呼び出し後に,対象のタイマトランザクションがコミット前に起動時刻に達しても,タイマトランザクションは起動しません。

すでに起動時刻に達しているタイマトランザクションの起動は取り消せません。

トランザクション同期登録方式で登録したタイマトランザクションの場合

ee_tim_execap_cancel関数のacttypeにEETIM_INST,EETIM_COMTまたはEETIM_CMTCを指定すると,ee_tim_execap関数の呼び出しが最も早いタイマトランザクションの起動を取り消します。

  • EETIM_INSTを指定したとき:関数の呼び出し時に,コミット後のタイマトランザクションの起動を取り消します。

  • EETIM_COMTを指定したとき:関数の呼び出し時に,コミット前のタイマトランザクションの起動を取り消します。

  • EETIM_CMTCを指定したとき:トランザクションのコミット後に,コミット後のタイマトランザクションの起動を取り消します。関数の呼び出し後に,対象のタイマトランザクションがコミット前に起動時刻に達しても,タイマトランザクションは起動しません。

トランザクション同期登録方式で起動したタイマトランザクションの場合,ee_tim_execap_cancel_all関数【CBLEETIM('CANCELAL')】を呼び出すと,コミット前のすべてのタイマトランザクションを取り消せます。