A omissão e truncamento de elementos dependem da configuração da propriedade Suprimir Delimitadores de Elemento Ausentes.
Consulte Conjuntos de Mensagens: Propriedades TDS de Tipo Complexo, Conjuntos de Mensagens: Propriedades TDS de Grupo Global ou Conjuntos de Mensagens: Propriedades TDS de Grupo Local para obter uma descrição desta propriedade.
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 que você definiu com a propriedade Separação de Elemento de Dados do tipo configurado como Todos os Elementos Delimitados ou Elementos de Comprimento Variável Delimitados (nos quais os elementos são separados por um delimitador e não possuem nenhuma tag), quaisquer elementos que estiverem ausentes da extremidade do tipo complexo devem ser indicados pelo aplicativo que cria a mensagem de uma das duas maneiras. Estas maneiras fornecem técnicas para evitar sequências longas de delimitadores e para preservar a representação consistente de elementos ausentes.
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.
Isso é conhecido como o método de omissão, no qual os elementos simples ausentes são representados por uma sequê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.