Formato TDS: Tipos de Separação Delimitados

Para tipos de separação delimitados, é utilizado um delimitador para separar campos de dados, mas não existem marcações presentes. Os campos de dados precisam ser fornecidos na ordem correta no fluxo de bits e elementos não podem ser omitidos do meio do fluxo de bits.

O tipo de separação Todos os Elementos Delimitados significa que os campos de dados são delimitados por um caractere ou cadeia pré-especificada.Neste exemplo, quatro campos de dados são separados por um delimitador asterisco (*):
data1*data2*data3*data4
Os tipos de separação delimitados são restritivos na ordenação e presença de elementos:
Depois de considerar Regras de Truncamento e Supressão de Delimitadores, este tópico descreve os seguintes tipos de separação delimitados:

Regras de Truncamento e Supressão de Delimitadores

Todos os Elementos Delimitados

Em um tipo de separação Todos os Elementos Delimitados, todos os elementos são separados por um delimitador; por exemplo:
data1*data2*data3*data4*data5
em que Delimitador é *.

Um tipo de separação Todos os Elementos Delimitados não utiliza marcações nem seus parâmetros associados.

Para elementos textuais, o comprimento é determinado pelo delimitador e a propriedade Comprimento é ignorada, a menos que a propriedade Observar Comprimento do Elemento seja configurada.

Para elementos não-textuais, o comprimento é determinado pelo Tipo Físico do elemento. Consulte o Formato TDS: Determinando o Comprimento de Valores de Dados Simples.

Propriedades Aplicáveis

Estas propriedades são utilizadas:
  • Indicador de Grupo indica o início de um grupo ou tipo complexo.
  • Terminador de Grupo indica o final de um grupo ou tipo complexo.
  • Delimitador indica o separador entre os elementos de dados dentro de um grupo ou tipo complexo.
  • Suprimir Delimitadores de Elementos Ausentes indica se a supressão de delimitadores é permitida (consulte abaixo).
Por exemplo:
{data1*data22222*data3}
em que:
  • Indicador de Grupo é {
  • Terminador de Grupo é }
  • Delimitador é*

Regras de Elementos de Repetição

Se um elemento precisar ser repetido quando o tipo de separação for Todos os Elementos Delimitados, o Delimitador do Elemento de Repetição (RED) será utilizado para separar os elementos repetidos.

Por exemplo, se data2 repetir 5 vezes:
data1*data2:data2:data2:data2:data2*data3*data4
em que:
  • Delimitador é*
  • Delimitador de Elementos de Repetição é :
Se a propriedade Suprimir Delimitadores de Elemento Ausentes estiver configurada como Fim do Tipo, você poderá utilizar a supressão do delimitador. Portanto, se apenas o primeiro elemento data2 estava presente no exemplo anterior, o fluxo de bits lerá:
data1*data2*data3*data4
Entretanto, se a propriedade Suprimir Delimitadores de Elemento Ausentes estiver configurada como Nunca, o fluxo de bits lerá:
data1*data2::::*data3*data4
Se Delimitador e RED corresponderem, dois delimitadores serão exibidos para indicar que a repetição está finalizando. Portanto, se o delimitador e RED forem *, o fluxo de bits terá o seguinte formato:
data1*data2**data3*data4

Elementos de Comprimento Variável Delimitado

Em um tipo complexo com a separação Elementos Delimitados de Comprimento Variável, alguns elementos são determinados por seus comprimentos e outros elementos são delimitados. Esta combinação de um formato de comprimento delimitado e um fixo segue as regras que estão associadas a ambos os formatos. Os comprimentos podem ser fornecidos e utilizados, mas não são mandatórios.
  • Se um comprimento estiver presente para um elemento textual, ele será utilizado e não será necessário um delimitador para finalizar esse elemento. O elemento deve ser preenchido até o comprimento correto e não pode exceder esse comprimento.
  • Se nenhum comprimento para um elemento textual for especificado, o delimitador é necessário.
  • Para elementos não-textuais, o comprimento é determinado pelo Tipo Físico do elemento. Consulte o Formato TDS: Determinando o Comprimento de Valores de Dados Simples.

Um tipo complexo com a separação Elementos Delimitados de Comprimento Variável que contém apenas elementos de comprimento variável assemelha-se a um tipo complexo com a separação Todos os Elementos Delimitados. Se ele contiver apenas elementos de comprimento fixo, será semelhante a um tipo de Comprimento Fixo.

Por exemplo:
data1*data2*data3*data4000data5
em que:
  • Delimitador é*
  • data4 possui um comprimento de 8

Propriedades Aplicáveis

