システム関数 SysLib.startTransaction() は、メインプログラムを非同期に起動し、そのプログラムをプリンターまたは端末に関連付け、レコードを渡します。受信プログラムが EGL によって生成されている場合には、そのレコードは入力レコードの初期化で使用します。 受信側が VisualAge® Generator によって生成されている場合には、 そのレコードは作業用ストレージの初期化で使用します。
この関数のデフォルトの振る舞いは、同一 Java™ パッケージ内 CICS® 上で振る舞いを変更するには、プログラムの生成で使用するリンケージ・オプション・パーツに asynchLink エレメントを指定します。
SysLib.startTransaction( request anyBasicRecord in [, prID startTransactionPrId in [, termID CHAR(4) in ]])
SysLib.startTransaction() は、変更可能代替 PCB への挿入を行ないます。示された作業域はメッセージとして渡されます。 生成された COBOL プログラムは、自動的に余分の 2 バイトを、長さとトランザクションの間に追加し、長さ値に 2 を追加します。トランザクションは、関連付けられた端末とは関係なく開始されます。 Prid および recip は無視されます。
要求レコードの最大長は、32765 バイトです。
開始されたトランザクションは、システム IMSGEN に組み込まれ、非会話型トランザクションとして定義される必要があります。 開始されたトランザクションが EGL プログラムではない場合、I/O PCB に GU 呼び出しを発行してメッセージを取得しなければなりません。
SysLib.startTransaction() は、リモート・システムからプログラムを開始することはできません。
呼び出しが try ブロックにネストされていた場合は、sysVar.errorCode に値 00000203 が含まれることがあります。これは、おそらく無効なトランザクション ID が原因で、呼び出しが失敗したことを表します。