[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Dec 2001
    Beiträge
    19

    Drucken Datum Monat in Buchstaben statt udate

    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

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.928

    Datum mit Monat

    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:

    PHP-Code:
    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.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Dec 2001
    Beiträge
    19
    Hallo hs,
    vielen Dank für die schnelle Hilfe.

  4. #4
    Registriert seit
    Aug 2002
    Beiträge
    77
    Dafür gibts auch APIs
    PHP-Code:
     *  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 Tagführende Null unterdrückt
     
    Mmmz Monaterster 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(tempisolil: *omit)    
    c                   callp     CEEDATE(lilfmt1mydate: *omit
    c                   dsply                   MyDate              
    C                   
    eval      *inlr = *on 
    Ergebniss dann 25. März 2004
    Gruß
    Andreas
    ***Wer einen Schreibfehler findet darf ihn behalten***

Similar Threads

  1. SQL: Aus mehreren Feldern ein Datum erkennen
    By I0N in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 21-11-06, 12:44
  2. Datum in Query
    By heini in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 30-09-06, 10:10
  3. Datum überlebt ODBC Transfer auf Excel nicht
    By jjagi in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 07-07-06, 08:29
  4. Query's drucken
    By dino in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 03-07-06, 10:44
  5. Query und Datum
    By Hubert Brethauer in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 05-05-06, 12:37

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •