Formato TDS: Tipos de separación delimitada

Para los tipos de separación delimitada, se utiliza un delimitador para separar los campos de datos, pero no hay códigos. Es necesario proporcionar a los campos de datos el orden correcto en la corriente de bits y no se pueden omitir elementos de la parte central de la corriente de bits.

El tipo de separación Todos los elementos delimitados significa que los campos de datos se delimitan mediante un carácter o una serie de caracteres que se especifica previamente. En este ejemplo, se separan cuatro campos de datos con un delimitador de asterisco (*):
data1*data2*data3*data4
Los tipos de separación delimitada son restrictivos respecto al orden y a la presencia de los elementos:
Después de tener en cuenta las Normas de supresión de delimitador y truncamiento, este tema describe los siguientes tipos de separación delimitada:

Normas de supresión de delimitador y truncamiento

Todos los elementos delimitados

En un tipo de separación de Todos los elementos delimitados, se separan todos los elementos con un delimitador; no se determina ninguno de ellos por su longitud. Por ejemplo:
data1*data2*data3*data4*data5
donde el Delimitador es *

Parámetros aplicables

Se utilizan estos parámetros:
  • Indicador de grupo indica el inicio de un grupo o un tipo complejo.
  • Terminador de grupo indica el final de un grupo o un tipo complejo.
  • Delimitadores separan los elementos de datos dentro de un grupo o un tipo complejo.
  • Suprimir delimitadores de elementos ausentes indica si se permite la supresión de delimitadores (ver más arriba).

Todos los elementos delimitados no utiliza códigos ni parámetros asociados. También se ignoran las longitudes.

Por ejemplo:
{data1*data22222*data3}
donde:
  • El Indicador de grupo es {
  • El Terminador de grupo es }
  • El Delimitador es *

Normas de repetición de elemento

Si es necesario repetir un elemento en un tipo de Todos los elementos delimitados, se utiliza el Delimitador de elemento de repetición (RED) para separar los elementos repetidos.

Por ejemplo si se repite data2 5 veces:
data1*data2:data2:data2:data2:data2*data3*data4
donde:
  • El Delimitador es *
  • El Delimitador de elemento de repetición es :
Si el campo Suprimir delimitadores de elementos ausentes se establece en Fin de tipo, puede utilizar la supresión de delimitadores. Por lo tanto, si en el ejemplo anterior sólo estaba presente el primer elemento data2, la corriente de bits será:
data1*data2*data3*data4
Sin embargo, si el campo Suprimir delimitadores de elementos ausentes se establece en Nunca, la corriente de bits será:
data1*data2::::*data3*data4
Si el delimitador y el RED coinciden, en la salida habrá dos delimitadores para indicar que la repetición está finalizando. De este modo, si el delimitador y el RED son *, la corriente de bits será:
data1*data2**data3*data4

Elementos de longitud variable delimitados

En un tipo de separación de Elementos variables delimitados (también conocido como tipo de separación Delimitada y fija), algunos elementos se determinan por su longitud mientras que otros están delimitados. Es realmente una combinación de un formato delimitado y de un formato de longitud fija y sigue las normas asociadas a ambos. Se pueden proporcionar y utilizar longitudes, pero no son obligatorias.
  • Si existe una longitud para un elemento, ésta se utilizará y no se necesitará ningún delimitador para terminar dicho elemento. El elemento debe rellenarse hasta la longitud correcta y no puede exceder dicha longitud.
  • Si no se proporciona ninguna longitud, será necesario el delimitador.

Un tipo de separación de Elementos variables delimitados que sólo contenga elementos de longitud variable es parecido a un tipo de Todos los elementos delimitados. Si sólo contiene elementos de longitud fija, es parecido a un tipo de Longitud fija.

Por ejemplo:
data1*data2*data3*data4000data5
donde:
  • El Delimitador es *
  • data4 tiene una longitud de 8

Parámetros aplicables

Se utilizan estos parámetros:
  • Indicador de grupo indica el inicio de un grupo o un tipo complejo.
  • Terminador de grupo indica el final de un grupo o un tipo complejo.
  • Delimitadores separan los elementos de datos dentro de un grupo o un tipo complejo.
  • Suprimir delimitadores de elementos ausentes indica si se permite la supresión de delimitadores.
  • (Opcionalmente) la Longitud o la Referencia de longitud indica la longitud de un elemento. Si un elemento tiene una longitud, se utiliza dicha longitud. Dado que se conoce la longitud de este elemento, no es necesario poner en la salida ningún después del mismo. Si no se conoce la longitud, se necesita un elemento.
En este ejemplo, el cuarto campo (que contiene data4) tiene una longitud fija de 8 y su carácter de relleno es 0:
{data1*data22222*data3*data4000data5}
donde:
  • El Indicador de grupo es {
  • El Terminador de grupo es }
  • El Delimitador es *

Normas de repetición de elemento

La acción de un elemento de repetición en un entorno de Elementos variables delimitados depende del número mínimo y máximo de repeticiones y de que el elemento tenga una longitud.

Elemento delimitado de repetición

Si un elemento delimitado (es decir, un elemento sin longitud) se repite, se necesita un Delimitador de elemento de repetición (RED) y se siguen las normas para Todos los elementos delimitados. Por consiguiente, se necesita un delimitador después de la última repetición. También se puede producir la supresión de delimitador de esta repetición.

Por ejemplo, si se repite data2:
data1*data2:data2:data2:data2:data2:data2*data3*data4000data5
donde:
  • El Delimitador es *
  • El Delimitador de elemento de repetición es :
  • data4 tiene una longitud fija de 8

Si el campo Suprimir delimitadores de elementos ausentes se establece en Fin de tipo, puede utilizar la supresión de delimitadores.

Si en el ejemplo anterior sólo está presente el primer data2:
data1*data2*data3*data4000data5
Sin embargo, si Suprimir delimitadores de elementos ausentes se establece en Nunca, la corriente de bits será:
data1*data2:::::*data3*data4000data5
Si el delimitador y el RED coinciden, en la salida habrá dos delimitadores para indicar que la repetición está finalizando. De este modo, si el delimitador y el RED son *, la corriente de bits será:
data1*data2**data3*data4

Esto también se aplica a un tipo complejo o grupo de longitud no fija en un entorno de Elementos variables delimitados.

Elemento de longitud fija de repetición

Si un elemento con una longitud definida (un elemento de longitud fija) se repite y el número mínimo de apariciones no es igual al máximo de apariciones, no se necesita el RED, pero se necesita un delimitador después de la última repetición. Se puede producir la supresión de delimitador de esta repetición.

Por ejemplo, si data4 (con una longitud fija de 8) se repite y el número mínimo de apariciones es 2, el número máximo de apariciones es 4:
data1*data2*data3*data400data400data400data400*data5
donde el Delimitador es *
O, si sólo hay dos apariciones de data4:
data1*data2*data3*data4000data4000*data5

Si un elemento con una longitud definida (un elemento de longitud fija) se repite y el número mínimo de apariciones es igual al máximo de apariciones, no se necesita ningún RED. Tampoco se necesita ningún delimitador después de la última repetición. No se puede producir ningún truncamiento de esta repetición y tienen que estar presentes todos los elementos.

Por ejemplo, si data4 (con una longitud fija de 8) se repite cuatro veces:
data1*data2*data3*data4000data4000data4000data4000data5
donde el Delimitador es *
O, si sólo hay dos apariciones de data4:
data1*data2*data3*data4000data40000000000000000000data5

Esto también se aplica a un tipo complejo o grupo de longitud no fija en un entorno de Elementos variables delimitados.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ad00812_