sysLib.startTransaction

システム関数 sysLib.startTransaction は、メインプログラム を非同期に起動し、そのプログラムをプリンターまたは端末に関連付け、レコードを渡します。 受信プログラムが EGL によって生成されている場合には、そのレコードは入力レコードの初期化で使用します。 受信側が VisualAge® Generator によって生成されている場合には、 そのレコードは作業用ストレージの初期化で使用します。

この関数は、 z/OS® バッチ・プログラムとして生成されたプログラムではサポートされません。

この関数は、 iSeries™ COBOL プログラムとして生成されたプログラムではサポートされません。

この関数のデフォルトの振る舞いは、同一 Java™ パッケージ内、または 同一 CICS® システム上に存在するプログラムを始動することです。この振る舞いを変更するには、呼び出し側プログラムの生成に使用されるリンケージ・オプション・パーツに asynchLink エレメントを指定します。

Java プログラムは、同一マシン上の他の Java プログラムにのみ転送できます。


sysLib.startTransaction 構文図
request
基本レコードの名前。以下の形式になっている必要があります。
  • 最初の 2 バイト (SMALLINT 型または小数部のない BIN 型) に、開始するトランザクションに渡されるデータの長さが格納され、その後にトランザクションには渡されない 2 つのフィールド (このフィールドを含む) 用の 10 バイトが続きます。値は 32767 バイトを超えてはいけません。ターゲットがJava プログラムである場合、32767 バイト以下の値を指定しますが、ターゲットが iSeries 上の COBOL プログラムである場合は、 4095 バイト以下の値を指定します。
  • 次の 8 バイト (CHAR 型) も渡されませんが、このバイトには始動するプログラムの名前が入ります。
  • 次の 8 バイト (CHAR 型) も渡されませんが、その内容はターゲットによって異なります。
    • EGL 生成の Java ターゲットの場合は、これらのバイトには、始動するプログラムの名前が入ります。
    • CICS 上のターゲットでは、これらのバイトにはトランザクション ID が入り、最後の 4 バイトはブランクにします。
  • 要求レコードの残りの部分は渡されます。
prID
この 4 バイト項目は、指定しても無視されます。
prID
このオプションの BIN タイプ、CHAR タイプ、または SMALLINT タイプの 4 バイト項目は、CICS でのみ使用します。 ただし、リモートの CICS 領域上のプログラムが呼び出された場合には無視されます。

ビルド記述子オプション printDestination が TERMINALID に設定されている場合、sysLib.startTransaction の呼び出しによってトランザクションが開始された場合、 およびその関数の termID パラメーターが 2 進ゼロに設定されている場合には、ConverseVar.printerAssociation の初期値は、prID パラメーターに指定された値です。この場合には、CICS START コマンドが、関連付けられた端末とは関係なく発行されます。

デフォルトによって、開始されたトランザクションは、現行端末に関連付けされ、prID の値は無視されます。 同様に、termID が 2 進ゼロではない場合には、prID の値は無視されます。

prID
このオプションの CHAR 型 4 バイト項目は、iSeries 上の COBOL プログラムへの転送時のみに使用されます。この項目には、非同期ジョブに使用される出力キューの値が入ります。デフォルト値は VGEN です。プログラムが ConverseVar.printerAssociation を実行する前に、出力キューを定義する必要があります。
termID
この CHAR 型 4 バイト項目は、指定しても無視されます。 prID を指定する場合に termID を指定する必要があります。
termID
このオプションの CHAR 型 4 バイト項目は、CICS 上の COBOL プログラムへの転送時のみに使用されます。この他の場合、この項目は無視されます。この項目は、開始する CICS トランザクションに関連付ける端末 ID またはプリンター ID を指定します。

現行端末に関連付けられる新規トランザクションを開始するには、termID をその端末の ID に設定するのではなく、transfer 文を使用します。

prID を指定する場合に termID を指定する必要があります。

termID
このオプションの CHAR 型 4 バイト項目は、指定しても無視されます。
CICS に対しては、以下の文が適用されます。
  • 開始済みトランザクションには、プログラムの PCT および PPT エントリーが必要です。 開始済みトランザクションが EGL によって生成されていない場合、または VisualAge Generator によって生成されていない場合には、プログラムは受け渡される作業域を取得するために CICS RETRIEVE を発行する必要があります。
  • システム変数 sysVar.errorCode には、次のテーブルで示されている任意の戻りコードが含まれます。

    sysVar.errorCodeの値 意味
    00000000 正常終了
    00000203 トランザクション ID が無効です
    00000205 端末 ID が無効です
    00000206 パラメーターが無効です
    00000207 システム ID が無効です
    00000208 リンクのサービスが休止しています
    ffrrrrrr その他の CICS エラー。ここで、ff は EIBFN バイト 0 の16 進法表記で、rrrrrr は EIBRCODE バイト 0-2 の 16 進法表記です。
COBOL プログラムでは、EGL Server for iSeries が次の 2 つのコマンド言語 (CL)プログラムを通して sysLib.startTransaction のサポートを提供します。
CREATX
以下のように機能します。
  • 現在のジョブ番号を取得する。
  • ユーザー・データをデータ・キュー VGCREATX に送信する。
  • ジョブ CREATXJOB を開始して、CL プログラム CREATXPP を始動する。
CREATXPP
以下のように機能します。
  • ジョブ番号をキーとして使用して、データ・キュー VGCREATX からデータを検索する。
  • ユーザー・レコードのバイト 3 から 11 に指定された非同期 CL プログラムを呼び出す。
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.(C) Copyright IBM Japan 2005.