callLink 要素の parmForm

リンケージ・オプション・パーツの callLink 要素の parmForm プロパティーは、 呼び出しのパラメーターのフォーマットを指定します。 parmForm プロパティーは、呼び出し側プログラムの生成に影響します。 CICS® 環境の COBOL プログラムでは、 このプロパティーは呼び出し先プログラムの生成にも影響します。

COBOL プログラムを生成する場合、parmForm は以下の条件が両方とも真の場合に適用されます。
Java プログラムを生成する場合、parmForm は、次の状況で適用されます。
Java ラッパーを生成する場合、parmForm は以下の場合に適用されます。
次のリストから値を選択してください。
CHANNEL

CHANNEL パラメーター・フォーマットの場合、コンテナーがチャネルで渡されます。チャネルは、CICS プログラム間でデータを受け渡すパラメーターのように機能する、一連のコンテナーです。 COMMAREA は、CHANNEL パラメーター・フォーマットでは渡されません。

EGL 生成プログラムがチャネルを呼び出し先プログラムに渡す場合、チャネルは呼び出し先プログラムと同じ名前を持ちます。 ただし、EGL 呼び出し先プログラムがチャネルを受け取るとき、プログラムは CICS API 呼び出しを使用して、渡されたチャネルの名前を検索します。

コンテナーの名前は EGL-PARM-1 から EGL-PARM-n であり、n の最大値は 30 です。

例えば、タイプ INT、レコード (33,000 バイト)、および EGL STRING の 3 つのパラメーターを渡す場合、下の表に示すように、チャネルには 3 つのコンテナーが含まれます。

表 1. コンテナーおよびパラメーターの例
コンテナー名 コンテナーの値
EGL-PARM-1 INT を表す 4 バイト
EGL-PARM-2 レコードを表す 33,000 バイト
EGL-PARM-3 STRING へのポインターを表す 4 バイト (呼び出し先プログラムは EGL である必要がある)
CICSOSLINK
呼び出し先プログラムがデータへのポインターを予期しているという、標準の COBOL のパラメーター渡しの規則が有効であることを指定します。CICS EIB および COMMAREA が常に最初の 2 つの引数として渡され、それに続いてプログラム固有の引数が渡されます。
CICSOSLINK を使用するには、次の設定が必要です。
  • type プロパティーが localCall または remoteCall である。
  • linkType プロパティーが STATIC または DYNAMIC である。
COMMDATA
呼び出し側がビジネス・データを、(データへのポインターを渡すのではなく) COMMAREA 内に格納することを指定します。

それぞれの引数値は、位置合わせを考慮せずに、先行する値に続けてバッファーに移されます。

type プロパティーが remoteCall または ejbCall の場合は、COMMDATA がデフォルト値になります。

COMMPTR
呼び出し側が以下のように振る舞うことを指定します。
  • 渡される引数ごとに 1 つのポインターが対応するように、一連の 4 バイトのポインターを COMMAREA 内に作成する。
  • 最後のポインターの高位ビットを 1 に設定する。

type プロパティーの値が localCall の場合は、COMMPTR がデフォルト値になります。

OSLINK
呼び出し先プログラムがデータへのポインターを予期しているという、標準の COBOL のパラメーター渡しの規則が有効であることを指定します。ただし、CICS EIB または COMMAREA を除きます。
OSLINK は、COBOL プログラムを生成する場合にのみ有効です。 OSLINK を使用するには、次の設定が必要です。
  • type プロパティーが localCall または remoteCall である。
  • linkType プロパティーが STATIC または DYNAMIC である。

フィードバック