Hitachi

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


CBLEETIM('CANCEL ')

〈このページの構成〉

名称

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

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEETIM' USING 一意名1 一意名2

DATA DIVISIONの指定

01 一意名1.
  02 データ名A  PIC X(8) VALUE 'CANCEL  '.
  02 データ名B  PIC X(5).
  02 FILLER      PIC X(3).
  02 データ名Z  PIC S9(9) COMP VALUE ZERO.
01 一意名2.
  02 データ名C  PIC X(4).
  02 データ名D  PIC 9(9) COMP-X.

機能

タイマトランザクションを取り消します。CBLEETIM('EXECAP ')でタイマトランザクションを登録するときに設定した起動タイミングより前であれば,CBLEETIM('CANCEL ')でタイマトランザクションを取り消せます。

UAPで値を設定するデータ領域

●データ名A

タイマトランザクションの起動取り消しを示す要求コードを「VALUE 'CANCEL△△'」と設定します。

●データ名Z

0を設定します。

●データ名C

どの起動方式のタイマトランザクションを取り消すかを設定します。

VALUE 'INST'

次のタイマトランザクションを,コミットとは無関係に直ちに取り消します。

  • CBLEETIM('EXECAP ')のデータ名Cに'INST'(即時登録方式)を設定したタイマトランザクション

  • CBLEETIM('EXECAP ')のデータ名Cに'COMT'(トランザクション同期登録方式)を設定したタイマトランザクション

VALUE 'COMT'

CBLEETIM('EXECAP ')でデータ名Cに'COMT'(トランザクション同期登録方式)を設定したタイマトランザクションを取り消します。コミット前であれば,CBLEETIM('EXECAP ')を呼び出したトランザクションからタイマトランザクションを取り消せます。

VALUE 'CMTC'

次のタイマトランザクションを,コミット後に取り消します。

  • CBLEETIM('EXECAP ')のデータ名Cに'INST'(即時登録方式)を設定したタイマトランザクション

  • CBLEETIM('EXECAP ')のデータ名Cに'COMT'(トランザクション同期登録方式)を設定したタイマトランザクション

●データ名D

タイマトランザクションのリクエスト識別子を設定します。CBLEETIM('EXECAP ')でタイマトランザクションを登録したときにデータ名Fで設定したリクエスト識別子と同じものを設定してください。

同一のリクエスト識別子のタイマトランザクションが複数登録されている場合,データ名Cで'INST'または'CMTC'を設定したときは,起動時刻が最も早いタイマトランザクションが取り消されます。データ名Cで'COMT'を設定したときは,最も早く登録要求されたタイマトランザクションが取り消されます。

TP1/EEから値が返されるデータ領域

●データ名B

ステータスコードが,5けたの数字で返されます。

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

00001

TP1/EEの環境下にありません。

00004

UOCから発行しているため,この機能は使用できません。

00005

オフラインバッチプロセスから発行しているため,この機能は使用できません。

00501

データ名に設定した値が間違っています。要求コード(データ名A)が間違っている場合も含みます。

00505

設定されたリクエスト識別子を持つタイマトランザクションは未登録,起動中,または起動済みです。

00509

関数の呼び出し条件が不正です。

注意事項

  1. タイマトランザクションを登録するときにCBLEETIM('EXECAP ')でデータ名Cに'COMT'を設定した場合,CBLEETIM('EXECAP ')を呼び出したトランザクションがコミットしたあとは,CBLEETIM('CANCEL ')でデータ名Cに'COMT'を設定してもタイマトランザクションを取り消せません。コミット後に取り消したい場合は,CBLEETIM('CANCEL ')でデータ名Cに'INST'または'CMTC'を設定してください。

  2. CBLEETIM('EXECAP ')で設定した起動タイミングに達しているタイマトランザクションは取り消せません。

  3. トランザクション起動タイミング(CBLEETIM('EXECAP ')のデータ名C)で'CMTC'を設定した場合,対象のタイマトランザクションが同期点処理前に起動時刻に達しても,タイマトランザクションを起動しません。

  4. トランザクション起動タイミング(CBLEETIM('EXECAP ')のデータ名C)で'CMTC'を設定した場合,コミット前にトランザクションが異常終了したとき,またはロールバックしたときは,CBLEETIM('CANCEL ')の要求は無効になります。このとき,起動時刻に達している場合はタイマトランザクションを即時起動します。同一のトランザクション内でCBLEETRN('ROLLMARK')がすでに呼び出されている場合は,ステータスコード「00509」でエラーリターンします。