startTransaction()
vgLib.startTransaction() システム関数は、
メインプログラムを非同期に呼び出し、次のようにレコードを渡します。
- ターゲット・プログラムが EGL によって生成された場合、そのレコードは入力レコードを初期化するために使用されます。
- ターゲット・プログラムが VisualAge® Generator によって生成された場合、そのレコードは作業用ストレージを初期化するために使用されます。
transfer または call 文とは異なり (どちらもプログラムを同期して呼び出す)、vgLib.startTransaction() では、呼び出し側プログラムは引き続き、呼び出し先プログラムと同時に実行できます。
Java™ 用に生成する場合には、関数呼び出しのパラメーターとして開始するプログラムを指定することで、 このレコードのプログラム名をオーバーライドすることができます。
構文
vgLib.startTransaction(
request ANY in
[, prID INT or CHAR inOut
[, termID INT or CHAR(4) inOut ]])
vgLib.startTransaction(
request ANY in
[, progName CHAR inOut ])
- request
- 基本レコードの名前。以下の形式になっている必要があります。
- 最初の 2 バイト (SMALLINT または小数部のない BIN) に、開始するトランザクションに渡されるデータの長さが格納され、その後にトランザクションには渡されない 2 つのフィールド (このフィールドを含む) 用の 10 バイトが続きます。
- 次の 8 バイト (CHAR) も渡されません。 その内容はターゲット・システムによって異なります。このトピックの『互換性』のセクションを参照してください。
- 要求レコードの残りの部分が渡されます。
- prID
- この引数は、CICS® および iSeries COBOL の各プラットフォーム上でのみ使用されます。 このトピックの『互換性』のセクションを参照してください。
- termID
- この引数は、CICS プラットフォーム上でのみ使用されます。 このトピックの『互換性』のセクションを参照してください。
- progName
- 非同期に開始されるプログラムの名前。このオプションは Java の場合のみです。 このトピックの『互換性』のセクションを参照してください。
例
以下の例は、vgLib.startTransaction() 関数を示しています。
myRequest RequestPart;
myRequest.prefix = "18";
myRequest.progName = "MyProgrm";
myRequest.reqrec = "MyData";
vgLib.startTransaction(myRequest);
このプログラム・コード例に付随するレコード宣言は、以下のとおりです。
Record RequestPart type BasicRecord
10 prefix SMALLINT;
10 progName CHAR(8);
10 reqrec CHAR(8);
end
互換性
| プラットフォーム | 問題 |
|---|---|
| Java 生成 |
|
| CICS |
|
| CICS (続き) |
|
| iSeries COBOL |
|
| IMS/VS または IMS™ BMP |
|
| z/OS® バッチ | この関数はサポートされていません。 |