6.5.7 CBLDCCLS('GETTRNID')現在のトランザクションに関する識別子の取得

<この項の構成>
(1) 形式
(2) 機能
(3) UAPで値を設定するデータ領域
(4) 値が返されるデータ領域
(5) ステータスコード

(1) 形式

(a) マルチスレッド環境の場合
●PROCEDURE DIVISIONの指定

CALL 'CBLDCCLS' USING 一意名1

●DATA DIVISIONの指定

01 一意名1.
  02 データ名A  PIC X(8) VALUE 'GETTRNID'.
  02 データ名B  PIC X(5).
  02 FILLER    PIC X(3).
  02 データ名C  PIC X(17).
  02 データ名D  PIC X(17).
  02 FILLER    PIC X(2).
  02 データ名E  PIC 9(9) COMP.

(b) シングルスレッド環境の場合
●PROCEDURE DIVISIONの指定

CALL 'CBLDCCLT' USING 一意名1

●DATA DIVISIONの指定

01 一意名1.
  02 データ名A  PIC X(8) VALUE 'GETTRNID'.
  02 データ名B  PIC X(5).
  02 FILLER    PIC X(3).
  02 データ名C  PIC X(17).
  02 データ名D  PIC X(17).
  02 データ名E  PIC 9(9)COMP.

(2) 機能

現在のトランザクショングローバル識別子,およびトランザクションブランチ識別子を取得します。

この識別子は,次に示すプログラムを発行してトランザクションが起動されたときに,OpenTP1が割り当てたものです。

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

(4) 値が返されるデータ領域

(5) ステータスコード

ステータスコード意味
00000正常終了しました。
02501データ名に指定した値が間違っています。要求コード(データ名A)が間違っている場合も含みます。
02502誤ったコンテクストからプログラムを呼び出しています。
02504メモリ不足が発生しました。
02544データ名Eに指定したクライアントIDはCBLDCCLS('CLTIN '),またはCBLDCCLS('EXCLTIN ')で受け取ったクライアントIDと異なっています。