Gerando Várias Mensagens de Saída

Para gerar várias mensagens de saída no nó Compute, você pode utilizar a instrução PROPAGATE. As mensagens de saída que você gera podem ter o mesmo conteúdo ou conteúdo diferente.

Por exemplo, se desejar criar três cópias da mensagem de entrada recebida pelo nó Compute, codifique o seguinte ESQL:

SET OutputRoot = InputRoot;
    PROPAGATE;
SET OutputRoot = InputRoot;
    PROPAGATE;
SET OutputRoot = InputRoot;
    PROPAGATE;

Você deve redefinir o conteúdo de OutputRoot antes de cada PROPAGATE, porque o nó limpa o buffer da mensagem de saída e recupera a memória quando a instrução PROPAGATE é concluída. Se você não inicializar o buffer de saída, será gerada uma mensagem vazia e o fluxo de mensagens detectará um erro e emitirá uma exceção.

Assegure também que todos os cabeçalhos de mensagem requeridos foram copiados para o buffer da mensagem de saída para cada mensagem de saída propagada.

Se desejar modificar o conteúdo da mensagem de saída antes de propagar cada mensagem, codifique o ESQL apropriado para fazer as alterações desejadas antes de codificar a instrução PROPAGATE.

Se você configurar o conteúdo da última mensagem de saída que deseja gerar e propagá-lo como a ação final do nó Compute, não será necessário incluir a instrução PROPAGATE final. A ação padrão do nó Compute é propagar o conteúdo do buffer de saída quando ele é finalizado. Isso é implementado pela instrução RETURN TRUE, incluída como instrução final na estrutura do módulo.

Por exemplo, se desejar gerar três cópias da mensagem e não executar nenhuma ação adicional, modifique o ESQL de exemplo mostrado acima, da seguinte forma:

SET OutputRoot = InputRoot;
    PROPAGATE;
SET OutputRoot = InputRoot;
    PROPAGATE;
SET OutputRoot = InputRoot;

Como alternativa, você pode modificar o comportamento padrão do nó alterando RETURN TRUE para RETURN FALSE:

SET OutputRoot = InputRoot;
    PROPAGATE;
SET OutputRoot = InputRoot;
    PROPAGATE;
SET OutputRoot = InputRoot;
    PROPAGATE;
RETURN FALSE;

São geradas três mensagens de saída pelas três instruções PROPAGATE. A instrução RETURN FALSE final faz com que o nó finalize mas não propague uma mensagem de saída final.

Conceitos relacionados
Fluxos de Mensagem
ESQL
Modelagem de Mensagens

Tarefas relacionadas
Projetando um Fluxo de Mensagens
Definindo o Conteúdo do Fluxo de Mensagens
Acessando a Árvore de Propriedades
Gerenciando Arquivos ESQL

Referências relacionadas
Nó Compute
ESQL
Instrução PROPAGATE
Instrução RETURN
Instrução SET