Acessando a Árvore Ambiente Local

A árvore LocalEnvironment possui seu próprio nome de correlação, LocalEnvironment, e é necessário utilizá-lo em todas as instruções ESQL que consultam ou definem o conteúdo dessa árvore.

A árvore Ambiente Local é utilizada pelo intermediário e você pode referir-se a e modificar estas informações. Também pode estender a árvore para conter informações criadas por você mesmo. Você pode criar subárvores nesta árvore que podem ser utilizadas como uma área de scratchpad ou de trabalho.

Este tópico descreve como você pode consultar as informações configuradas pelo intermediário. Utilizando Áreas do Bloco de Rascunho em Ambiente Local descreve como você pode estender o conteúdo desta árvore para suas próprias finalidades.

O fluxo de mensagens configura informações em duas subárvores, Destination e WrittenDestination, abaixo da raiz LocalEnvironment. Você pode consultar o conteúdo de ambas, e pode fazer gravações nelas para influenciar a forma pela qual o fluxo de mensagens processa sua mensagem. No entanto, se você gravar nestas áreas, deverá certificar-se de seguir a estrutura definida para assegurar-se de que a árvore permaneça válida. Para obter detalhes adicionais sobre seu conteúdo, consulte Árvore Ambiente Local.

Se desejar que a árvore LocalEnvironment seja incluída na mensagem de saída que é propagada pelo nó Compute, será necessário certificar-se de copiar esta árvore definindo a propriedade do nó Compute Modo Calcular como um valor que inclua LocalEnvironment (por exemplo, Tudo). Se não fizer isso, a árvore Ambiente Local não será incluída na mensagem de saída.

Por exemplo, para verificar se os destinos do estão presentes na subárvore de Destino:
DECLARE cursor REFERENCE TO LocalEnvironment.Destination.MQ;

    IF LASTMOVE(cursor) THEN
Para atualizar a subárvore Destination para alterar o nome de uma fila do , para a qual a mensagem é gravada na saída, codifique o seguinte (ela utiliza o cursor de referência, declarado no exemplo acima):
SET cursor.DestinationData.queueManagerName = 'myNewQManagerName';
SET cursor.DestinationData.queueName = 'myNewQueueName';
As informações inseridas em Dados de Destino ou em Padrões dependem da característica da propriedade do nó correspondente:
  • Se uma propriedade do nó estiver representada por uma caixa de opções (por exemplo, Novo ID da Mensagem, será necessário definir o elemento Defaults ou DestinationData como Sim (equivalente a selecionar a caixa de opções) ou Não (equivalente a limpar a caixa de opções).
  • Se uma propriedade do nó estiver representada por uma lista drop-down (por exemplo, Modo de Transação), será necessário definir o elemento Defaults ou DestinationData para a cadeia de caracteres apropriada (por exemplo, Automático).
  • Se uma propriedade do nó estiver representada por um campo de entrada de texto (por exemplo, Nome do Gerenciador de Filas), será necessário definir o elemento Defaults ou DestinationData para a cadeia de caracteres que seria inserida nesse campo.
É necessário configurar o nó de saída para indicar onde estão as informações de destino para a mensagem de saída:
  • Se você definir Modo de Destino como Nome da Fila, a mensagem de saída será enviada para a fila identificada nas propriedades do nó de saída Nome da Fila e Nome do Gerenciador de Filas.Destino não é referido pelo nó.
  • Se você definir Modo de Destino como Lista de Destino, o nó extrairá as informações de destino da subárvore Destino. Isso significa que você pode enviar uma única mensagem para vários destinos, se configurar Destination e um único nó de saída corretamente. O nó apenas verificará as propriedades do nó se um valor não estiver disponível em Destino (conforme descrito acima).
  • Se você definir Modo de Destino como Fila Responder para, a mensagem será enviada para a fila responder para no MQMD nesta mensagem (campo ReplyToQ).Destino não é referido pelo nó.

Para obter informações sobre a lista completa de elementos nas sub-árvores Defaults e DestinationData, consulte Tipos de Dados para Elementos na Subárvore Dados de Destino.

Para obter outro exemplo de como você pode utilizar Ambiente Local para modificar o comportamento de um fluxo de mensagens, consulte o fluxo de mensagens XML_PassengerQuery no programa de amostra Airline. O nó Compute neste fluxo de mensagens grava uma lista de destinos na subárvore RouterList de Destino que são utilizados como rótulos por um nó RouteToLabel posterior que propaga a mensagem para o nó Label correspondente.

Conceitos relacionados
Fluxos de Mensagem
Árvore Ambiente Local
ESQL
Modelagem de Mensagens

Tarefas relacionadas
Projetando um Fluxo de Mensagens
Criando Listas de Destino
Definindo o Conteúdo do Fluxo de Mensagens
Gerenciando Arquivos ESQL

Referências relacionadas
Nó Compute
Nó Database
Nó Filter
Tipos de Dados para Elementos na Subárvore Dados de Destino
ESQL
Instrução DECLARE
Função LASTMOVE
Instrução SET