Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス COBOL言語編


CBLDCTAM('GST ')

〈このページの構成〉

名称

TAMテーブルの状態の取得

形式

PROCEDURE DIVISIONの指定

CALL  'CBLDCTAM' USING 一意名1 一意名2 一意名3

DATA DIVISIONの指定

01 一意名1.
   02 データ名A  PIC X(4).
   02 データ名B  PIC X(5).
   02 FILLER    PIC X(35).
   02 データ名C  PIC X(4).
   02 FILLER    PIC X(64).
   02 データ名D  PIC S9(4) COMP.
   02 FILLER    PIC X(398).
01 一意名2.
   02 データ名E  PIC X(4).
   02 FILLER    PIC X(4).
01 一意名3.
   02 一意名4.
      03 データ名F  PIC X(32).
      03 データ名G  PIC X(2).
      03 FILLER    PIC X(6).
        :
        :
   02 一意名n.
      03 データ名F  PIC X(32).
      03 データ名G  PIC X(2).
      03 FILLER    PIC X(6).

機能

TAMテーブルの状態を取得します。取得するTAMテーブルの状態を次に示します。

TAMテーブルの状態は,トランザクション内でもトランザクション外でも取得できます。

ほかのプロセスでTAMテーブルにアクセスしている場合でも,TAMテーブルはオープン状態としてリターンします。

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

●データ名A

TAMの識別子を設定します。ただし,TAMサービスではこの値を参照しません。

●データ名D

TAMテーブルの情報領域長(一意名3の長さ)を設定します。

●データ名E

TAMテーブルの情報取得を示す要求コードを「VALUE 'GST△'」と設定します。

●データ名F

状態を取得するテーブルのTAMテーブル名を,32文字以内で設定します。32文字未満の場合は,後ろを空白で埋めます。

OpenTP1から値が返されるデータ領域

●データ名B

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

●データ名C

設定されたTAMテーブルの全体の状態が,4バイトの領域に返されます。1バイトごとの状態の意味を次の表に示します。

表2‒4 TAMテーブルの全体の状態

バイト位置

状態

状態の意味

0

L

論理閉塞状態のTAMテーブルがあります。

空白

論理閉塞状態のTAMテーブルがありません。

1

B

障害閉塞状態のTAMテーブルがあります。

空白

障害閉塞状態のTAMテーブルがありません。

2

O

オープン状態のTAMテーブルがあります。

空白

オープン状態のTAMテーブルがありません。

3

C

クローズ状態のTAMテーブルがあります。

空白

クローズ状態のTAMテーブルがありません。

●データ名G

設定されたTAMテーブルの状態が返されます。

VALUE 'RO' …オープン状態

VALUE 'RC' …クローズ状態

VALUE 'HL' …論理閉塞状態

VALUE 'HB' …障害閉塞状態

ステータスコード

ステータスコード

意味

00000

TAMテーブルの情報を正常に取得しました。

01701

データ名Fに設定したTAMテーブル名が間違っています。

01705

データ名Dに設定した値が間違っています。

01708

データ名Eに設定した値が間違っています。

01710

TAMテーブルが定義されていません。

01720

TAMサービスが終了中です。

01721

TAMテーブルへアクセスする順序が間違っています。

UAPにリンケージしているトランザクション制御用オブジェクトファイルのリソースマネジャ登録が間違っています。または,UAPにトランザクション制御用オブジェクトファイルをリンケージしていません。

CBLDCTAMを呼び出したUAPのユーザサービス定義に,トランザクション属性なし(atomic_update=N)を指定しています。

01762

UAPが,現在稼働しているTAMサービスでは動作できないバージョンのTAMライブラリと結合されています。

01772

アクセスしようとしたTAMファイルは,セキュリティ機能で保護されています。該当するファイルに対するACLがありません。

01773

アクセスしようとしたTAMファイルは,セキュリティ機能で保護されています。TAMテーブルの状態を取得しようとしたUAPには,アクセス権限がありません。