Die DATE-TO-YYYYMMDD-Funktion wandelt ein durch argument-1 angegebenes Datum vom Standard-Datumsformat mit 2-stelliger Jahreszahl in ein Datum vom StandardDatumsformat mit 4-stelliger Jahreszahl um. Das Ende des 100-Jahr Intervalls, in welches das in argument-1angegebene 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 DATE-TO-YYYYMMD (argument-1 [argument-2])
Argumente
argument-1 muss eine positive ganze Zahl kleiner als 1000000 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 999999 sind auch dann gültige Argumente für die Funktion
DATE-TO-YYYYMMDD, 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 4-stelliger Jahreszahl.
Für ein Argument der Form JJMMDD ist der Returnwert definiert durch:FUNCTION YEAR-TO-YYYY (JJ, argument-2) * 10000 + MMTTDer Fehler-Returnwert ist 0.
Siehe auch: DAY-TO-YYYYDDD, YEAR-TO-YYYY
Beispiel 9-11
... DATA DIVISION. WORKING-STORAGE SECTION. 01 DATUM PIC 9(8). PROCEDURE DIVISION. P1 SECTION. MAIN. COMPUTE DATUM = FUNCTION DATE-TO-YYYYMMDD (590123). DISPLAY DATUM UPON T. (1) COMPUTE DATUM = FUNCTION DATE-TO-YYYYMMDD (470101 -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) 19590123
(2) 18470101
Im Jahr 2009 liefert das Programm folgende Ergebnisse:
(1) 20590123
(2) 19470101