Omisión y truncado de elementos

La omisión y truncado de elementos depende del valor de la propiedad Suprimir delimitadores de elemento ausente. Se puede encontrar una descripción en Propiedades TDS de un tipo complejo, Propiedades TDS de un grupo global o Propiedades TDS de grupo local.

Si ha creado un mensaje en el que algunos elementos son opcionales, es posible que un mensaje de entrada no contenga todos los elementos definidos. Si los elementos son de un tipo complejo que ha definido con la propiedad Separación de elementos de datos establecida en Todos los elementos codificados o Delimitación de elementos de longitud variable (en la que los elementos están separados por un delimitador y sin código), cualquier elemento que falte al final del tipo complejo se debe indicar mediante la aplicación que crea el mensaje con una de los dos modos. Estos dos modos proporcionan técnicas para evitar secuencias de delimitadores demasiado largas y para conservar la representación coherente de los elementos que faltan.

  1. Si ha establecido la propiedad Delimitador del tipo complejo en un valor que no coincide con el valor que ha establecido para la propiedad Delimitador de cualquier tipo superior del tipo complejo, los elementos situados al final del mensaje se pueden indicar por la aparición de un Delimitador de uno de sus superiores después del último elemento real de los datos de tipo complejo.

    Esto se conoce como el método de truncado, en el que los elementos que faltan se tratan como no previstos y se omiten tanto los datos como los delimitadores de la corriente de bits.

    Por ejemplo, si define un elemento complejo C con cuatro elementos opcionales. Establece la propiedad Delimitador en el carácter más (+). Define el elemento complejo P, y establece la propiedad Delimitador de P en un asterisco (*). Añade tres elementos a P, el primero del cual es una serie de caracteres, el segundo el elemento complejo C y el tercero una serie de caracteres.

    Cuando el intermediario reciba el mensaje, todos los elementos de P estarán presentes pero solamente los primeros dos elementos de C estarán presentes. Los datos del mensaje aparecerán del modo siguiente si se utiliza el método de truncado (en el que Pn son los valores de los elementos P y Cn los valores de los elementos C):

    P1*C1+C2*P3

    Cuando el analizador encuentra el segundo delimitador de asterisco, determina que los dos últimos elementos del elemento complejo C no están presentes y el elemento siguiente es el tercer elemento de P.

    Puede utilizar el truncado correctamente solamente cuando tanto la omisión como el truncado hacen que el analizador tenga el mismo comportamiento a menos que los elementos truncados tengan una longitud fija.

  2. Si el Delimitador del tipo complejo coincide con uno de sus superiores, no se puede utilizar el método de truncado. Esto es debido a que el analizador no puede determinar si el delimitador que sigue al último elemento es para el tipo complejo actual o para uno de sus superiores. Por lo tanto, se debe incluir un delimitador en los datos del mensaje para cada elemento que falta para garantizar que el analizador pueda contrastar los elementos con el modelo.

    Esto se conoce como el método de omisión, en el que los elementos simples que faltan quedan representados por una secuencia de caracteres vacía entre los dos delimitadores.

    Por ejemplo, se define P y C como en el ejemplo anterior, pero se establece la propiedad Delimitador de P en el signo más (+). Cuando el intermediario recibe el mismo mensaje (todos los elementos de P están presentes y los dos primeros elementos de C están presentes), los datos mensaje aparecen del modo siguiente:

    P1+C1+C2++P3

    Se han insertado dos caracteres delimitadores en los datos del mensaje para los elementos que faltan del elemento complejo C. Si se ha utilizado el método de truncado, el analizador interpretará el valor de datos P3 como el valor del tercer elemento del elemento complejo C y no el tercer elemento del elemento complejo P.

Conceptos relacionados
Diseño de mensajes
El modelo de mensaje

Tareas relacionadas
Desarrollo de modelos de mensajes
Trabajar con un archivo de definición de mensajes
Trabajo con los objetos del modelo de mensajes

Referencia relacionada
Información de referencia del modelo de mensaje
Propiedades del objeto del modelo de mensaje
Información adicional del dominio MRM
Información TDS adicional