다중 출력 메시지 생성

PROPAGATE문을 사용하여 Compute 노드에서 다중 출력 메시지를 생성할 수 있습니다. 생성된 출력 메시지에는 동일하거나 다른 컨텐츠가 포함될 수 있습니다. Compute 노드의 네 가지 대체 출력 터미널 중 하나 또는 Label 노드로 출력 메시지를 보낼 수도 있습니다.

예를 들면, Compute 노드에서 수신한 입력 메시지의 사본을 세 개 작성하고 변경 시작하나는 Compute 노드의 표준 "Out" 터미널로, 또 하나는 Compute 노드의 첫 번째 대체 "out1" 터미널로, 나머지 하나는 Label 노드 "ThirdCopy"로 송신변경 끝하려면 다음 ESQL을 코딩하십시오.

      SET OutputRoot = InputRoot;
PROPAGATE;
      SET OutputRoot = InputRoot;
PROPAGATE변경 시작 TO TERMINAL 'out1'변경 끝;
      SET OutputRoot = InputRoot;
PROPAGATE TO LABEL 'ThirdCopy';
위의 예에서 디폴트로 노드가 PROPAGATE문이 완료될 때 출력 메시지 버퍼를 지우고 메모리를 다시 요구하므로 각 PROPAGATE 전에 OutputRoot의 컨텐츠를 재설정합니다. 대체 방법은 다음 목적지로 라우팅하기 위해 메시지를 사용할 수 있도록 처음 두 개의 PROPAGATE 문에서 노드가 출력 메시지를 지우지 않도록 지시하는 것입니다. 이를 수행하기 위한 코드는 다음과 같습니다. 변경 시작
      SET OutputRoot = InputRoot;
PROPAGATE DELETE NONE;
      SET OutputRoot = InputRoot;
PROPAGATE TO TERMINAL 'out1' DELETE NONE;
      SET OutputRoot = InputRoot;
PROPAGATE TO LABEL 'ThirdCopy';
변경 끝

출력 버퍼를 초기화하지 않으면, 빈 메시지가 생성되고 메시지 플로우가 오류를 감지하여 예외를 생성합니다.

또한 전달하는 각 출력 메시지에 대한 출력 메시지 버퍼에 모든 필수 메시지 헤더를 복사하는지 확인하십시오.

각 메시지를 전달하기 전에 출력 메시지 컨텐츠를 수정하려면, 원하는 변경을 수행하는 적절한 ESQL을 코드화한 후 PROPAGATE문을 코딩하십시오.

생성하려는 마지막 출력 메시지의 컨텐츠를 설정하고 이 메시지를 Compute 노드의 최종 조치로 전달할 경우에는, 최종 PROPAGATE문을 포함시키지 않아도 됩니다. Compute 노드의 디폴트 조치가 종료 시 출력 버퍼의 컨텐츠를 전달하는 것입니다. 이것은 모듈 구조에 최종 명령문으로 포함되는 RETURN TRUE문에서 구현됩니다.

예를 들면, 세 개의 입력 메시지 사본을 생성하고 더 이상의 조치를 수행하지 않으려면 이 코드를 RETURN TRUE문 바로 앞에 넣으십시오.

      SET OutputRoot = InputRoot;
PROPAGATE DELETE NONE;
PROPAGATE DELETE NONE;

또는, 다음을 RETURN TRUE에서 RETURN FALSE로 변경하여 노드의 디폴트 작동을 수정할 수도 있습니다.

      SET OutputRoot = InputRoot;
PROPAGATE DELETE NONE;
PROPAGATEDELETE NONE;
PROPAGATE;
RETURN FALSE;

세 개의 PROPAGATE문으로 세 개의 출력 메시지가 생성됩니다. 최종 RETURN FALSE문은 노드를 종료하지만 최종 출력 메시지를 전달하지는 않습니다. 최종 PROPAGATE 문에는 DELETE NONE 절이 포함되지 않습니다. 노드가 이 단계에서 메모리를 릴리스해야 하기 때문입니다.

관련 개념
메시지 플로우 개요
ESQL 개요
메시지 모델링
관련 태스크
메시지 플로우 설계
메시지 플로우 컨텐츠 정의
등록 정보 트리에 액세스
ESQL 파일 관리
관련 참조
Compute 노드
ESQL 참조
PROPAGATE문
RETURN문
SET문
관련 정보
Compute 노드
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ac12370_