Omisión y truncamiento de elementos

La omisión y el truncamiento de elementos dependen del valor de la propiedad Suprimir delimitadores de elementos ausentes. Se puede encontrar una descripción de esto en el apartado Propiedades TDS de tipo complejo, el apartado Propiedades TDS de grupo global o el apartado 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 están en un tipo complejo que se ha definido con la propiedad Separación de elementos de datos del tipo establecida en Todos los elementos delimitados o Elementos variables delimitados (en la que los elementos están separados por un delimitador y no tienen ningún código), la aplicación que crea el mensaje debe indicar los elementos que faltan al final del tipo complejo de uno de dos modos. Estos dos modos proporcionan técnicas para evitar secuencias de delimitadores innecesariamente largas y para conservar la representación coherente de los elementos que faltan.

  1. Si ha establecido la propiedad Delimitador para el tipo complejo en un valor que no coincide con el valor que ha establecido para la propiedad Delimitador para cualquiera de los tipos padre del tipo complejo, los elementos que están al final del mensaje pueden indicarse mediante la aparición de un Delimitador de uno de sus elementos padre después del último elemento real de los datos de tipo complejo.

    Esto se conoce cómo método de truncamiento, en el que los elementos que faltan se tratan como no esperados y se omiten los datos y los delimitadores en la corriente de datos.

    Por ejemplo, defina un elemento complejo C que tenga cuatro elementos opcionales. Establezca la propiedad Delimitador en el carácter más (+). Defina el elemento complejo P y establezca la propiedad Delimitador de P en asterisco (*). Añada tres elementos a P, de los cuales el primero sea una serie de caracteres, el segundo sea el elemento complejo C y el tercero sea una serie de caracteres.

    Cuando el intermediario reciba una instancia determinada del mensaje, todos los elementos de P estarán presentes, pero sólo estarán presentes los dos primeros elementos de C. Los datos del mensaje aparecerán como se indica a continuación si se utiliza el método de truncamiento (donde Pn son los valores de los elementos de P y Cn son los valores de los elementos de C):

    P1*C1+C2*P3

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

    Sólo puede utilizar el truncamiento correctamente cuando la omisión y el truncamiento hacen que el analizador tenga el mismo comportamiento, a menos que los elementos truncados sean de longitud fija.

  2. Si el Delimitador del tipo complejo coincide con el de uno de sus elementos padre, no se puede utilizar el método de truncamiento. Esto se debe a que el analizador no puede determinar si el delimitador que está después del último elemento es para el tipo complejo actual o para uno de los elementos padre. Por consiguiente, para cada elemento que falta se debe incluir un delimitador en los datos de mensaje para asegurarse de que el analizador puede comparar los elementos con el modelo.

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

    Por ejemplo, defina P y C como en el ejemplo anterior, pero establezca la propiedad Delimitador para P en el signo más (+). Cuando el intermediario reciba el mismo mensaje (están presentes todos los elementos de P y están presentes los dos primeros elementos de C), los datos del mensaje aparecerán como se indica a continuación:

    P1+C1+C2++P3

    Se han insertado dos caracteres de delimitador en los datos de mensaje para los elementos que faltan del elemento complejo C. Si se hubiera utilizado el método de truncamiento, el analizador habría interpretado 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
Modelado de mensajes
El modelo de mensaje
Formato TDS: Relación con el modelo lógico
Tareas relacionadas
Desarrollo de modelos de mensaje
Cómo trabajar con un archivo de definición de mensajes
Cómo trabajar con objetos de modelo de mensaje
Referencia relacionada
Información de referencia de modelo de mensaje
Propiedades de objeto de modelo de mensaje
Información adicional de dominio MRM
Información adicional de TDS
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ad09490_