transactionID

CICS® や IMS™ のような COBOL トランザクション指向環境の場合は、sysVar.transactionID には次のプログラム・セグメント用のトランザクション・コードの名前が含まれます。 バッチ環境では、sysVar.transactionID の設定は無視されます。

Java™ 環境では、プログラムが transfer to program 文によって呼び出されている場合には、 変数には移行元のプログラムの名前が含まれます。

特性

sysVar.transactionID には以下のような特性があります。
プリミティブ型
CHAR
データ長
8
セグメント化された converse にわたって値が保存されるかどうか
はい

互換性

表 1. sysVar.transactionID の互換性に関する考慮事項
プラットフォーム 問題
CICS sysVar.transactionID は、以下のように動作します。
  • セグメント化されたプログラムで converse 文の後にプログラムを呼び出すために使用するトランザクション ID を変更する。
  • 最初は、restartTransactionID ビルド記述子オプション用に指定した値が含まれているか、(この値が指定されていない場合は) プログラムを呼び出すために使用するトランザクション ID が含まれている。ただし、プログラムが transfer to program 文によって呼び出された場合、 最初はこの変数に転送プログラムのトランザクション ID が含まれます。

    CICS ベースのプログラムが Web アプリケーションで稼働している場合、この変数には catcher プログラム DFHMIRS のトランザクション ID が含まれます。

IMS BMP
  • プログラムがバッチ指向 BMP として実行されている場合、sysVar.transactionID は無視されます。
  • プログラムがトランザクション指向 BMP として実行されている場合、 入出力 PCB に関連付けられたシリアル・ファイルを読み取る get next が正常に実行されるたびに、 sysVar.transactionID が、IMS メッセージ・ヘッダーから取得したトランザクション・コードにリセットされます。
IMS/VS
  • トランザクション・プログラムの場合、最初のプログラムの sysVar.transactionID の初期値は、プログラムの開始時に使用する IMS トランザクション・コードです。
  • get next を使用して入出力 PCB に関連付けられたシリアル・ファイルを読み取るバッチ・プログラムの場合、get next を実行した結果、get unique (GU) が正常に呼び出されるたびに、sysVar.transactionID が、IMS メッセージ・ヘッダーから取得したトランザクション・コードにリセットされます。

フィードバック