Omissão e Truncamento de Elementos

A omissão e truncamento de elementos dependem da definição da propriedade Suprimir Delimitadores de Elementos Ausentes. Uma descrição disso pode ser encontrada em Propriedades TDS de Tipo Complexo, Propriedades TDS do Grupo Global ou Propriedades de TDS do Grupo Local.

Se você tiver criado uma mensagem na qual alguns elementos são opcionais, uma mensagem de entrada pode não conter todos os elementos definidos. Se os elementos estiverem em um tipo complexo definido com a propriedade Separação de Elementos de Dados do tipo definido como Todos os Elementos Delimitados ou Elementos Variáveis Delimitados (no qual os elementos são separados por um delimitador e não possuem tag), os elementos que estiverem ausentes no final do tipo complexo deverão ser indicados pelo aplicativo que cria a mensagem em uma de duas formas. Ambos fornecem técnicas para evitar longas seqüências desnecessárias de delimitadores e para preservar a representação consistente de elementos ausentes.

  1. Se você definir a propriedade Delimitador para o tipo complexo como um valor que não corresponde ao valor definido para a propriedade Delimitador para nenhum dos tipos pai do tipo complexo, os elementos no final da mensagem poderão ser indicados pela ocorrência de um Delimitador de um de seus pais após o último elemento real nos dados de tipo complexo.

    Isso é conhecido como o método de truncamento, no qual os elementos ausentes são tratados como não-esperados e os dados e delimitadores são omitidos no fluxo de bits.

    Por exemplo, você define um elemento complexo C que possui quatro elementos opcionais. Você define a propriedade Delimitador para os caracteres de sinal de mais (+). Você define o elemento complexo P e define a propriedade Delimitador de P como asterisco (*). Você adiciona três elementos a P, o primeiro é uma cadeia, o segundo é um elemento complexo C e o terceiro é uma cadeia.

    Quando uma determinada instância da mensagem for recebida pelo intermediário, todos os elementos de P estarão presentes, mas apenas os dois primeiros elementos de C estarão presentes. Os dados na mensagem aparecem da seguinte forma, se o método de truncamento for utilizado (em que Pn são os valores dos elementos de P e Cn os valores dos elementos de C):

    P1*C1+C2*P3

    Quando o analisador encontra o segundo delimitador asterisco, ele determina que os dois últimos elementos do elemento complexo C não estão presentes e o próximo elemento será o terceiro elemento de P.

    Você pode utilizar o truncamento com êxito apenas quando a omissão e o truncamento fizerem com que o analisador exiba o mesmo comportamento, a menos que os elementos truncados tenham comprimento fixo.

  2. Se o Delimitador de tipo complexo corresponder ao delimitador de um de seus pais, o método de truncamento não poderá ser utilizado. Isso ocorre porque o analisador não pode determinar se o delimitador após o último elemento serve para o tipo complexo atual ou para um de seus pais. Portanto, um delimitador deve ser incluído nos dados da mensagem para cada elemento ausente para assegurar que o analisador pode corresponder os elementos ao modelo.

    Isso é conhecido como o método de omissão, no qual os elementos simples ausentes são representados por uma seqüência vazia de caracteres entre dois delimitadores.

    Por exemplo, você define P e C como no exemplo anterior, mas define a propriedade Delimitador para P como o sinal de mais (+). Quando a mesma mensagem for recebida pelo intermediário (todos os elementos de P estão presentes, os dois primeiros elementos de C estão presentes), os dados na mensagem aparecerão da seguinte forma:

    P1+C1+C2++P3

    Dois caracteres delimitadores foram inseridos nos dados da mensagem para os elementos ausentes do elemento complexo C. Se o método de truncamento tiver sido utilizado, o analisador interpretará o valor de dados P3 como o valor do terceiro elemento do elemento complexo C e não como o terceiro elemento do tipo complexo P.

Conceitos relacionados
Modelagem de Mensagens
O Modelo de Mensagem
Formato TDS: Relacionamento com o Modelo Lógico
Tarefas relacionadas
Desenvolvendo Modelos de Mensagens
Trabalhando com um Arquivo de Definição de Mensagem
Trabalhando com Objetos de Modelo de Mensagem
Referências relacionadas
Informações de Referência do Modelo de Mensagens
Propriedades do Objeto de Modelo de Mensagem
Informações adicionais do domínio MRM
Informações Adicionais sobre TDS
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ad09490_