WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

PATH 文節

PATH 文節は、一致する関数およびプロシージャーのインプリメンテーションに対する呼び出しの際に検索される、追加のスキーマのリストを指定します。 呼び出しがあるスキーマは、暗黙的に PATH 文節に組み込まれます。

PATH 文節は、次のアルゴリズムに従って、ツール内の非修飾の関数とプロシージャー名を解決するために使用されます。

非修飾名に一致する関数またはプロシージャーが 1 つなければならず、そうでない場合にはツールはエラーを報告します。 関数またはプロシージャーの名前を schemaId で修飾することによって、エラーを訂正できます。
  1. 現行モジュール (もしあれば) から、一致する関数またはプロシージャーが検索されます。 モジュール内では、そこに含まれるモジュール有効範囲関数またはプロシージャーだけが可視です。 同じ名前を持つ関数またはプロシージャーが現行モジュールおよびスキーマ内に検出された場合、モジュール有効範囲の関数またはプロシージャーは、スキーマ有効範囲の関数またはプロシージャーよりも優先されます。
  2. <ノード・スキーマ> (それに含まれる MODULE を除く) および <SQL ブローカー・スキーマ> または PATH 文節によって識別されるスキーマから、一致する関数またはプロシージャーが検索されます。
注: schemaId は完全修飾スキーマ名でなければなりません。

関数またはプロシージャーを開始するときに使用する名前は、スキーマ名で修飾したものでなければなりません。 動作は、以下のように状況によって異なります。

モジュール・ルーチンの場合
  • スキーマが指定された場合、指定されたスキーマ・ルーチンが開始されます。 スカラー組み込み関数 (CAST、EXTRACT、および特殊レジスターを除く) は、SQL と呼ばれる暗黙的に宣言されたスキーマ内で定義されていると見なされます。
  • スキーマが指定されず、呼び出しステートメントがモジュール・ルーチン内にあり、指定された名前のルーチンがローカル・モジュール内に存在する場合、そのローカル・ルーチンが開始されます。
  • スキーマが指定されず、呼び出しステートメントがモジュール・ルーチン内にあり、指定された名前のルーチンがローカル・モジュール内に存在しない場合、スキーマ・パス内のすべてのスキーマで、同じ名前のルーチンが検索されます。

    一致する関数が 1 つのスキーマ内に存在する場合、その関数が使用されます。一致する関数が複数のスキーマ内に存在する場合、コンパイル時エラーが発生します。 一致する関数がない場合には、スキーマ SQL が検索されます。

    この規則とその前の規則は、ローカル・モジュール・ルーチンが同じ名前の組み込みルーチンよりも優先されることを暗示しています。

スキーマ・ルーチンの場合
  • スキーマが指定された場合、指定されたスキーマ・ルーチンが開始されます。 スカラー組み込み関数 (CAST、EXTRACT、および特殊レジスターを除く) は、SQL と呼ばれる暗黙的に宣言されたスキーマ内で定義されていると見なされます。
  • スキーマが指定されず、呼び出し側がスキーマ・ルーチンであり、指定された名前のルーチンがローカル・スキーマ内に存在する場合、そのローカル・ルーチンが開始されます。
  • スキーマが指定されず、呼び出しステートメントがスキーマ・ルーチン内にあり、指定された名前のルーチンがローカル・スキーマ内に存在しない場合、スキーマ・パス内のすべてのスキーマで、同じ名前のルーチンが検索されます。

    一致する関数が 1 つのスキーマ内に存在する場合、その関数が使用されます。一致する関数が複数のスキーマ内に存在する場合、コンパイル時エラーが発生します。 一致する関数がない場合には、スキーマ SQL が検索されます。

    この規則とその前の規則は、ローカル・スキーマ・ルーチンが同じ名前の組み込みルーチンよりも優先されることを暗示しています。

<ノード・スキーマ> は、ノードのメッセージ・フローを含むスキーマとして定義されます。

<ノード・スキーマ> をこのように指定して、以前の WebSphere® Message Broker バージョンとの互換性を提供します。

参照されるスキーマが <ノード・スキーマ> だけである場合、ブローカー XML メッセージは WebSphere Message Broker バージョン 6.1 に含まれている追加の機能を組み込みません。

WebSphere Message Broker の以前のバージョンのブローカーでは、複数のスキーマ (例えば、再利用のためのサブルーチン・ライブラリー) がサポートされていません。製品の旧バージョンのブローカーにデプロイするには、すべての ESQL サブルーチンを、それらを開始するメッセージ・フローおよびノードと同じスキーマ内に配置してください。

Eclipse ツールは、コンテンツ・アシストおよびソース・コード妥当性検査で WebSphere Message Broker バージョン 6.1 ESQL 構文を使用します。

メッセージ・フローのブローカー・スキーマは、スキーマ・レベルで、ESQL ファイルに以下のいずれかを含んでいる必要があります。
  • スキーマ・レベル関数
  • スキーマ・レベル・プロシージャー
  • スキーマ・レベル定数
  • モジュール・レベル定数
  • モジュール・レベル変数

上記の項目がなくても、Eclipse ツールは、モジュールおよび関数 Main ラッパーを持たないブローカー ESQL を生成します。

関数およびプロシージャー名は、スキーマまたはモジュール内で固有でなければなりません。

以下の例では、CommonUtils というスキーマへのパスを追加します。
BROKER SCHEMA CommonUtils
PATH SpecialUtils;

MODULE ....
次の例では、デフォルト・スキーマへのパスを追加します。
PATH CommonUtils, SpecialUtils;

MODULE ....
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:47:22


参照トピック参照トピック | バージョン 8.0.0.5 | ak05105_