Acessando Mensagens Incorporadas no Domínio MRM

Se tiver definido uma mensagem de várias partes, isso significa que você tem pelo menos uma mensagem incorporada em outra. No tipo complexo geral que representa as mensagens externas, será possível modelar a mensagem interna de uma das seguintes maneiras:
  • Um elemento (denominado E_outer1 no exemplo a seguir) com sua propriedade Tipo definida como um tipo complexo que foi definido com sua propriedade Composição definida como Mensagem
  • Um tipo complexo com sua propriedade Composição definida como Mensagem (denominada t_Embedded no exemplo a seguir)
O ESQL necessário para gravação para manipular a mensagem interna varia, dependendo de qual dos modelos acima foi utilizado. Por exemplo, assuma que tenha definido:
  • Uma mensagem externa M_outer com sua propriedade Tipo definida como t_Outer.
  • Uma mensagem interna M_inner1 com sua propriedade Tipo definida como t_Inner1
  • Uma mensagem interna M_inner2 com sua propriedade Tipo definida como t_Inner2
  • O Tipo t_Outer com seu primeiro elemento filho denominado E_outer1 e seu segundo filho definido como um tipo complexo denominado t_Embedded
  • O Tipo t_Embedded com sua propriedade Composição definida como Mensagem
  • O Tipo t_Inner1 com seu primeiro elemento filho denominado E_inner11
  • O Tipo t_Inner2 com seu primeiro elemento filho denominado E_inner21
  • O Tipo t_outer1 com sua propriedade Composição definida como Mensagem
  • O Elemento E_outer1 com sua propriedade Type definida como t_outer1
Se você deseja definir o valor E_inner11, codifique o seguinte ESQL:
SET OutputRoot.MRM.E_outer1.M_inner1.E_inner11 = 'FRED';  
Se você deseja definir o valor E_inner21, codifique o seguinte ESQL:
SET OutputRoot.MRM.M_inner2.E_inner21 = 'FRED';  

Se você copiar cabeçalhos de mensagens da mensagem de entrada para a mensagem de saída e seu tipo de mensagem de entrada contiver um caminho, apenas o nome mais externo no caminho será copiado para o tipo de mensagem de saída.

Ao configurar um fluxo de mensagens para tratar mensagens incorporadas, você pode especificar o caminho de um tipo de mensagem em um cabeçalho MQRFH2 (se um estiver presente na mensagem de entrada) ou na propriedade Tipo de Mensagem do nó de entrada em lugar de um nome (por exemplo, para a mensagem modelada acima, o caminho pode ser especificado como M_Outer/M_Inner1/M_Inner2 em vez de apenas M_Outer).

Se você tiver especificado que a mensagem de entrada tenha um formato físico CWF ou XML, qualquer prefixo do tipo de mensagem será concatenado na frente do tipo de mensagem de MQRFH2 ou do nó input, fornecendo um caminho final a ser utilizado (para obter informações adicionais, consulte Mensagens de Várias Partes).O MRM utiliza o primeiro item no caminho como o tipo de mensagem mais externo, funcionando progressivamente de forma interna quando localiza um tipo complexo com sua propriedade Composição definida como Mensagem.

Se você tiver especificado que a mensagem de entrada tenha um formato físico TDS, será implementado um processo diferente que utiliza chaves de mensagens. Esse procedimento é descrito na seção Formato TDS: Mensagens Multipartes.

Para obter informações adicionais sobre concatenação de caminhos, consulte Propriedades do Conjunto de Mensagens.

Conceitos relacionados
Visão Geral de Fluxos de Mensagens
Visão Geral do ESQL
Modelagem de Mensagens
Mensagens de Várias Partes
Formato TDS: Mensagens Multipartes
Tarefas relacionadas
Projetando um Fluxo de Mensagens
Definindo o Conteúdo do Fluxo de Mensagens
Gerenciando Arquivos ESQL
Desenvolvendo Modelos de Mensagens
Referências relacionadas
Nó Compute
Nó Database
Nó Filter
Referência de ESQL
Instrução SET
Propriedades do Conjunto de Mensagens
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ac17410_