Representação dos Tipos de Dados de Data/Hora do ESQL

Quando seu aplicativo envia uma mensagem para um intermediário, a forma como os dados da mensagem são interpretados depende do conteúdo da própria mensagem e da configuração do fluxo de mensagens. Se seu aplicativo envia uma mensagem que será interpretada pelo analisador XML genérico ou pelo analisador MRM ajustado por um formato físico XML, ele poderá incluir dados de data ou hora, representados por qualquer tipo de dados primitivos de datetime do esquema XML.

O tipo de cada parte de dados do esquema XML é convertido para um tipo de dados ESQL e o elemento que é criado na árvore de mensagem lógica é do tipo convertido. Se os dados de datetime em uma mensagem de entrada não corresponderem às regras do tipo de dados do esquema escolhido, os valores que o analisador grava na árvore de mensagens lógicas serão modificados, mesmo que a mensagem esteja no domínio MRM e você tenha configurado o fluxo de mensagens para validar a mensagem de entrada. (A validação não está disponível para mensagens XML genéricas).

Isso tem o seguinte efeito nos subcampos dos dados de data e hora de entrada:

Os seguintes exemplos ilustram esses pontos.

Entrada de dados do tipo de dados do esquema XML Regras do esquema Valor de entrada no fluxo de bits Valor gravado na árvore lógica (tipo de dados ESQL entre colchetes)
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)

Validação com Subcampos Ausentes

Ao considerar qual tipo de dados de datetime do esquema utilizar, lembre-se de que se a mensagem estiver no domínio MRM e se você configurar o fluxo de mensagens para validaá-las, os subcampos ausentes poderão provocar exceções de validação.

Os tipos de dados do esquema Gday, gMonth, gMonthDay, gYear e gYearMonth são utilizados para registrar períodos de tempo recorrentes específicos. Existe uma confusão potencial quando a validação é ativada, porque os períodos de tempo recorrentes que são utilizados nesses tipos de dados do esquema são armazenados pelo ESQL como pontos específicos no tempo.

Por exemplo, quando o 24º dia do mês, que é um tipo gDay (um dia do mês), é gravado na árvore lógica, os subcampos de mês e ano ausentes são fornecidos a partir da época (janeiro de 1970) para fornecer a data específica 1970-01-24. Se você codificar o ESQL para manipular essa data, por exemplo, incluindo um intervalo de 10 dias e, em seguida, gerar uma mensagem de saída validada, surgirá uma exceção. Isso ocorre porque o resultado do cálculo é 1970-02-03, o que é inválido porque o subcampo de mês da data não corresponde mais à data da época.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ak01005_