환경(Environment) 트리에 액세스

환경 트리는 자체 상관 이름인 환경을 가지므로 이 트리의 컨텐츠를 참조하거나 설정하는 모든 ESQL문에서는 이를 사용해야 합니다.

환경 트리는 항상 입력 메시지에 대해 논리적 트리가 작성될 때 작성됩니다. 그러나, 메시지 플로우는 이 트리를 채우거나 트리 컨텐츠를 사용하지 않습니다. 한 노드에서 다른 노드로 정보를 전달하는 것과 같이 사용자의 목적을 위해 이 트리를 사용할 수 있습니다. 전체 트리를 스크래치패드 또는 작업 영역으로 사용할 수 있습니다.

환경 트리에서 사용자 전용 데이터를 작성하는 이점은 이 데이터가 논리적 트리의 부분으로서 메시지 플로우에 있는 후속 노드로 전달되는 것입니다. Compute 노드에서 새 출력 메시지를 작성하면, 환경 트리가 또한 입력 메시지로부터 새 출력 메시지로 복사됩니다. (이는 사용자가 명시적으로 요청할 경우 출력 메시지에만 포함되는 로컬 환경(LocalEnvironment) 트리와 대조되는 점입니다.)

메시지 플로우의 지속 기간 동안 하나의 환경만 존재합니다. 한 노드에서 작성하는 모든 데이터 갱신사항이나 추가사항은 보유되며, 메시지 플로우의 모든 노드는 이 트리의 마지막 사본에 액세스할 수 있습니다. 메시지가 메시지 플로우를 역으로 흐르는 경우(예를 들면, 예외가 발생하거나 메시지가 FlowOrder 노드의 두 번째 터미널을 통해 처리되는 경우)에도 마지막 상태는 보유됩니다.

이는 메시지가 메시지 플로우를 역으로 흐를 경우 이를 이전 상태로 되돌리는 로컬 환경 트리와는 대조되는 점입니다.

사용자가 선택하는 모든 용도에 이 트리를 사용할 수 있습니다. 예를 들면, 다음 ESQL문을 사용하여 트리에서 필드를 작성해야 합니다.
SET Environment.Variables = 
            ROW('granary' AS bread, 'reisling' AS wine, 'stilton' AS cheese);
SET Environment.Variables.Colors[] = 
      LIST{'yellow', 'green', 'blue', 'red', 'black'};
SET Environment.Variables.Country[] = LIST{ROW('UK' AS name, 'pound' AS currency),
   	 ROW('USA' AS name, 'dollar' AS currency)};

이 정보는 메시지 플로우의 상대 위치에 관계없이 메시지가 전달되는 모든 노드에 사용 가능합니다.

Environment를 사용하여 메시지 플로우의 다른 노드에서 사용되는 정보를 저장할 수 있는 방법의 또다른 예는 Airline 샘플 프로그램의 Reservation 메시지 플로우를 참조하십시오. 이 메시지 플로우의 Compute 노드는 입력 메시지의 필드 값에 따라 데이터베이스에서 추출한 정보를 서브트리 Environment.Variables에 씁니다.

관련 개념
메시지 플로우 개요
환경 트리 구조
ESQL 개요
메시지 모델링
관련 태스크
메시지 플로우 설계
메시지 플로우 컨텐츠 정의
ESQL 파일 관리
관련 참조
Compute 노드
Database 노드
Filter 노드
ESQL 참조
ROW 구성자 함수
LIST 구성자 함수
ROW 및 LIST 결합
ROW 및 LIST 비교
SET문
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ac16840_