Dicas e Restrições de Mapeamento de Mensagens

Estas dicas supõem que você tenha criado um nó de mapeamento no fluxo de mensagens, aberto o Editor de Mapeamento de Mensagens e selecionado uma mensagem de origem e uma de destino:

Origem é uma lista e destino é uma lista da origem, mas com uma nova entrada na parte superior da lista

  1. Expanda o destino para exibir o elemento para o qual você deseja criar uma nova primeira instância. Isto pode ser uma estrutura ou um elemento simples.
  2. Clique com o botão direito do mouse no elemento e clique em If. Aparece uma linha da condição imediatamente abaixo.
  3. Clique com o botão direito do mouse no elemento e clique em Copiar. Vá para a linha de condição e clique em Colar. Agora há duas entradas na planilha para seu elemento.
  4. Configure a primeira destas entradas como valores de sua opção. Esta é a primeira instância.
  5. Clique com o botão direito do mouse na segunda entrada e clique em For. Aparece uma linha for na planilha.
  6. Configure a segunda entrada como o valor ou valores mapeados da origem.
  7. Configure a entrada for como a condição de looping.
  8. Clique em for, em seguida, arraste o campo de origem que representa a condição de loop para o editor de Expressão.

Alterar o Analisador do Tempo de Execução de Destino

Ao criar um mapeamento pela primeira vez, você nomeia um conjunto de mensagens para a mensagem de destino. O analisador associado à mensagem de saída é o analisador de tempo de execução associado ao conjunto de mensagens. Por exemplo, quando um conjunto de mensagens é criado pela primeira vez, o analisador de tempo de execução padrão é MRM. Isso significa que o Nó Mapping gera ESQL com o seguinte formato:
SET OutputRoot.MRM.Fielda...
Se você alterar o analisador do tempo de execução para XML ou XMLNSC, por exemplo, o nó de mapeamento gera ESQL com o seguinte formato:
SET OutputRoot.XMLNSC...
O analisador da mensagem de origem é determinado pelo cabeçalho MQRFH2 para o nó input. O Nó Mapping pode manipular todos os analisadores na entrada. O Nó Mapping gera uma mensagem de destino com um analisador que corresponde ao analisador do tempo de execução do conjunto de mensagens.
  1. Abra o arquivo do conjunto de mensagens messageset.mset.
  2. Altere o analisador do tempo de execução para um valor de sua opção e salve o projeto ou projetos de fluxo de mensagens, referindo esse conjunto de mensagens para finalidades de mapeamento.
  3. Se você tiver alterado o analisador para MRM, implemente o conjunto de mensagens.
  4. Implemente o fluxo de mensagens que contém os mapeamentos e teste seu ESQL em um nó Compute e em outros nós para assegurar que eles ainda funcionam conforme o esperado.

Substituir o Nome do Esquema do Banco de Dados

Para alterar o nome do esquema de banco de dados gerado em ESQL, utilize o assistente Substituir Esquema RDB na caixa de diálogo Especificar Esquema do Tempo de Execução. O padrão é o nome do esquema das definições de banco de dados que são importadas para o Message Brokers Toolkit. Utilize essa caixa de diálogo para alterar o valor.

Mapear Mensagens em Batch

Você pode configurar um mapeamento de mensagem que classifique, ordene e divida os componentes de uma mensagem multipartes em uma série de mensagens em batch. Esses componentes podem ser mensagens ou objetos e eles podem ter diferentes formatos. Se esse for o caso, cada componente é convertido e a mensagem é remontada antes de ser encaminhada.
  1. Utilize um Nó RouteToLabel no fluxo de mensagens para receber mensagens multipartes como entrada.

    O nó RouteToLabel é o próximo nó da seqüência após o Nó Mapping e faz com que o fluxo salte automaticamente para a etiqueta especificada. Você pode especificar um único valor RouteToLabel em um mapa de divisão para todos os mapas que têm como saída uma montagem de mensagem. Você também pode utilizar condições para configurar o valor de RouteToLabel dependendo dos valores da mensagem de origem.

  2. Utilize o Editor de Mapeamento de Mensagens para construir mapas que transformam e propagam mensagens em batch em um único nó, sem precisar definir uma estrutura de dados intermediária.

As mensagens multipartes também podem conter mensagens incorporadas de repetição, em que cada instância repetida de uma mensagem é propagada separadamente. Mensagens incorporadas devem ser do mesmo conjunto de mensagens que a mensagem pai.

Restrições de Mapeamento

A menos que informado explicitamente, você pode alcançar uma funcionalidade requerida chamando uma função ou procedimento ESQL. Aqui estão algumas restrições:
  • Os campos de conteúdo misto não podem ser mapeados.
  • As exceções não podem ser emitidas diretamente em nós de mapeamento.
  • Elementos auto-definidos não podem ser manipulados nos nós de mapeamento (há suporte limitado para curingas quando eles representam mensagens incorporadas).
  • A árvore Ambiente não pode ser manipulada no nó de mapeamento.
  • As variáveis do usuário não podem ser definidas e configuradas.
  • Expressões CASE não podem ser emuladas; você deve utilizar if/else.
  • As árvores não podem ser copiadas da entrada para a saída para modificar elementos na árvore copiada. Por exemplo, o ESQL a seguir não pode ser modelado em um Nó Mapping:
    SET OutputRoot.MQMD = InputRoot.MQMD; SET OutputRoot.MQMD.ReplyToQ = 'NEW.QUEUE';
    Você deve configurar cada campo da estrutura de forma individual se você tiver a intenção de modificar um ou mais campos irmãos.
Conceitos relacionados
Editor de Mapeamento de Mensagens
Domínio e Analisador MRM
Analisadores e Domínios XML
Tarefas relacionadas
Desenvolvendo ESQL
Referências relacionadas
Nó Mapping
Nó Compute
Nó RouteToLabel
Mapeamentos de Mensagens
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ar25245_