Hitachi

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


CBLEETHD('UIFAGET ')

〈このページの構成〉

名称

ユーザIFA情報格納領域アドレスの取得

形式

PROCEDURE DIVISIONの指定

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

DATA DIVISIONの指定

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

機能

異常終了したスレッドのユーザIFA情報が格納された領域のアドレスを取得します。

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

●データ名A

ユーザIFA情報格納領域アドレスの取得を示す要求コードを「VALUE 'UIFAGET△'」と設定します。

●データ名C

0を設定します。

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

●データ名B

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

●データ名D

ユーザIFA情報格納領域アドレスが返されます。

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

00001

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

00004

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

00005

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

05301

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

05302

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

05399

そのほかのエラーが発生しました。

注意事項

  1. CBLEETHD('UIFAGET ')はエラートランザクション(ERRTRN3)のトランザクションでだけ呼び出せます。エラートランザクション(ERRTRN3)のトランザクション内で,CBLEETRN('C-COMMIT')またはCBLEETRN('C-ROLL ')を呼び出したあとは,CBLEETHD('UIFAGET ')を呼び出せません。

  2. 処理スレッドの再生成が成功したあとで,CBLEETHD('UIFAGET ')を呼び出した場合,異常終了スレッドのユーザIFA情報格納領域アドレスと,自スレッドのユーザIFA情報格納領域アドレスとは,同じになります。自スレッドのユーザIFA情報格納領域で引き継いだ情報が破壊されるおそれがあるので,領域のアクセスには注意してください。

    この状態を確認するには,処理スレッド通番と異常発生元トランザクションの処理スレッド通番とを比較してください。これらが同じ場合は,同一スレッドで動作しています。

  3. ステータスコードが「00000」以外の場合,データ名Dに返された値を参照しても,内容は保証されません。