[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jun 2004
    Beiträge
    17
    Hallo thommy,

    *date funktioniert auch unter ILE RPG (zumindestens bis V5R4.
    Für das Format yyyymmdd muss in den H-Bestimmungen datedit(*YMD) angegeben werden.
    Besser finde ich, die Build-In-Funktion %date zu verwenden.
    Mit V5R4 hat die IBM sogar %dec erweitert: %dec(%date: *iso)

    Bogomil

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

    es muss zwischen Job- und System-Datum unterschieden werden.
    Der OpCode TIME bzw die Built-in-Functions %DATE(), %TIME(), %TIMESTAMP() alle ohne Parameter liefern das System-Datum.

    Die Sonderwerte *DATE und UDATE liefern das Job-Datum.

    Das Job-Datum ist das Datum, an dem der aktuelle Job gestartet wurde. Wenn also der Job am Montag Morgen vom ersten Arbeiter gestartet wird, dann bis Freitag durchläuft liefert *DATE am Freitag immer noch das Datum vom Montag.

    Das System-Datum ist immer das aktuelle Datum.

    Wenn Du nicht im RPG-Free-Format arbeitest und das numerische System-Datum brauchst, kannst Du den OpCode TIME verwenden. Das Datum wird jedoch im Job-Datums-Format (z.B. TTMMJJJJ) ausgegeben.

    Wenn Du im Free-Format arbeitest, kannst Du das numerische System-Datum so wie Baldur es angegeben hat ermitteln. Es geht jedoch auch einfacher:

    PHP-Code:
     /Free
       
    //System-Datum im Format JJJJMMTT
        
    SysDate = %Dec(%Date(): *ISO);
     /
    End-Free 
    Übrigens das numerische Job-Datum wird wie folgt ermittelt:
    PHP-Code:
     /Free
       
    //Job-Datum im Format JJJJMMTT
       
    JobDate = %Dec(Date(*Date): *ISO);
     /
    End-Free 
    Birgitta
    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
    Jun 2001
    Beiträge
    2.044
    Hi Birgitta

    Das hat man nun davon wenn man abschreibt ...

    Code:
     /FREE                                   
              RETURN    %DEC(%DATE(): *ISO); 
     /END-FREE

    Code:
    *RNF0327 30        000088  Der erste Parameter für %DEC oder %DECH ist ungültig.    
    *RNF0328 30        000088  Der zweite Parameter für %DEC oder %DECH ist ungültig.   
    *RNF0338 20        000088  Der dritte Parameter für %DEC darf nicht fehlen, wenn der
                               zweite Parameter angegeben wird.
    oder ist die Syntax bei Return anders ?
    Gruß
    Robi

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Die Syntax ist schon in Ordnung, Du solltest allerdings für Release V5R3 oder höher umwandeln.

    Sofern Du auf V5R2 runterwandeln musst, musst Du das Ganze wie folgt umsetzen:

    PHP-Code:
     /Free
       
    Return (%Int(%Char(%Date(): *ISO0)));
     /
    End-Free 
    Birgitta
    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

  5. #5
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Grummel

    Der Umwandel-Releasestand war tatsächlich auf V5R2 zurückgesetzt.
    Da soll mal einer dauf kommen
    Danke
    Robi

Similar Threads

  1. ILE RPG / SQL Füllen einer Feldgruppe
    By homue in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 18-07-07, 16:47
  2. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  3. DDS in ILE RPG
    By Squall in forum IBM i Hauptforum
    Antworten: 82
    Letzter Beitrag: 19-10-06, 15:37
  4. Return ILE RPG
    By Squall in forum IBM i Hauptforum
    Antworten: 31
    Letzter Beitrag: 28-09-06, 17:53
  5. Rechnen mit Datumsfeldern in ILE RPG
    By Angela in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 22-08-06, 10:11

Berechtigungen

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