El formato TDS (Tagged/Delimited String) es la representación física de un mensaje que tiene varios elementos de datos separados por códigos y delimitadores.
El formato físico TDS está diseñado para modelar mensajes que están formados por series de texto. Ejemplos de mensajes TDS son aquellos que se ajustan a los estándares ACORD AL3, EDIFACT, SWIFT y X12. El formato físico TDS permite un alto grado de flexibilidad a la hora de definir formatos de mensaje y no tiene la restricción de modelar estándares específicos de la industria. Por tanto, puede utilizar el formato TDS para modelar sus propios mensajes.
Características de los mensajes TDS
Existen varias características de los mensajes de serie de texto que son comunes en muchos formatos. A continuación se ofrece una visión general de las características principales que están soportadas por el formato físico TDS:
- Códigos
- Las series de texto del mensaje pueden tener un código o una etiqueta delante del valor de datos. El código es una serie que identifica de forma exclusiva el valor de datos. El formato TDS permite asociar un código con cada elemento cuando se define el elemento.
- Delimitadores y separadores de datos codificados
- El mensaje puede contener varios caracteres especiales o series además de los códigos y de los valores de datos de la serie de texto. El formato TDS admite varios tipos distintos de caracteres especiales o series.
Algunos mensajes tienen un carácter especial o una serie que separa cada valor de datos del siguiente.
En el formato TDS, este carácter especial o serie recibe el nombre de delimitador.
En los formatos que tienen un código delante de cada valor de datos, el código puede separarse de su valor de datos mediante un carácter especial o serie. En el formato TDS, este carácter especial o serie recibe el nombre de separador de datos de código.
- Indicadores y terminadores de grupo
- Un mensaje puede dividirse en una serie de subestructuras de forma parecida a una estructura COBOL o C. Puede modelar cada una de estas subestructuras por separado definiendo grupos, tipos complejos o elementos para cada una de ellas.
Una subestructura puede tener un carácter especial o una serie que indica su inicio dentro de los datos. En el formato TDS, este carácter especial o serie recibe el nombre de indicador de grupo.
Una subestructura también puede tener un carácter especial o una serie que indica su finalización dentro de los datos. En el formato TDS, este carácter especial o serie recibe el nombre de terminador de grupo.
Un indicador de grupo y un terminador de grupo también pueden definirse para todo el mensaje.
Los indicadores de grupo y los terminadores de grupo son opcionales para el mensaje y cada subestructura.
- Series de longitud fija
- Algunas series de texto dentro de un mensaje pueden ser de longitud fija, de modo que no es necesario un delimitador entre cada valor de datos. Esto está soportado por el formato TDS.
- Códigos de longitud fija
- Algunos códigos pueden definirse como de longitud fija, de modo que no es necesario un separador de datos de código.
- Tipos de separación
- La propiedad TDS que controla la forma en que se separan las series de texto es Separación de elementos de datos. Tiene varias opciones que permiten elegir, por ejemplo, si se utilizan códigos, si las longitudes de las series son fijas o variables, y qué tipos de series de texto están permitidas.
Las subestructuras dentro de un mensaje pueden utilizar diferentes tipos de separación de elementos de datos y utilizar diferentes caracteres especiales. Por tanto, el formato TDS permite definir diferentes tipos de separación de elementos de datos y caracteres especiales para cada tipo complejo dentro del mensaje.
- Expresiones regulares
- Si elige la opción Utilizar patrón de datos para Separación de elementos de datos, puede utilizar expresiones regulares para identificar las partes de los datos del mensaje que deben asignarse a subcampos. Para ello, debe establecer la expresión regular en la propiedad Patrón de datos.
El diagrama siguiente muestra un mensaje de datos de ejemplo:
{Código1:Datos1*Código2:[Datos2+Datos3*Código3:<Datos4Datos5>}
Tabla 1 describe
cada uno de los tipos de elementos:
Tabla 1. Tipos de elementos| Elemento: |
Descripción: |
| { } |
Indicador de grupo y terminador de grupo |
| [ ] |
Indicador de grupo y terminador de grupo |
| < > |
Indicador de grupo y terminador de grupo |
| Código1, Código2, Código3 |
Códigos |
| : (dos puntos) |
Separador de datos de código |
| * + |
Delimitadores |
- En el nivel superior, cada valor de datos tiene un código asociado al mismo, cada código está separado de su valor de datos utilizando un separador de datos de código de dos puntos (:) y los valores de datos están separados entre sí utilizando el delimitador * (asterisco).
- El indicador de grupo para el mensaje es la llave izquierda ({) y el terminador de grupo es la llave derecha (}).
- Los valores de datos Datos2 y Datos3 están en una subestructura en que no hay códigos, y cada elemento de datos está separado del siguiente utilizando el delimitador + (signo más). El indicador de grupo para esta subestructura es el corchete izquierdo ([) y el terminador de grupo es el corchete derecho (]).
- Los valores de datos Datos4 y Datos5 están en una subestructura en la que los valores son de longitud fija y, por tanto, no están separados por un delimitador. El indicador de grupo para esta subestructura es el símbolo < (menor que) y el terminador de grupo es el símbolo > (mayor que).