PROPAGATE 문은 메시지를 다운스트림 노드로 전달합니다.
Compute 및 Database 노드에서 PROPAGATE 문을 사용할 수 있지만 Filter 노드에서는 사용할 수 없습니다.
‘nowhere’ : no propagation ‘failure’ : failure ‘out’ : out ‘out 1 : out1 ‘out 2 : out2 ‘out 3 : out3 ‘out 4’ : out4
-2 : no propagation -1 : failure 0 : out 1 : out1 2 : out2 3 : out3 4 : out4
TerminalExpression의 결과가 CHARACTER나 INTEGER가 아닌 경우 브로커에서 예외가 발생합니다.
TO TERMINAL 절이나 TO LABEL 절이 없는 경우 브로커에서 메시지를 "out" 터미널로 전달합니다.
LabelExpression의 결과가 널(null)이거나 CHARACTER 유형이 아니거나 플로우에 일치하는 Label 노드가 없는 경우 브로커에서 예외가 발생합니다.
TO TERMINAL 절이나 TO LABEL 절이 없는 경우 브로커에서 메시지를 "out" 터미널로 전달합니다.
MessageSources 절은 전달할 메시지 트리를 선택합니다. 이 절은 Compute 노드에만 적용됩니다(Database 노드에는 영향을 주지 않음).
ENVIRONMENT : InputLocalEnvironment OutputLocalEnvironment Message : InputRoot OutputRoot ExceptionList : InputExceptionList OutputExceptionList
MessageSources 절이 없는 경우 전달할 메시지를 판별하는 데 노드의 "compute mode" 속성이 사용됩니다.
이 절은 Compute 노드에만 적용됩니다(Database 노드에는 영향을 주지 않음).
FINALIZE가 DEFAULT로 설정되거나 FINALIZE절이 없으면 전달되기 전에 출력 메시지(Environment, Local Environment 또는 Exception List는 아님)가 완료됩니다.
FINALIZE가 NONE으로 설정된 경우 완료되지 않습니다.
DELETE 절은 Compute 노드에만 적용됩니다(Database 노드에는 영향을 주지 않음).
DELETE가 DEFAULT로 설정되거나 DELETE절이 없는 경우 출력 로컬 환경, 메시지 및 예외 목록이 모두 지워지고 전달 후에 메모리가 즉시 복구됩니다.
DELETE가 NONE으로 설정되는 경우에는 아무 것도 지워지지 않습니다.
전달되는 사항에 상관 없이 완료되고 지워지는 출력 트리입니다.
전달은 동기적 프로세스입니다. 즉, 다운스트림 노드의 모든 메시지 처리가 완료될 때까지 다음 명령문이 실행되지 않습니다. 이 처리에 의해 예외가 발생할 수 있으며 이 예외가 발견되지 않는 경우 PROPAGATE 호출 다음의 명령문에 도달하지 않음에 주의하십시오. 이것이 플로우의 논리에 필요한 사항일 수 있지만 그렇지 않은 경우 핸들러를 사용하여 예외를 포착하여 필수 조치를 수행할 수 있습니다. 포착하지 않은 경우 전달의 예외 발생 다운스트림은 Compute 또는 Database 노드의 마지막 자동 조치(예: COMMIT Transaction set to Commit 발행)가 발생하지 않도록 합니다.
DECLARE i INTEGER 1; DECLARE count INTEGER; SET count = CARDINALITY(InputRoot.XML.Invoice.Purchases."Item"[]) WHILE i <= count DO --use the default tooling-generated procedure for copying message headers CALL CopyMessageHeaders(); SET OutputRoot.XML.BookSold.Item = InputRoot.XML.Invoice.Purchases.Item[i]; PROPAGATE; SET i = i+1; END WHILE; RETURN FALSE;
다음은 PROPAGATE문의 의해 OUT 터미널에서 생성되는 메시지입니다.
<BookSold> <Item> <Title Category="Computer" Form="Paperback" Edition="2">The XML Companion </Title> <ISBN>0201674866</ISBN> <Author>Neil Bradley</Author> <Publisher>Addison-Wesley</Publisher> <PublishDate>October 1999</PublishDate> <UnitPrice>27.95</UnitPrice> <Quantity>2</Quantity> </Item> </BookSold>
<BookSold> <Item> <Title Category="Computer" Form="Paperback" Edition="2">A Complete Guide to DB2 Universal Database</Title> <ISBN>1558604820</ISBN> <Author>Don Chamberlin</Author> <Publisher>Morgan Kaufmann Publishers</Publisher> <PublishDate>April 1998</PublishDate> <UnitPrice>42.95</UnitPrice> <Quantity>1</Quantity> </Item> </BookSold>
<BookSold> <Item> <Title Category="Computer" Form="Hardcover" Edition="0">JAVA 2 Developers Handbook</Title> <ISBN>0782121799</ISBN> <Author>Phillip Heller, Simon Roberts </Author> <Publisher>Sybex, Inc.</Publisher> <PublishDate>September 1998</PublishDate> <UnitPrice>59.99</UnitPrice> <Quantity>1</Quantity> </Item> </BookSold>