Darstellung von Datums-/Uhrzeitdatentypen in ESQL

Wenn Ihre Anwendung eine Nachricht an einen Broker sendet, hängt die Interpretationsweise der Nachrichtendaten vom Inhalt der Nachricht und der Konfiguration des Nachrichtenflusses ab. Wenn Ihre Anwendung eine Nachricht in einem physischen XML-Format sendet, die von einem generischen XML-Parser oder dem MRM-Parser interpretiert werden soll, kann die Anwendung Datums- oder Uhrzeitdaten einfügen, die in Form von Basisdatentypen für Datums-/Uhrzeitangaben des XML-Schemas dargestellt werden können.

Die Datentypen des XML-Schemas werden in ESQL-Datentypen konvertiert, und das Element, das in der logischen Nachrichtenbaumstruktur erstellt wird, entspricht dem konvertierten Typ. Wenn die Datums-/Uhrzeitdaten in einer Eingabenachricht nicht den Datentypregeln des ausgewählten Schemas entsprechen, werden die Werte, die der Parser in die logische Nachrichtenbaumstruktur schreibt, selbst dann modifiziert, wenn die Nachricht sich in der MRM-Domäne befindet und Sie den Nachrichtenfluss so konfiguriert haben, dass er die Eingabenachricht auswerten soll. (Die Gültigkeitsprüfung ist für generische XML-Nachrichten nicht verfügbar.)

Dies wirkt sich auf die untergeordneten Felder der Eingabedaten für Datum und Uhrzeit folgendermaßen aus:

Im Folgenden werden diese Punkte veranschaulicht.

Datentypen des XML-Schemas für Eingabedaten Schemaregeln Eingabewert im Bitstrom Wert, der in die logische Baumstruktur geschrieben wird (ESQL-Datentyp in Klammern)
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)

Gültigkeitsprüfung mit fehlenden untergeordneten Feldern

Berücksichtigen Sie bei der Entscheidung über den zu verwendenden Datums-/Uhrzeitdatentyp des Schemas, dass, wenn sich die Nachricht in der MRM-Domäne befindet und die Nachrichtenflüsse für die Gültigkeitsprüfung von Nachrichten konfiguriert sind, fehlende untergeordnete Felder zu Ausnahmebedingungen bei der Validierung führen können.

Die Schemadatentypen gDay, gMonth, gMonthDay, gYear und gYearMonth werden verwendet, um bestimmte wiederkehrende Zeiträume zu erfassen. Es kann zu Unklarheiten kommen, wenn die Gültigkeitsprüfung aktiviert ist, da die in diesen Schemadatentypen verwendeten wiederkehrenden Zeiträume von ESQL als bestimmte Zeitpunkte gespeichert werden.

Beispiel: Wenn der 24. des Monats, also der Typ gDay (ein bestimmter Tag eines jeden Monats) in die logische Baumstruktur geschrieben wird, werden die fehlenden untergeordneten Felder für den Monat und das Jahr vom Startzeitpunkt (Januar 1970) für die Angabe des Datums 1970-01-24 übernommen. Wenn Sie ESQL für die Bearbeitung dieses Datums codieren (z. B. durch Hinzufügen eines Intervalls von 10 Tagen) und anschließend eine Ausgabenachricht generieren, die ausgewertet wird, wird eine Ausnahmebedingung ausgegeben. Der Grund hierfür ist, dass die Berechnung 1970-02-03 ergibt. Dies ist ein ungültiges Ergebnis, da das untergeordnete Datumsfeld für den Monat dem Datum für den Startzeitpunkt nicht entspricht.

Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 18.05.2006
ak01005_