グラフィカル・データ・マッピング・エディターを使用して、LocalEnvironment データを変換します。
最上位のグラフィカル・データ・マップを作成する場合、最初は「プロパティー」フォルダーのみがマップに含まれ、入力プロパティーから出力プロパティーへのデフォルトの変換がローカル・マップ内に作成されます。
any エレメントをキャストして、dec エレメントを選択し、さらに str エレメントを選択します。
LocalEnvironment フォルダーがマップに含まれる場合は、マップ内に変換によってマップされるフィールドのみが、Mapping ノードから伝搬される出力メッセージ・アセンブリーに作成されます。
フォルダーをマップに含めた場合、利用可能な変換を使用してマップできます。 利用可能な変換について詳しくは、グラフィカル・データ・マッピング・エディターでのタイプの変換を参照してください。
Mapping ノードは、LocalEnvironment と、その他のすべてのヘッダーおよびフォルダーを入力から出力にコピーします。このとき、マップに含まれていないものは変更されません。 LocalEnvironment をコピーまたは変更するには、マップ内の入力メッセージ・アセンブリーと出力メッセージ・アセンブリーの両方または一方に LocalEnvironment を追加し、変換機能を提供します。 LocalEnvironment を削除するには、それを入力メッセージ・アセンブリーに追加し、出力には追加しません。 LocalEnvironment を作成するには、それを出力にのみ追加します。
変換機能を提供するときには、コピーする必要のあるすべてのフィールドと、変更する必要のあるフィールドをコピーするように設定しなければなりません。 多くの WebSphere® Message Broker ノードは、フローに沿ってコピーされる LocalEnvironment の情報に依存しています。 一部のフィールドのみ変更する必要がある場合は、Move 変換を使用して LocalEnvironment をコピーした後、オーバーライドを使用して更新の必要なエレメントを変更します。 詳しくは、マッピング・オーバーライドの適用を参照してください。
LocalEnvironment の「変数」セクションに含まれているデータからマップするには、まず「any」エレメントを必要なタイプにキャストする必要があります。
以下に例を示します。
ESQL 計算ノードで次の ESQL によって設定された「変数」の下の「ローカル環境」に 2 つの単純なフィールドがある場合:
SET OutputLocalEnvironment.Variables.dec = 10.1;
SET OutputLocalEnvironment.Variables.str = 'Some text';
「Mapping」ノードでこれらのフィールドにアクセスするには、アプリケーションまたはライブラリーでスキーマ・ファイルを作成して、エレメントとそれらのタイプを定義します。ESQL はこれらのエレメントを修飾するネーム・スペースを使用していないので、スキーマもネーム・スペース宣言なしで定義されることに注意してください。
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="dec" type="xsd:decimal"/>
<xsd:element name="str" type="xsd:string"/>
</xsd:schema>
スキーマ・ファイルを保存すると、LocalEnvironment の「変数」セクションの下の「any」エレメントを選択してコンテキスト・メニュー・アクション「キャスト...」を使用することによって、マップで必要なエレメント「dec」と「str」のそれぞれに対してマッピング・キャストを追加できるようになります。 詳しくは、マッピング・キャストを参照してください。