로컬 환경 트리는 Variables라는 서브트리를 포함합니다. 이 서브트리는 항상 작성되지만 메시지 플로우에 의해 채워지지는 않습니다. 한 노드에서 다른 노드로 정보를 전달하는 예와 같이 사용자의 목적을 위해 이 영역을 사용하십시오. LocalEnvironment 트리의 다른 서브트리를 선택해 작성할 수 있습니다.
LocalEnvironment의 스크래치패드에
사용자 고유의 데이터를 작성하는 이점은 이 데이터가 논리적 트리의 부분으로서
메시지 플로우의 후속 노드로 전달될 수 있다는 것입니다. Compute 노드에서 새 출력 메시지를
작성하는 경우, 입력 메시지에 있는 LocalEnvironment 트리의 전부 또는 부분을
새 출력 메시지에 포함시킬 수도 있습니다.
LocalEnvironment의 정보가 플로우 아래에 좀더 전달되는지 확인하려면
출력 트리의 부분으로 LocalEnvironment를 포함하도록 Compute 노드의 처리 모드 등록 정보를
설정해야 합니다(예를 들면, LocalEnvironment 및 Message 지정). 처리 모드에 대한
자세한 내용은 모드 설정을 참조하십시오.
그러나 한 노드에서 작성하는 모든 데이터 갱신사항이나 추가사항은 메시지가 메시지 플로우를 역으로 흐를 경우에는 보유되지 않습니다(예를 들면, 예외가 발생하는 경우). 사용자 전용 데이터를 작성하고 이 데이터를 메시지 플로우를 통해 보존하려면 Environment 트리를 사용해야 합니다.
Compute 노드의 Variables 서브트리에서는 메시지 플로우를 구성할 때 판별하는 몇 가지 목적을 위해 나중에 다른 노드(Compute, Database 또는 Filter)에서 사용되는 값을 설정할 수 있습니다.
Compute 노드에서 LocalEnvironment는 범위 내에 있지 않기 때문에 대신
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;
이 예에서 queueManagerName 및 queueName은
출력 메시지의 목적지 하위트리에 대해 설정됩니다. 두 번째 Compute 노드의 처리 모드는
출력 메시지의 LocalEnvironment 트리를 포함시키도록 설정해야 합니다. 목적지 모드 등록
정보를 목적지 목록으로 설정하여 LocalEnvironment 트리에서 작성한 목적지 목록을 사용하도록 MQOutput 노드를 구성하십시오.
DestinationData 서브트리에 있는 요소의 전체 목록에 대한 정보는 DestinationData 서브트리에서 요소의 데이터 유형을 참조하십시오.