PDA

View Full Version : rpg-bif test(de) zum Datum-Testen



wilfried
16-01-18, 13:06
Hallo,
die builtin-function "test(de)" soll eine char-variable auf richtiges Datum testen.

Das ist mein Code:

test(de) *iso0 DATUM ;
if %Error ;
OK = 'N' ;
else ;
OK = 'J' ;
endif ;

Warum kommt kein Error, wenn DATUM der Wert "2018015 " hat? (also in der 8. stelle ein Blank).

DAnke.

Fuerchau
16-01-18, 15:03
Mach doch mal ein %date(DATUM:*iso0) um zu sehen, was dabei rauskommt.
Laut Doku werden Leerzeichen am Ende ignoriert, es könnte also der 5.1.2018 dabei rauskommen.

Ich habe mir da eh angewöhnt, in einer Monitor-Gruppe %date() zu verwenden, da in 1 von >1Mio Fälle vielleicht ein ungültiges Datum kommt.

prsbrc
16-01-18, 15:27
Tatsächlich. Bei mir kommt dabei das Datum 2018-01-05 raus.
Das System nimmt wohl die letzte(n) Ziffer(n) egal ob 2-Stellig oder 1-Stellig als Tag.

wilfried
17-01-18, 07:15
... du hast wohl gemeint, das System nimmt die letzen beiden Stellen immer "rechtsbündig" als Tag.
Aus "5 " wird dann " 5" und damit der Tag 5.

:-)

prsbrc
17-01-18, 08:14
Guten Morgen.Ja stimmt. Sorry, hab mich da verschrieben :-)