Hitachi

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


CBLEETRN('GETINFO ')

〈このページの構成〉

名称

現在のトランザクション識別情報の取得

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEETRN' USING 一意名1

DATA DIVISIONの指定

01 一意名1.
  02 データ名A  PIC X(8) VALUE 'GETINFO '.
  02 データ名B  PIC X(5).
  02 FILLER     PIC X(3).
  02 データ名Z  PIC S9(9) COMP VALUE ZERO.
  02 データ名C  PIC S9(9) COMP.
  02 データ名D  PIC 9(9) COMP-X.
  02 データ名E  PIC S9(9) COMP.
  02 データ名F  PIC S9(9) COMP.
  02 データ名G  PIC S9(9) COMP.
  02 データ名H  PIC X(36).
  02 データ名I  PIC S9(9) COMP.
  02 データ名J  PIC X(256).
  02 データ名K  PIC S9(9) COMP.
  02 データ名L  PIC X(256).
  02 FILLER     PIC X(1024).

機能

実行中のトランザクションのトランザクション識別情報をリソースマネジャごとに取得します。ステータスコードが「00000」(次のリソースマネジャ情報なし)になるまで,CBLEETRN('GETINFO ')を連続して呼び出すことによって,接続中のすべてのリソースマネジャの情報を取得できます。ステータスコードが「00000」の状態でCBLEETRN('GETINFO ')を呼び出した場合は,最初からトランザクション識別情報を取得します。

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

●データ名A

現在のトランザクション識別情報の取得を示す要求コードを「VALUE 'GETINFO△'」と設定します。

●データ名Z

0を設定します。

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

●データ名B

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

●データ名C

プロセスIDが返されます。

●データ名D

該当するトランザクションの中央処理通番が返されます。

●データ名E

リソースマネジャとの接続状態が返されます。

0

リソースマネジャ接続正常

1

リソースマネジャ接続失敗によるトランザクション縮退起動

●データ名F

リソースマネジャIDが返されます。

●データ名G

リソースマネジャ名(リソースマネジャ拡張子を含む)の長さが返されます(単位:バイト)。

●データ名H

リソースマネジャ名(リソースマネジャ拡張子を含む)が返されます。

●データ名I

xa_open関数用文字列の長さが返されます(単位:バイト)。

●データ名J

xa_open関数用文字列が返されます。

●データ名K

XIDの長さが返されます(単位:バイト)。

●データ名L

XIDが返されます。

ステータスコード

ステータスコード

意味

00000

正常に終了しました。(次のリソースマネジャ情報なし)

00001

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

00003

正常に終了しました。(次のリソースマネジャ情報あり)

00004

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

00005

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

00901

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

指定例

01 MISC.
  02 CMD-CODE     PIC X(8).
  02 STATUS-CODE  PIC X(5).
  02 FILLER       PIC X(3).
  02 FLAGS        PIC S9(9) COMP VALUE ZERO.
  02 PROCESSID    PIC S9(9) COMP.
  02 CTRANID      PIC 9(9) COMP-X.
  02 RESUME       PIC S9(9) COMP.
  02 RMID         PIC S9(9) COMP.
  02 SIZE         PIC S9(9) COMP.
  02 NAME         PIC X(36) COMP.
  02 OPENSIZE     PIC S9(9) COMP.
  02 OPENNAME     PIC X(256).
  02 XIDSIZE      PIC S9(9) COMP.
  02 XID          PIC X(256).
               :
MOVE  'GETINFO ' TO CMD-CODE OF MISC.
               :
MOVE '00003' TO STATUS-CODE OF MISC.
PERFORM UNTIL STATUS-CODE OF MISC NOT = '00003'
    CALL  'CBLEETRN' USING MISC
    IF STATUS-CODE OF MISC EQUAL TO  '00000' THEN
        DISPLAY  PROCESSID OF MISC
        DISPLAY  CTRANID OF MISC
                    :
    ELSE
        IF STATUS-CODE OF MISC EQUAL TO  '00003' THEN
            DISPLAY  PROCESSID OF MISC
            DISPLAY  CTRANID OF MISC
                       :
        ELSE
            DISPLAY  'CANNOT GET TRANSACTION INFORMATION'
                       :
        END-IF
    END-IF
END-PERFORM.

注意事項

リソースマネジャがない場合はリソースマネジャ情報以外の値が設定され,ステータスコード「00000」(次のリソースマネジャ情報なし)でリターンします。