Die DAY-TO-YYYYDDD-Funktion wandelt ein durch argument-1 angegebenes Datum vom julianischen Datumsformat mit 2-stelliger Jahreszahl in ein Datum vom julianischen Datumsformat mit 4-stelliger Jahreszahl um. Das Ende des 100-Jahr Intervalls, in welches das in argument-1 angegebene Jahr fällt, wird bestimmt, indem argument-2 zum aktuellen Jahr (das Jahr, in dem die Funktion ausgeführt wird) addiert wird („gleitendes Fenster“).
Funktionstyp: ganzzahlig.
Format
FUNCTION DAY-TO-YYYYDDD (argument-1 [argument-2])
Argumente
argument-1 muss eine positive ganze Zahl kleiner als 100000 sein.
argument-2, wenn angegeben, muss eine ganze Zahl sein.
Falls argument-2 nicht angegeben ist, wird als zweites Argument der Wert 50 angenommen.
Die Summe aus dem aktuellen Jahr und argument-2 muss kleiner als 10000 und größer als 1699 sein.
Es wird nicht überprüft, ob argument-1 ein gültiges Datum ist. Das heißt, die Werte 0 und 99999 sind auch dann gültige Argumente für die Funktion DAY-TO-YYYYDDD, wenn durch eine der Optionen CHECK-FUNKTION-ARGUMENTS = YES oder SET-FUNCTION-ERROR-DEFAULT = YES eine Überprüfung der Argumente verlangt wird.
Returnwerte
Der Returnwert ist das in argument-1 angegebene Datum mit w4-stelliger Jahreszahl. Für ein Argument der Form JJTTT ist der Returnwert definiert durch:
FUNCTION YEAR-TO-YYYY (JJ, argument-2) * 1000 + TTTDer Fehler-Returnwert ist 0.
Siehe auch: DATE-TO-YYYYMMDD, YEAR-TO-YYYY
Beispiel 9-13
... DATA DIVISION. WORKING-STORAGE SECTION. 01 DATUM PIC 9(7). PROCEDURE DIVISION. P1 SECTION. MAIN. COMPUTE DATUM = FUNCTION DAY-TO-YYYYDDD (59001). DISPLAY DATUM UPON T. (1) COMPUTE DATUM = FUNCTION DAY-TO-YYYYDDD (47365 -50). DISPLAY DATUM UPON T. (2) STOP RUN.
Ein ausführlicheres Beispiel ist bei der Funktion YEAR-TO-YYYY zu finden.
Ergebnis:
Im Jahr 1996 liefert das Programm folgende Ergebnisse:
(1) 1959001
(2) 1847365
Im Jahr 2009 liefert das Programm folgende Ergebnisse:
(1) 2059001
(2) 1947365