callLink エレメント

リンケージ・オプション・パーツの callLink エレメントでは、呼び出しに使用されるリンケージの型を指定します。各エレメントには以下のようなプロパティーがあります。
使用可能な追加のプロパティーは、type プロパティーの値によって決まります。これについては、以下のセクションで説明します。

callLink type が localCall の場合 (デフォルト)

同じスレッド内に存在する生成済みの Java™ プログラムを呼び出す Java プログラムを生成している場合は、プロパティー type を localCall に設定します。 この場合、EGL ミドルウェアは使用されておらず、呼び出し先プログラムが pgmName で識別される callLink エレメントに対して、以下のプロパティーが有効です。
呼び出し先プログラムが呼び出し側と同じパッケージにあり、以下のいずれかの条件が有効の場合は、呼び出しで callLink エレメントを指定する必要はありません。
  • 呼び出し先プログラムの外部名を指定しない。
  • 呼び出し先プログラムの外部名が、そのプログラムのパーツ名と同じである。
以下の状況のいずれかが該当する場合は、プロパティー type に localCall を設定します。
  • 同じスレッド内に存在する生成済みの Java プログラムを呼び出す Java プログラムを生成している。
    この場合、EGL ミドルウェアは使用されておらず、呼び出し先プログラムが pgmName で識別される callLink エレメントに対して、以下のプロパティーが有効です。
    呼び出し先プログラムが呼び出し側と同じパッケージにあり、以下のいずれかの条件が有効の場合は、呼び出しで callLink エレメントを指定する必要はありません。
    • 呼び出し先プログラムの外部名を指定しない。
    • 呼び出し先プログラムの外部名が、そのプログラムのパーツ名と同じである。
  • 同じマシン上で別の COBOL プログラムを呼び出す z/OS® バッチ COBOL プログラムを生成している。
    この場合、呼び出し先プログラムが pgmName で識別される callLink エレメントに対して、以下のプロパティーが有効です。
  • 同じ CICS® 領域内の別の COBOL プログラムを呼び出す CICS COBOL プログラムを生成している (ただし、呼び出し先プログラムが、CICS 領域の外部で実行される生成済みコードからも呼び出される場合を除く)。
    この場合、呼び出し先プログラムが pgmName で識別される callLink エレメントに対して、以下のプロパティーが有効です。
    以下の場合は、ローカル呼び出しに対して callLink エレメントを指定する必要はありません。
    • 呼び出し先プログラムの外部名を指定しない、または呼び出し先プログラムの外部名がそのプログラムのパーツ名と同じである。
    • 呼び出しを EXEC CICS LINK コマンドとして実装する必要がある。
    • 呼び出し先プログラムが CICS COMMAREA 内のポインターを予期する。
  • 生成済みのプログラムと同じ領域に存在するプログラムによって呼び出される CICS COBOL プログラムを生成している (ただし、生成済みのプログラムが、CICS 領域の外部で実行される生成済みコードからも呼び出される場合を除く)。
    この場合、以下のことが該当します。
    • 生成済みのプログラムが pgmName で識別される callLink エレメントに対して、以下のプロパティーが有効である。
    • type が localCall であり、呼び出し側コードと呼び出し先コードがともに生成済み CICS COBOL プログラムである場合、この 2 つのプログラムの callLink エントリーは、プロパティー linkType および parmForm について、同じ値を (デフォルトまたはそれ以外の方法で) 持つ必要がある。
    • 以下の場合は、呼び出し先プログラムを生成するときに、callLink エレメントを指定する必要はない。
      • 呼び出しが EXEC CICS LINK コマンドとして実装されている。
      • 呼び出し側がデータへのポインターを送信している。

Java ラッパーを生成するときは、type の値に localCall を指定できません。

callLink type が remoteCall の場合

Java プログラムまたはラッパーを生成しており、別のスレッドで実行されるプログラムを Java コードで呼び出す場合は、プロパティー type を remoteCall に設定してください。 呼び出しは、生成済みの EJB セッション Bean 経由ではありません。 この場合、EGL ミドルウェアは使用されており、呼び出し先プログラムが pgmName で識別される callLink エレメントに対して、以下のプロパティーが有効です。
以下の状況のいずれかが該当する場合は、プロパティー type に remoteCall を設定します。

callLink type が ejbCall の場合

以下の状況に対処するために callLink エレメントが必要な場合は、プロパティー type に ejbCall を設定します。
  • Java ラッパーを作成し、関連する生成済みプログラムを生成済み EJB セッション Bean 経由で呼び出そうとしている場合
  • Java プログラムを作成し、別の生成済みプログラムを生成済み EJB セッション Bean 経由で呼び出そうとしている場合
この場合、EGL ミドルウェアは使用されており、呼び出し先プログラムが pgmName で識別される callLink エレメントに対して、以下のプロパティーが有効です。
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.(C) Copyright IBM Japan 2005.