Tips und Techniken für die AS/400
Der 3. Teil der jährlichen Tips und Techniken jetzt online:
Thema: DATUMS- UND UHRZEITOPERATIONEN
Blitz Links:
Lokales Datum und die Ortszeit verwenden
Zeitstempel bis zu Tausendstelsekunden mit RPG
Konvertierung julianischer Datumsformate in Query/400
Neue Datums-Systemwerte
DATUMS- UND UHRZEITOPERATIONEN
Lokales Datum und die Ortszeit verwenden
Wenn Ihr Unternehmen über ein weltweites Netz von AS/400-Benutzern verfügt, wollen die Benutzer wahrscheinlich mit dem lokalen Datum und der Ortszeit des jeweiligen Standorts arbeiten. Leider besteht keine eingebaute OS/400-Funktion, die automatisch die lokale Zeit für eine individuelle Workstation festlegt. Es besteht jedoch die Möglichkeit, einen Datumsbereich zu erstellen, der mit einer Workstation (oder einem Benutzerprofil) verknüpft ist, mit dem dann die lokale Zeitzone als ein Offset der zentralen AS/400-Zeit oder der GMZ erkannt wird. Beispiel: Die Workstation DSP25 befindet sich in der mitteleuropäischen Zeitzone. Sie können den folgenden Datumsbereich erstellen:CRTDTAARA DTAARA(DSP25) + TYPE(*CHAR) + LEN(5) + VALUE(‘+Ø1ØØ‘)
Das erste Zeichen des Wertes für den Datumsbereich muß ein Plus- oder Minuszeichen sein. Dadurch wird festgelegt, ob das System bei der Festlegung der Ortszeit Stunden zur GMZ addieren oder subtrahieren soll, um die Ortszeit zu ermitteln. Die nächsten beiden Zeichen geben die Anzahl der Stunden an, die addiert oder subtrahiert werden sollen, und die letzten beiden Zahlen sind für die Eingabe von Minuten reserviert.
Jede zeitabhängige Anwendung muß diesen Wert abfragen und die Zeit dann der Ortszeit anpassen. Die verschiedenen Programmiersprachen wenden dabei unterschiedliche Verfahren an. In RPG können Sie die aktuelle Systemzeit mit dem Operationscode TIME ermitteln und anschließend das Ergebnis entsprechend anpassen. In CL können Sie mit dem Befehl RTVSYSVAL (Systemwert ermitteln) die aktuelle Zeit vom QTIME-, QHOUR- oder QMINUTE-Systemwert abfragen. Anschließend können Sie den Wert der Ortszeit anpassen. Stellen Sie sicher, daß die Anwendungsprogramme dabei keine Systemwerte ändern, welche die Zeit beeinflussen.
Zeitstempel bis zu Tausendstelsekunden mit RPG
RPG bietet keine Möglichkeit für den Zugriff auf die Systemzeit im Tausendstelsekunden-Bereich. Wenn Sie für bestimmte Ereignisse einen Zeitstempel mit Tausendstelsekunden benötigen, müssen Sie eine physische Datei mit einem Zeitstempelfeld erstellen und oberhalb dieser physischen Datei eine logische Datei erstellen, in der das Zeitstempelfeld ausgeschlossen ist. Bei einem RPG-Schreibvorgang über die logische Datei füllt OS/400 das Zeitstempelfeld bis zur Tausendstelsekunde mit dem aktuellen Systemdatum ein.
Konvertierung julianischer Datumsformate in Query/400
Gemäß der Dokumentation Query/400 Use (SC41-5210) wird eine mit der DATE-Funktion verwendete 7-Byte-Zeichenkette als julianisches Datum im Format ccyyddd angesehen. Der folgende Ausdruck wandelt das julianische Datum im Format yyddd oder cyyddd in ein Datumsformat im Datumstyp um:
Noch nicht Abonnent? Sonderaktion nutzen.