[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    15
    Das mit %ADDR ist genau wonach ich gesucht habe. Klappt wunderbar.

    Vielen Dank!

    P.S. Die Alternative mit MONMSG war mir schon klar. Ich wollte es aber absichtlich nicht nutzen, da meiner Ansicht nach die Perfomance drunter leidet.

  2. #2
    Registriert seit
    Sep 2005
    Beiträge
    15

    Question

    Leider bin ich jetzt auf ein anderes Problem gestossen.

    Wenn das CL-Pgm eine Fehlernachricht CPFxxxx hat, kann ich das im RPG-Pgm abfangen. Ich kann aber nicht diesen Fehler an das aufrufende Pgm weiterleiten.

    Kann man im RPG sowas ähnliches wie SNDPGMMSG machen?

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Ja, dafür gibts das API QMHSNDPM.

    Aber Achtung:
    Wenn du ein ESC-Nachricht nach oben gibst musst du die korrekte Ebene berücksichtigen.
    Bei ILE ist das nicht so leicht, da noch Ebenen dazwischen liegen. Ausserdem zieht dann ein LR-Schalter nicht, da die Programmausführung vorzeitig abgebrochen wird (z.B. kein Close von Dateien).
    Eine saubere Bereinigung ist dann nicht möglich.

    Man kann sich aber auch hier mit einem Trick helfen, in dem zuerst ein CLP aufgerufen wird, dieses ruft das ILERPG auf mit zusätzlichen Parametern (z.B. ErrorID, ErrorData).

    Da Adressen in diesem Fall transparent durchgereicht werden tritt in diesem Fall auch kein Laufzeitfehler auf wenn NULL-Pointer weitergegeben werden.

    Nach Rückkehr kann man dann z.B. RCLRSC/RCLACTGRP oder ähnliches tun bevor dann per SNDPGMMSG die Abbruchnachricht gesendet wird.

    Das Gleiche gilt auch für andere Nachrichtenarten.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Sep 2005
    Beiträge
    15
    Danke für die Antwort. Werde mal beide Varianten (API / vorgeschaltetes CL) ausprobieren.

    Denn probieren geht über's Studieren.

  5. #5
    Registriert seit
    Sep 2005
    Beiträge
    15

    Thumbs up

    Jetzt klappt alles!

    Habe nun ein einziges RPG-pgm, welches QUSRSPLA und im Fehlerfall QMHSNDPM aufruft.

    Wenn man QMHSNDPM mit folgenden Parameter aufruft, wird der aufgetretene PGM-Fehler zum aufrufenden Pgm "weitergeleitet".
    Code:
    C                   Eval      QMHMSGID  = ErrId   
    C                   Eval      QMHMSGF   = 'QCPFMSG   *LIBL'     
    C                   Eval      QMHMSGDTA = ErrData
    C                   Eval      QMHMSGLEN = 132                   
    C                   Eval      QMHMSGTYP = '*ESCAPE'             
    C                   Eval      QMHMSGENT = '*PGMBDY'             
    C                   Eval      QMHMSGCTR = 1                     
    C                   CLEAR                   QUSEC               
    C                   CALL      'QMHSNDPM'             
    C                   PARM                    QMHMSGID 
    C                   PARM                    QMHMSGF  
    C                   PARM                    QMHMSGDTA
    C                   PARM                    QMHMSGLEN
    C                   PARM                    QMHMSGTYP
    C                   PARM                    QMHMSGENT
    C                   PARM                    QMHMSGCTR
    C                   PARM                    QMHMSGKEY
    C                   PARM                    QUSEC    
    *ALL: Nochmal Danke für alle Tips!

Similar Threads

  1. Dynamisches SQL in einem CL erstellen
    By Sony in forum IBM i Hauptforum
    Antworten: 27
    Letzter Beitrag: 20-07-09, 21:48
  2. Programmbibliothek in einem Cobol oder CL Programm ermitteln
    By schatte in forum NEWSboard Programmierung
    Antworten: 19
    Letzter Beitrag: 10-01-07, 11:32
  3. CMD pgmlib
    By ILEMax in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 26-07-06, 17:07
  4. Übergabeparameter im CL Script
    By bo1 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 23-06-06, 15:00
  5. CMD Parameter im CL Programm
    By mk in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 25-09-04, 15:48

Berechtigungen

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