As seguintes propriedades são utilizadas:
  • Indicador de Grupo indica o início de um grupo ou tipo complexo.
  • Terminador de Grupo indica o final de um grupo ou tipo complexo.
  • Delimitador indica o separador entre os elementos de dados dentro de um grupo ou tipo complexo.
  • Suprimir Delimitadores de Elementos Ausentes indica se a supressão de delimitadores é permitida.
  • (Opcionalmente) Comprimento ou Referência de Comprimento indica o comprimento de um elemento textual. Se um elemento textual tiver um comprimento, esse comprimento será utilizado. Como o comprimento desse elemento é conhecido, não é necessário exibir um delimitador após ele. Se o comprimento não for conhecido, um delimitador é necessário. Um delimitador nunca é necessário para um elemento não textual.
Neste exemplo, o quarto campo (contendo data4) terá um comprimento fixo de 8 e seu caractere de preenchimento será 0:
{data1*data22222*data3*data4000data5}
em que:
  • Indicador de Grupo é {
  • Terminador de Grupo é }
  • Delimitador é*

Regras de Elementos de Repetição

A ação de um elemento de repetição em um ambiente Elementos de Comprimento Variável Delimitado é dependente do número mínimo e máximo de repetições e da condição para o elemento ter um comprimento.

Repetição do Elemento Delimitado

Se um elemento delimitado (ou seja, um elemento sem comprimento) for repetido, então um Delimitador de Elemento de Repetição (RED) será necessário e as regras para Todos os Elementos Delimitados serão seguidas. Portanto, é requerido um delimitador após a última repetição. A supressão de delimitadores dessa repetição também pode ocorrer.

Por exemplo, se data2 estiver se repetindo:
data1*data2:data2:data2:data2:data2:data2*data3*data4000data5
em que:
  • Delimitador é*
  • Delimitador de Elementos de Repetição é :
  • data4 possui um comprimento de 8

Se o campo Suprimir Delimitadores de elementos Ausentes estiver definido como Fim de Tipo, então você poderá utilizar a supressão de delimitador.

Se no exemplo acima apenas o primeiro data2 estiver presente:
data1*data2*data3*data4000data5
No entanto, se Suprimir Delimitadores de Elementos Ausentes estiver definido como Nunca, o fluxo de bits terá o seguinte formato:
data1*data2:::::*data3*data4000data5
Se o delimitador e RED forem correspondentes, dois delimitadores serão exibidos para indicar que a repetição está sendo finalizada. Portanto, se o delimitador e RED forem *, o fluxo de bits terá o seguinte formato:
data1*data2**data3*data4

Isso também se aplica ao tipo complexo de comprimento não-fixo ou grupo dentro de um ambiente Elementos de Comprimento Variável Delimitados.

Repetição do Elemento de Comprimento Fixo

Se um elemento com um comprimento definido (um elemento de comprimento fixo) estiver se repetindo e o número mínimo de ocorrências não for igual ao número máximo de ocorrências, um RED não será requerido, mas um delimitador será requerido após a última repetição.A supressão de delimitadores dessa repetição pode ocorrer.

Por exemplo, se data4 (com um comprimento fixo igual a 8) estiver se repetindo e seu número mínimo de ocorrências for 2, o número máximo de ocorrências será 4:
data1*data2*data3*data400data400data400data400*data5
em que o Delimitador é *
Ou, se houver apenas duas ocorrências de data4:
data1*data2*data3*data4000data4000*data5

Se um elemento com um comprimento definido (um elemento de comprimento fixo) for repetido e o número mínimo de ocorrências for igual ao número máximo de ocorrências, um RED não será requerido.Um delimitador também não será requerido após a última repetição. O truncamento dessa repetição não pode ocorrer e todos os elementos precisam estar presentes.

Por exemplo, se data4 (com um comprimento fixo igual a 8) se repete quatro vezes:
data1*data2*data3*data4000data4000data4000data4000data5
em que o Delimitador é *
Ou, se houver apenas duas ocorrências de data4:
data1*data2*data3*data4000data40000000000000000000data5

Isso também se aplica ao tipo complexo de comprimento não-fixo ou grupo dentro de um ambiente Elementos de Comprimento Variável Delimitados.

Se um tipo complexo possui a separação Elementos Delimitados de Comprimento Variável, um delimitador é sempre exibido entre um elemento complexo ('filho') incluído e o próximo elemento, mesmo se a separação do elemento complexo 'filho' for Comprimento Fixo. Na entrada, o analisador aceita o fluxo de bits com ou sem um delimitador desse tipo.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:11:59

ad00812_