NEWSboard Internet-Museum für das Schwarze Brett der AS/400
Re: Wochentagermittlung auf der AS/400
[
Follow Ups ] [
Neuen Beitrag verfassen!
] [ Schwarzes Brett ] [
FAQ ]
Posted ByRalf Lenze on October 20, 1999 at 09:10:16:
In Reply to: Wochentagermittlung auf der AS/400
posted byManfred Gussmagg on October 09, 1999 at 09:54:59:
Dieses Problem läßt sich elegant durch den Aufruf von zwei
CEE-APIs lösen. Ich habe hier ein kurzes RPGLE-Programm
als Demo beigefügt:
D* Definitionen
D InpDate 8
D InpPict 10 INZ('DDMMYYYY')
D OutLilDate 9B 0
D OutDayWeek 9B 0
D WochenTag 1 0
C*
C MOVE *DATE InpDate
C*
C CALLB(D) 'CEEDAYS'
C PARM InpDate
C PARM InpPict
C PARM OutLilDate
C PARM *OMIT
C*
C IF (OutLilDate > *ZEROS)
C CALLB(D) 'CEEDYWK'
C PARM OutLilDate
C PARM OutDayWeek
C PARM *OMIT
C IF (OutDayWeek > *ZEROS)
C EVAL WochenTag = OutDayWeek
C ENDIF
C ENDIF
Das Programm ermittelt den Wochentag des laufenden Datums.
Zuerst wird das Datum in einen Integerwert umgewandelt.
Der zurückgegebene Wert sind die Anzahl an Tagen seit dem
14. Oktober 1582. Wird ein ungültiges Datum übergeben,
z.b. der 29.02.1999, wird 0 zurückgegeben. Wichtig ist
auch, daß das Datumsformat korrekt angegeben wird, möglich
sind also auch bereits formatierte Datumsangaben (z.B.
INPDATE = '20.10.1999', INPPICT = 'DD.MM.YYYY').
Mit dem Rückgabewert wird dann das zweite Modul aufgerufen,
wird dieses korrekt abgearbeitet, erhält man einen Wert von
1 (= Sonntag) bis 7 (= Samstag) zurück, 0 symbolisiert einen
Fehler.
Nun viel Spaß beim Ausprobieren
Follow Ups
Neuen Beitrag verfassen!