LocalEnvironment ツリーには、Variables という名前のサブツリーが含まれています。 このサブツリーは必ず作成されますが、メッセージ・フローには決して移植されません。 この領域は、あるノードから別のノードへと情報を受け渡すなどの、独自の目的に使用します。 必要であれば、LocalEnvironment ツリーに他のサブツリーを作成することができます。
LocalEnvironment のスクラッチパッドに独自のデータを作成する利点は、メッセージ・フロー内の後続のノードに、このデータが論理ツリーの一部として伝搬できることです。
Compute ノードに新規出力メッセージを作成する場合には、入力メッセージからの LocalEnvironment ツリーのすべてまたは一部をその新規出力メッセージに含めることもできます。
LocalEnvironment 中の情報がフローのさらに下流に確実に伝搬されるようにするには、Compute ノードの「計算モード」プロパティーを、出力ツリーの一部として LocalEnvironment を組み込むように設定する必要があります (例えば、「LocalEnvironment とメッセージ」 を指定)。「計算モード」の詳細については、モードの設定を参照してください。
しかしそのメッセージ・フローが取り消されてまったく始めに戻る場合には (例えば、例外がスローされる場合)、ノードで更新または追加された任意のデータは保存されません。独自のデータを作成し、データをメッセージ・フロー全体で保持する場合には、Environment ツリーを使用する必要があります。
Compute ノードの Variables サブツリーに値を設定し、メッセージ・フローを構成する際に定めた特定の目的で他のノード (Compute、Database、または Filter) が後ほど使用するようにできます。
LocalEnvironment は Compute ノードの有効範囲内にないので、代わりに InputLocalEnvironment および OutputLocalEnvironment を使用しなければなりません。
SET OutputLocalEnvironment.Variables.OutputLocation = 'MQ';
IF InputLocalEnvironment.Variables.OutputLocation = 'MQ' THEN SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueManagerName = 'myQManagerName'; SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueName = 'myQueueName'; END IF;
この例では、出力メッセージの Destination サブツリーに関する queueManagerName と queueName が設定されています。2 番目の Compute ノードの「計算モード」を、出力メッセージの LocalEnvironment ツリーを組み込むように設定しなければなりません。「宛先モード」プロパティーを「宛先リスト」に設定して、LocalEnvironment ツリー内で作成された宛先リストを使用するように MQOutput ノードを構成します。
DestinationData サブツリー内のエレメントの完全なリストについては、DestinationData サブツリー内のエレメントのデータ・タイプを参照してください。