Representación de tipos de datos de fecha y hora ESQL

Cuando la aplicación envía un mensaje a un intermediario, la manera como se interpretan los datos del mensaje depende del contenido del propio mensaje y de la configuración del flujo de mensajes. Si la aplicación envía un mensaje para que lo interprete el analizador XML genérico o el analizador MRM, que ha sido adaptado por un formato físico XML, la aplicación puede incluir datos de fecha u hora representados por cualquiera de los tipos primitivos de fecha y hora de esquema XML.

El tipo de datos de esquema XML de cada dato se convierte a un tipo de datos ESQL y el elemento que se crea en el árbol de mensajes lógico es del tipo convertido. Si los datos de fecha y hora en un mensaje de entrada no coinciden con las normas del tipo de datos de esquema elegido, los valores que el analizador escribirá en el árbol de mensajes lógico se modificarán aunque el mensaje esté en el dominio MRM y haya configurado el flujo de mensajes para validar el mensaje de entrada. (La validación no está disponible para los mensajes XML genéricos.)

Esto tiene el efecto siguiente en los subcampos de los datos de fecha y hora de entrada:

Los ejemplos siguientes describen estas cuestiones.

Tipo de datos de esquema XML de datos de entrada Normas de esquema Valor de entrada en la corriente de bits Valor escrito en el árbol lógico (tipo de datos ESQL entre paréntesis)
xsd:dateTime CCYY-MM-DDThh:mm:ss 2002-12-31T23:59:59 2002-12-31 23:59:59 (TIMESTAMP)
    --24 1970-01-24 (DATE)
    23:59:59 23:59:59 (TIME)
xsd:date CCYY-MM-DD 2002-12-31 2002-12-31 (DATE)
    2002-12-31T23:59:59 2002-12-31 (DATE)
    -06-24 1970-06-24 (DATE)
xsd:time hh:mm:ss 14:15:16 14:15:16 (TIME)
xsd:gDay ---DD ---24 1970-01-24 (DATE)
xsd:gMonth --MM --12 1970-12-01 (DATE)
xsd:gMonthDay --MM-DD --12-31 1970-12-31 (DATE)
xsd:gYear CCYY 2002 2002-01-01 (DATE)
xsd:gYearMonth CCYY-MM 2002-12 2002-12-01 (DATE)

Validación cuando faltan subcampos

Cuando estudie qué tipo de datos de fecha y hora de esquema va a utilizar, tenga en cuenta que, si el mensaje está en el dominio MRM y configura el flujo de mensajes para validar mensajes, los subcampos que falten pueden causar excepciones de validación.

Los tipos de datos de esquema Gday, gMonth, gMonthDay, gYear y gYearMonth se utilizan para grabar períodos de tiempo específicos y repetidos. Existe una posible confusión al activar la validación, ya que ESQL almacena como puntos específicos en el tiempo los períodos de tiempo repetidos que se utilizan en estos tipos de datos de esquema.

Por ejemplo, cuando el día 24 del mes, que es un gDay (un día del mes), se escribe en el árbol lógico, los subcampos de mes y año que faltan se proporcionan a partir de la época (enero de 1970) para proporcionar la fecha específica 1970-01-24. Si codifica ESQL para manejar esta fecha, por ejemplo, añadiendo un intervalo de 10 días y, a continuación, genera un mensaje de salida que se valida, se activará una excepción. Esto se debe a que el resultado del cálculo es 1970-02-03, que es un valor no válido porque el subcampo de mesa de la fecha ya no coincide con la fecha de la época.

Conceptos relacionados
Flujos de mensajes
Tipos de datos ESQL

Tareas relacionadas
Definición de características de mensajes
Validación de mensajes

Referencia relacionada
Funciones de fecha y hora ESQL
Formatos de fecha y hora