Puede utilizar la sentencia PROPAGATE para generar varios mensajes de salida en el nodo Compute. Los mensajes de salida que se generen pueden tener el mismo contenido o un contenido distinto.
Por ejemplo, si desea crear tres copias del mensaje de entrada recibido por el nodo Compute, escriba el siguiente código ESQL:
SET OutputRoot = InputRoot; PROPAGATE; SET OutputRoot = InputRoot; PROPAGATE; SET OutputRoot = InputRoot; PROPAGATE;
Debe restablecer el contenido de OutputRoot antes de cada PROPAGATE, porque el nodo vacía el contenido del almacenamiento intermedio de mensajes de salida y reclama la memoria cuando finaliza la sentencia PROPAGATE. Si no inicializa el almacenamiento intermedio de salida, se genera un mensaje vacío y el flujo de mensajes detecta un error y emite una excepción.
Asegúrese también de copiar todas las cabeceras de mensajes necesarias en el almacenamiento intermedio de mensajes de salida para cada mensaje de salida que desee propagar.
Si desea modificar el contenido de mensajes de salida antes de propagar cada mensaje, escriba el código ESQL adecuado para realizar los cambios que desee antes de escribir la sentencia PROPAGATE.
Si establece el contenido del último mensaje de salida que desea generar y lo propaga como última acción del nodo Compute, no tiene que incluir la sentencia PROPAGATE final. La acción por omisión del nodo Compute es propagar el contenido del almacenamiento intermedio de salida cuando termina. Esto lo implementa la sentencia RETURN TRUE, que se incluye como sentencia final en el esqueleto del módulo.
Por ejemplo, si desea generar tres copias del mensaje y no realizar ninguna otra acción, modifique el ESQL anterior de la siguiente forma e incluya este código inmediatamente antes de la sentencia RETURN TRUE:
SET OutputRoot = InputRoot; PROPAGATE; SET OutputRoot = InputRoot; PROPAGATE; SET OutputRoot = InputRoot;
De forma alternativa, puede modificar el comportamiento por omisión del nodo cambiando RETURN TRUE por RETURN FALSE:
SET OutputRoot = InputRoot; PROPAGATE; SET OutputRoot = InputRoot; PROPAGATE; SET OutputRoot = InputRoot; PROPAGATE; RETURN FALSE;
Las tres sentencias PROPAGATE generan tres mensajes de salida. La sentencia RETURN FALSE final hace que el nodo termine pero no propague un mensaje de salida final.
Conceptos relacionados
Flujos de mensajes
ESQL
Diseño de mensajes
Tareas relacionadas
Diseño de un flujo de mensajes
Definición del contenido del flujo de mensajes
Acceso al árbol Propiedades
Gestión de archivos ESQL
Referencia relacionada
Nodo Compute
ESQL
Sentencia PROPAGATE
Sentencia RETURN
Sentencia SET
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ac12370_ |