PDA

View Full Version : Datum in numerisches Feld bringen in Free-RPG



Seiten : [1] 2

ubas
28-10-14, 14:40
Hallo zusammen,

habe das Problem das ich ein Datumswert (z.B. 28.10.2014) in ein 8stelliges numerisches Feld bringen muss. Das ganze in Free-RPG. Habe mit %date und %int schon alles (un)mögliche versucht. Hat jemand eine Lösung für mich?

Fuerchau
28-10-14, 14:58
Das ist nur mit "%dec(Date:*iso)" möglich.

Fuerchau
28-10-14, 15:00
Ich weiß gar nicht, wofür die IBM eigentlich die schönen PDF-Handbücher rausbringt wenn da (außer mir) sowieso keiner reinschaut.

Bogomil
28-10-14, 15:02
Wenn das Feld vom Typ Datum ist: DatumN = %dec(Datum: *iso)

Bei Zeichenfelder: DatumN = %dec(%date(DatumZ: *EUR.): *iso)

KingofKning
28-10-14, 15:08
Na ja, früher haben die Pappnasen sich auch noch die Mühe gemacht die Bücher in Deutsch rauszubringen, die Kohle schenken sie sich jetzt auch schon.GG

RobertMack
28-10-14, 15:10
(und mir ;- )

Gibt's aber auch komprimiert:
http://www.mysamplecode.com/2011/05/rpgle-convert-date-to-numeric-or.html

dschroeder
28-10-14, 15:24
Habe ich die Aufgabenstellung falsch verstanden? Der Code %dec(Date:*iso) würde ein "normales" deutsches Datum in JJJJMMTT drehen. Wenn er das Datum weiterhin im deutschen Format TTMMJJJJ im numerischen Feld haben möchte, muss er %dec(Date:*eur) verwenden, denke ich.

ubas
28-10-14, 15:27
Ich weiß gar nicht, wofür die IBM eigentlich die schönen PDF-Handbücher rausbringt wenn da (außer mir) sowieso keiner reinschaut.

Schlaumeier, hätte ich das Beispiel im Handbuch gefunden, hätte ich mich bestimmt nicht hier gemeldet. Ironie kannste behalten, den Rest nehme ich.

Fuerchau
28-10-14, 15:33
Ich finde die Sachen ja auch nur im Handbuch :), manches probiere ich da sogar aus.

Ansonsten kann man bei der Konvertierung eben angeben was man will:
%dec(Datum:*iso) => JJJJMMTT
%dec(Datum:*eur) => TTMMJJJJ
%dec(Datum:*jul) => JJJJTTT

B.Hauser
29-10-14, 02:40
Vielleicht zur Erklärung:
Ein echtes Datum ist ein numerischer Wert (sogenannte Scaliger Nr.).
Datums-Formate werden nur dazu verwendet, um den numerischen Wert lesbar zu machen.
In RPG wird die Scaliger Nr. immer beim Lesen in eine alphanumerische Repräsentation des Datums konvertiert, abhängig vom Datums-Format in den D- oder H-Specs. Ist weder in den D- noch in den H-Specs ein Datums-Format vorgegeben wird das Format *ISO verwendet.
Unmittelbar vor dem Zurückschreiben wird das alphanumerisch aufbereitete Datum wieder in die Scaliger Nr. konvertiert.
Bei dem Format, das in der Built-in-Function %DEC angegben wird, handelt es sich immer um das Ausgabe-Format, da das eigentliche Datum lediglich die konvertierte Scaliger Nr. ist.

Birgitta