PDA

View Full Version : Drucken Datum Monat in Buchstaben statt udate



CZE425
22-03-04, 09:26
Hi,
kennt jemand eine schnelle Möglichkeit, statt udate z.B. 22.3.04 zu verwenden, das Tagesdatum mit Monatsangabe in Buchstaben zu drucken? (gewünschte Ergebnis wäre z.B. 22. März 2004)

Chiao

B.Hauser
22-03-04, 10:28
Hallo,

soweit ich weiss, gibt es keine Möglichkeit dies in der Printerfile einzustellen.

Ich geben Dir hier ein Beispiel mit RPG. Das kannst Du dann in eine Funktion packen und verwenden:



D DSMonat DS
D 10A inz('Januar')
D 10A inz('Februar')
D 10A inz('März')
D 10A inz('April')
D 10A inz('Mai')
D 10A inz('Juni')
D 10A inz('Juli')
D 10A inz('August')
D 10A inz('September')
D 10A inz('Oktober')
D 10A inz('November')
D 10A inz('Dezember')
D FgMonat 10A dim(12) overlay(DSMonat)

D JobDate S D inz(*Job)
/Free
//Aufbereitetes Job-Datum (entspr. UDate)
DateText = %Char(%SubDt(JobDate: *D)) + '. ' +
%Trim(FgMonat(%SubDt(JobDate: *M))) + ' ' +
%Char(%SubDt(JobDate: *Y));

//Aufbereitetes Tages-Datum (entspr. OpCode TIME)
DateText = %Char(%SubDt(%Date(): *D)) + '. ' +
%Trim(FgMonat(%SubDt(%Date(): *M))) + ' ' +
%Char(%SubDt(%Date(): *Y));
/End-Free


Ansonsten kannst Du Dir mal das API CEEDAYS anschauen.

CZE425
22-03-04, 10:36
Hallo hs,
vielen Dank für die schnelle Hilfe.

AndreasH
25-03-04, 10:25
Dafür gibts auch APIs


* API to parse a character date into lilian format
D CEEDAYS PR opdesc
D char_date 80A const options(*varsize)
D date_format 80A const options(*varsize)
D lilian_date 10I 0
D feedback 12A options(*omit)

*
* API to create character date from lilian format
*
D CEEDATE PR opdesc
D lilian_date 10I 0 const
D date_format 80A const options(*varsize)
D char_date 80A options(*varsize)
D feedback 12A options(*omit)
* ZD = Tag, führende Null unterdrückt
* Mmmz = Monat, erster Buchstabe groß, folgende Blanks abgeschnitten
D fmt1 c 'ZD. Mmmmmmmmmz YYYY'
D mydate s 50A
D temp s 8A
D lil s 10I 0
D DateFld s D
c eval temp = %char(%date(): *EUR0)
c callp CEEDAYS(temp: iso: lil: *omit)
c callp CEEDATE(lil: fmt1: mydate: *omit)
c dsply MyDate
C eval *inlr = *on


Ergebniss dann 25. März 2004
Gruß