[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2003
    Beiträge
    331

    Talking Datum-Konvertierung free rpg

    Ich habe ein 10-stelliges alphanumerisch Feld, welches ein Datum beinhaltet, z.B.: '2005-11-18' .

    ich würde dieses Feld gerne in ein Datum-Feld konvertieren
    *ISO.

    Vorher sollte ich es wohl auf Plausibilität prüfen.

    und das alles im free rpg.

    wie gehe ich da vor ?

    mfg. Ludger

  2. #2
    Registriert seit
    Nov 2002
    Beiträge
    173
    Moin!

    Erst mal prüfst Du den Inhalt mit

    test(de) *iso meincharfeld;
    if %error;
    xxx
    endif;

    Dabei ist vorausgesetzt, dass Du das Datumsformat kennst. Falls nicht wirds halt ein bissle schwieriger.

    Dann konvertierst Du den Inhalt mit

    meindatumsfeld = %date(meincharfeld:*ISO);

    Hoffe, ich hab das jetzt nach 6 grossen Feierabendbier noch ordentlich und richtig beschrieben ;-)

    Grüsse

    Martin

  3. #3
    Registriert seit
    Jul 2003
    Beiträge
    331
    Hallo Martin,

    auch die 6 Bier können Dir anscheinend nichts anhaben.

    Die Lösung funktioniert.

    Vielen Dank. Ludger

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.873

    Monitor

    Hallo,

    man könnte auch auf die ganze Testerei mit TEST(DE) verzichten, und einen Fehler über eine Monitor Group abfangen.

    PHP-Code:
    /Free
       Monitor
    ;
         
    MyDateField = %Date(MyCharField: *ISO);
       
    On-Error;
          
    // Konvertierungs-Fehler
       
    EndMon
    Man sogar die einzelnen Error-Codes gezielt abfangen:
    112: Datums-, Zeit- oder Zeitmarkenwert ist ungültig.
    113: Eine Berechnung mit Datums-, Zeit- oder Zeitmarkendaten hatte einen Über- oder Unterlauf zur Folge
    114: Die Jahresangabe eines Datums- oder Zeitmarkenwerts liegt nicht innerhalb des korrekten Bereichs.

    Birgitta
    Birgitta Hauser

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

  5. #5
    Registriert seit
    Jan 2007
    Beiträge
    122
    Habe auch hier ein Problem:

    $prodateur = %date($prodat:*EUR);

    wenn ich jetzt den 30.02.2008 eingebe ist das ja ein Fehler den ich mit *PSSR abfange.

    BegSr *pssr;
    // ¯¯¯¯¯¯¯
    if %status = 112;
    $prodateur = *loval;
    ERR_Datum = *on;
    write bild01;
    leavesr;
    endif;
    EndSr;

    Er geht auch in diese Subroutine hinein...
    Will dann eine Fehlernachricht schreiben und mit LeaveSR zum Exfmt zurück...
    Sobald er aber die Subroutine verlässt kommt wieder die Fehlermeldung.
    Was mache ich falsch?

    Vielen Dank für Eure Hilfe...

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Hallo,

    das ist jetzt nicht die Antwort auf Deine Frage, aber ...

    Warum machst Du es nicht so:

    PHP-Code:
     /Free
       Monitor
    ;
         
    $prodateur = %date($prodat:*EUR);
       
    On-Error;
         
    $prodateur = *loval;
         
    ERR_Datum = *on
         
    write bild01;
         
    //Und was Du sonst noch im Fehlerfall machen willst
       
    EndMon;
     /
    End-Free 
    Birgitta
    Birgitta Hauser

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

  7. #7
    Registriert seit
    Jan 2007
    Beiträge
    122

    Thumbs up

    Zitat Zitat von B.Hauser Beitrag anzeigen
    Hallo,

    das ist jetzt nicht die Antwort auf Deine Frage, aber ...

    Warum machst Du es nicht so:

    PHP-Code:
     /Free
       Monitor
    ;
         
    $prodateur = %date($prodat:*EUR);
       
    On-Error;
         
    $prodateur = *loval;
         
    ERR_Datum = *on
         
    write bild01;
         
    //Und was Du sonst noch im Fehlerfall machen willst
       
    EndMon;
     /
    End-Free 
    Birgitta

    Vielen Dank, hat geklappt!

Similar Threads

  1. Frei Porn Site!
    By Fucasdreh in forum NEWSboard Server Job
    Antworten: 0
    Letzter Beitrag: 10-01-07, 13:12
  2. FREE RPG .. TESTN
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 25-01-05, 07:43
  3. RPG Routine Datum
    By GEA in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 25-11-04, 16:32
  4. Free Rpg Zeitdauer errechnen
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 12-07-04, 09:27
  5. Datum + 10 Tage in RPG
    By HoScHiE in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 06-08-01, 14:47

Berechtigungen

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