ローカル環境ツリーには、variables という名前のサブツリーが含まれています。 このサブツリーは必ず作成されますが、メッセージ・フローには決して移植されません。 この領域は、あるノードから別のノードへと情報を受け渡すなどの、独自の目的に使用します。 ローカル環境ツリーのサブツリーを他にも作成できます。
ローカル環境のスクラッチパッドに独自のデータを作成する利点は、メッセージ・フロー内の後続のノードに、このデータが論理ツリーの一部として伝搬できることです。 Compute ノードに新規出力メッセージを作成する場合には、入力メッセージからのローカル環境ツリーのすべてまたは一部をその新規出力メッセージに含めることもできます。
ローカル環境中の情報がフローのさらに下流に確実に伝搬されるようにするには、Compute ノードの「計算モード」プロパティーを、出力ツリーの一部としてローカル環境を組み込むように設定する必要があります (例えば「LocalEnvironment とメッセージ」を指定)。 「計算モード」プロパティーの詳細については、モードの設定を参照してください。
ただし、メッセージがメッセージ・フローをさかのぼって移動する場合 (例えば、例外がスローされる場合)、あるノードに加えたデータの更新または追加は保存されません。 独自のデータを作成し、データをメッセージ・フロー全体で保持する場合には、環境ツリーを使用する必要があります。
Compute ノードの variables サブツリーに値を設定し、メッセージ・フローを構成する際に定めた特定の目的で別のノード (Compute、Database、または Filter) が、それらの値を後ほど使用するようにできます。
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 ノードの「計算モード」が、出力メッセージのローカル環境ツリーを組み込むように設定しなければなりません。 「宛先モード」プロパティーを 「宛先リスト」に設定して、ローカル環境ツリー内で作成された宛先リストを使用するように MQOutput ノードを構成します。
DestinationData サブツリー内のエレメントの完全なリストについては、MQ DestinationData サブツリー内のエレメントのデータ・タイプを参照してください。