PDA

View Full Version : Wochentag mittels RPGIV ermitteln



AK1
23-06-09, 09:50
Wie kann man mittels RPGIV den Wochentag, nach Eingabe eines Datums ermitteln? Wie heißt der Befehl?

Danke

sim
23-06-09, 10:06
Wir wärs mit SQLRPGLE


/free

EXEC SQL
Set : DayName = DAYNAME(: Date);

return DayName;


/end-free

B.Hauser
23-06-09, 10:44
Hallo,

ich würde eher die SQL Funktionen DayOfWeek oder DayOfWeek_ISO verwenden, mit dem Tagesnamen bekommst Du Probleme, sobald Du mit Mehrsprachigkeit und unterschiedlichen System-Sprachen handeln musst.

Beide Funktionen bringen den numerischen Wochentag zurück. DayOfWeek beginnt mit dem Sonntag, d.h. Sonntag=1 und Samstag = 7.
DayOfWeek_ISO beginnt mit dem Montag, d.h. Montag=1 und Sonntag = 7.

@AK1
Ich würde Dir raten die RPG-Referenz herunterzuladen, darin sind alle RPG OpCodes und Built-In-Funktionen beschrieben.
ILE RPG Language Reference - Version 6 Release 1 (http://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/topic/rzasd/sc092508.pdf)

Birgitta

Alexander
23-06-09, 13:01
dCEEDYWK pr extproc('CEEDYWK')
d nDays 10i 0 const
d nRtnDayOfWeek 10i 0
d ioFeedBack 12a options(*OMIT)

d nRtnDayOfWeek s 10i 0
* 1 = Sonntag
* 2 = Montag
* usw
d DateDiff s 10i 0
d BaseDate s d datfmt(*ISO) inz(d'1582-10-14')
d Today s d

c eval Today = %Date()
c eval dateDiff = %diff(Today:BaseDate:*DAYS)
c callp CEEDYWK(DateDiff:nRtnDayOfWeek:*OMIT)