[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2006
    Beiträge
    112

    Exclamation MONITOR / ENDMON

    Moin zusammen !

    Ich möchte gerne innerhalb einer Monitor-Gruppe


    C MONITOR
    C READ FILE1
    C IF NOT %EOF
    C EVAL Line = %SUBST(Line(i) :
    C %SCAN('***': Line(i)) + 1)
    C ENDIF

    C ON-ERROR *FILE
    C ... mache etwas

    C ON-ERROR *PGM
    C ... mache etwas

    C ENDMON




    Den aufgetretenen Programmfehler (EXCEPTION) auslesen,

    (bsp. Datei gesperrt, Division durch 0, ...)

    steht dieser in einem Datenbereich ?


    Über Antworten wäre ich dankbar...

    Gruß
    Maxxe











  2. #2
    Registriert seit
    Dec 2002
    Beiträge
    301
    Mit der Build-In Funktion %status kannst Du den Fehlercode ermitteln. Das funktioniert ebenfalls über eine Programmstatusdatenstruktur bzw. über eine Dateiinformationsdatenstruktur. Weitere Informationen entnimmst Du dann den RPG Handbüchern.
    Frank Hildebrandt

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Hi,

    du brauchst lediglich eine Programm-Status-Datenstruktur in Deine Quelle einzubinden.

    Der Fehlertext, zumindest die ersten 80 Stellen, steht auf der Position 91-170.

    Beispiel:
    PHP-Code:
    D PGMSTS         SDS                                     
    D  SDSMsgId              40     46                       
    D  SDSMsgTextK           91    140      
    D  SDSMsgText            91    170  
     
    /Free
       Monitor
    ;
          
    Read MyFileF;
          
    //was auch immer
       
    On-Error *File;
          
    //Datei-Fehler
          
    Dsply SDSMsgTextK;
       
    On-Error *PGM;
          
    //Programm-Fehler
          
    Dsply SDSMsgTextK;
       
    On-Error;
          
    Dsply SDSMsgTextK;
       
    EndMon;
     /
    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

  4. #4
    Registriert seit
    Jan 2006
    Beiträge
    112
    vielen dank Birgitta !

Berechtigungen

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