SChWERPUNKT - Midrange Magazin
SChWERPUNKT - Midrange Magazin
SChWERPUNKT - Midrange Magazin
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
40<br />
TEChNIK & INTEGRATION<br />
Datums- und Zeitwerte aufbereiten<br />
Skalare Funktionen<br />
je vielschichtiger die IT-Welt wird, desto wichtiger ist der Datenaustausch zwischen den<br />
einzelnen Systemen. Alphanumerische oder numerische Daten sind noch recht einfach zu<br />
konvertieren und übertragen. Schwieriger wird es mit Datums- und Zeit-Informationen,<br />
da es sich bei diesen i. d. R. um fortlaufende numerische Werte handelt, die mit hilfe eines<br />
Datumsformats lesbar gemacht werden.<br />
Mit Release 6.1 werden einige skalare<br />
Funktionen eingeführt, mit<br />
deren Hilfe Datums- und Zeitwerte in<br />
fast jedem beliebigen Format aufbereitet<br />
werden können bzw. mit deren<br />
Hilfe aus fast jeder alphanumerischen<br />
Darstellung eines Datums- oder eines<br />
Zeitwertes eine echte Zeitmarke gebildet<br />
werden kann.<br />
Skalare Funktion<br />
Timestamp_Format()<br />
Mit der skalaren Funktion Timestamp_<br />
Format() können alphanumerische Darstellungen<br />
von Datums- und Zeitwerten<br />
in eine Zeitmarke konvertiert werden.<br />
Vor Release 6.1 gab es für Zeitmarken<br />
nur zwei gültige alphanumerische<br />
Darstellungen:<br />
ó ISO-Format:<br />
YYYY-MM-DD-HH.MM.SS.MSMSMS<br />
ó ANSI-Format:<br />
YYYY-MM-DD HH:MM:SS.MSMSMS<br />
(Verarbeitung seit V5R4)<br />
Die Funktion Timestamp_Format() erfordert<br />
zwei Parameter. Im ersten Parameter<br />
wird eine alphanumerische<br />
Darstellung eines Datums, einer Zeit<br />
oder einer Zeitmarke angegeben. Das<br />
Format des übergebenen Datums- oder<br />
Zeitwertes wird in dem zweiten Parameter<br />
hinterlegt. Das Format muss<br />
sich aus einer Kombination aus den in<br />
Tabelle 1 gezeigten Zeiteinheiten und<br />
Trennzeichen zusammensetzen.<br />
Großschrift ist für die Angabe der<br />
Zeiteinheiten nicht unbedingt notwen-<br />
MIDRANGE MAgAZIN · 10/2010<br />
dig, d. h. auch die Formatangabe Dd.mM.<br />
yyyy liefert das gewünschte Ergebnis. In<br />
dem alphanumerischen String müssen<br />
nicht alle für eine Zeitmarke erforderlichen<br />
Zeiteinheiten enthalten sein. Fehlende<br />
Einheiten werden durch Default-<br />
Werte ersetzt. Damit kann auch eine<br />
alphanumerische Darstellung eines<br />
Datums oder einer Zeit mit der Funktion<br />
Timestamp_Format() in eine Zeitmarke<br />
konvertiert werden.<br />
Für die Konvertierung von alphanumerischen<br />
Strings bestehen die folgenden<br />
Einschränkungen:<br />
ó Die einzelnen Zeiteinheiten müssen<br />
durch Datumsseparatoren voneinander<br />
getrennt werden. Es ist also<br />
nicht möglich, eine numerische Datumsangabe,<br />
die durch eine der skalaren<br />
Funktionen DIgITS oder CHAR in<br />
eine alphanumerische Darstellung<br />
konvertiert wurde, mit Hilfe der<br />
skalaren Funktion Timestamp_Format()<br />
in eine echte Zeitmarke zu konvertieren.<br />
ó Datumswerte mit alphanumerischen<br />
Monatsangaben (z. B. JAN oder Januar<br />
oder January) können mit der skala-<br />
ó<br />
ó<br />
ó<br />
ó<br />
ó<br />
ren Funktion Timestamp_Format() nicht<br />
konvertiert werden.<br />
Im folgenden Beispiel werden einige<br />
zulässige alphanumerische Strings in<br />
echte Zeitmarken konvertiert.<br />
Der erste String besteht aus einem<br />
Datum im Format Tag, Monat und<br />
zweistelliger Jahresangabe. Die Zeiteinheiten<br />
werden durch einen Punkt<br />
getrennt. Die Zeit wird als Stunden<br />
und Minuten, die durch einen Doppelpunkt<br />
getrennt wurden, angegeben.<br />
Der zweite String enthält lediglich<br />
ein Datum im Format TT-MM-JJ. Bei der<br />
Konvertierung wird die fehlende Zeitangabe<br />
durch 00:00:00 ersetzt.<br />
Im dritten Fall wird eine Zeitangabe<br />
bestehend aus Stunde und Minute in<br />
eine Zeitmarke konvertiert. Der Datumsanteil<br />
wird durch das Tagesdatum<br />
ersetzt.<br />
Beim letzten String wird ein Datum<br />
im Format MM/TT/JJJJ und eine Zeit<br />
im Format HH:MM SS konvertiert. Der<br />
Tag, der Monat sowie die Stunde,<br />
Minute und Sekunde werden dabei<br />
jeweils als einstelliger Wert übergeben.<br />
Tabelle 1:<br />
Zulässige Zeitein<br />
heiten und<br />
Trenn zeichen für<br />
Timestamp_<br />
Format()