Nicht nur, dass *DATE das Job-Datum ist, *Date liefert auch einen numerischen Wert zurück und zwar im Datumsformat des Jobs (wahrscheinlich *DMY).

Wird jetzt *DATE über einen MOVE (ohne Angabe des Faktor1) in ein Datumsfeld ausgegeben, geht die Konvertierung davon aus, dass das *Date-Datum im Format ISO ist. (Deshalb auch die Fehlermeldung "Datums- oder Zeitmarkenwert ungültig".) Würde im Faktor 1 das Job-Format z.B. *DMY stehen, würde das Programm auch nicht abbrechen.

Das Äquivalent, um das System-Datum zu ermitteln im klassischen Format ist der OpCode TIME. Die Ausgabe kann auch direkt in ein Datums-Feld erfolgen.

wir haben bei uns im Hause einen RPG- Entwickler der sich nicht an WDSC und free- RPG gewöhnen will - aber das nur zur Vorgeschichte.
... Du bist übrigens nicht der einzige, der mit solchen Mitarbeitern zu kämpfen hat.
Ich habe gerade ein nagelneues Programm gesehen, in dem noch nicht einmal ein einziger EVAL (von Free-Format ganz zu schweigen) verwendet wurde. Ja noch nicht einmal Z-ADD wird eingesetzt, da alle Felder unabhängig vom Datentyp nur mit MOVE oder MOVELs hin- und her geschoben werden.
Um die aktuelle Zeit alphanumerisch im Format JJMMTT auszugeben, werden sage und schreibe 1xTIME und 6xMOVE verwendet.
Um ein Binär-Feld in ein Integer-Feld umzuladen werden 2 MOVEs und 1 Hilfsfeld benötigt!
Wenn ich genügend Zeit hätte, würde ich das Ding so wie es ist in die Tonne treten und neu schreiben.

Birgitta