[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Nov 2007
    Beiträge
    79

    MONMSG für Diagnostic

    Hallo Leute,

    ich versuche gerade vergeblich eine Nachricht vom Typ *Diagnostic per MONMSG abzufangen. Mittlerweile habe ich auch verstanden, dass dies nicht geht.

    Dennoch muss ich den Fehler dieser Meldung in meinem Programm entsprechend behandeln.

    Hier mal die betroffene Stelle:

    RUNSQLSTM SRCFILE(HAMMIWMG/QSQLSRC) SRCMBR(WDGVIEW) COMMIT(*NONE) NAMING(*SQL) DFTRDBCOL(&LIBAD)

    MONMSG MSGID(SQL9010) EXEC(DO)
    RCVMSG MSGTYPE(*DIAG) MSG(&MSG) MSGDTA(&MSGDTA) +
    MSGID(&MSGID)
    ENDDO

    MONMSG MSGID(CPF0000 SQL0000) EXEC(SNDBRKMSG +
    MSG('Creation of SQL View WDGVIEW failed! +
    Check setup in KNFW107882') TOMSGQ(&MSGQ))

    Hoffe, es hat jemand eine Idee, wie ich das lösen kann.

    Vielen Dank und Gruß
    Matthias

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Die SQL-Nachrichten werden leider nicht an den Aufrufer gesendet, daher gibts den CPF.
    Nachrichten, die nicht direkt an das Programm gesendet werden, sind nicht abrufbar.
    Schau mal ins Joblog, mit F1 auf die Nachricht, dann F9, dann siehst du an wen die Nachicht ging.

    Ansonsten ist RCVMSG auch ohne MONMSG möglich.
    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

  3. #3
    Registriert seit
    Nov 2007
    Beiträge
    79
    Du hast recht, die Nachricht, die ich benötige, wurde nicht an mein Programm geschickt:

    To program . . . . . . . . . . : QSQCRTV
    To library . . . . . . . . . : QSYS
    To module . . . . . . . . . : QSQCRTV
    To procedure . . . . . . . . : CLEANUP
    To statement . . . . . . . . : 13208

    Bei dem RCVMSG sind die Variablen auch leer, was mir logisch erscheint, da er diese Nachricht wohl dann nicht sieht.

    Wie komme ich denn an diese Meldung ran? Ich benötige sie zwingend.

  4. #4
    Registriert seit
    Aug 2004
    Beiträge
    923
    mhh.. wie bist Du denn an diese Meldung gekommen? Genau auf diesem Wege könnte man dann doch auch per Programm rankommen?

    Und mal ne andere idee:
    Geht es da immer um den CRT einer View? Kann man das Objekt ansich nicht auf Existenz dananch abfragen?
    Ich weiß, ist von hinten durch die Brust ins Auge und so... aber was solls?

    kuempi

  5. #5
    Registriert seit
    Nov 2007
    Beiträge
    79
    Die Meldung stammt aus dem interaktiven Joblog. Wie soll ich die über das Program gezielt erreichen, wenn diese nicht an das Programm geschickt wurde?

    Nein es sind nicht nur Create Views.

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Am einfachsten wäre es eigentlich, an Stelle eines RUNSQLSTM ein kleines ILERPG mit:

    D MyStmt 32000 Varying

    exec sql execute direct :MyStmt;

    Dann bekommst du alle Fehler in der SQLCA und die lästigen Spools sind auch weg.

    Ansonsten hilft da nur die Joblog-API's (komplex) zu bemühen oder die SPLF auszuwerten.
    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

  7. #7
    Registriert seit
    Nov 2007
    Beiträge
    79
    RPG kann ich leider gar nicht. Werde ich wohl bei Gelegenheit mal ändern müssen.

    Also werde es mit dem CHKOBJ versuchen, auch wenn die Lösung nicht ganz state of the art ist.

    Danke an alle

    Gruß
    Matthias

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Wie wärs dann mit REXX ?
    Da gibts auch SQL.
    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

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    schick deinen RUNSQLSTM über qcmdexc weg, der müsste das gegen eine Escape Message tauschen.

    D*B

    Zitat Zitat von Matthias182 Beitrag anzeigen
    Hallo Leute,

    ich versuche gerade vergeblich eine Nachricht vom Typ *Diagnostic per MONMSG abzufangen. Mittlerweile habe ich auch verstanden, dass dies nicht geht.

    Dennoch muss ich den Fehler dieser Meldung in meinem Programm entsprechend behandeln.

    Hier mal die betroffene Stelle:

    RUNSQLSTM SRCFILE(HAMMIWMG/QSQLSRC) SRCMBR(WDGVIEW) COMMIT(*NONE) NAMING(*SQL) DFTRDBCOL(&LIBAD)

    MONMSG MSGID(SQL9010) EXEC(DO)
    RCVMSG MSGTYPE(*DIAG) MSG(&MSG) MSGDTA(&MSGDTA) +
    MSGID(&MSGID)
    ENDDO

    MONMSG MSGID(CPF0000 SQL0000) EXEC(SNDBRKMSG +
    MSG('Creation of SQL View WDGVIEW failed! +
    Check setup in KNFW107882') TOMSGQ(&MSGQ))

    Hoffe, es hat jemand eine Idee, wie ich das lösen kann.

    Vielen Dank und Gruß
    Matthias
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    QCMDEXC hilft da auch nicht weiter, da der auch nicht mehr kann als das CLP in diesem Fall.
    QCMDEXC routet auch nur die Nachrichten weiter, die er erhält.
    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

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ich habe die Quelle meines Irrtums gefunden: warum ist bei dir die SQL9010 überhaupt Info? habt ihr da an der Severity geschraubt, bei mir hat die 30 und kommt als Escape Message!

    D*B

    Zitat Zitat von Fuerchau Beitrag anzeigen
    QCMDEXC hilft da auch nicht weiter, da der auch nicht mehr kann als das CLP in diesem Fall.
    QCMDEXC routet auch nur die Nachrichten weiter, die er erhält.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  12. #12
    Registriert seit
    Nov 2007
    Beiträge
    79
    Die SQL9010 kommt als *Escape, aber die SQL0601 nicht. Die ist *Diagnostic.

Similar Threads

  1. Mehrere MONMSG hintereinander ? Wie ?
    By c.b. in forum NEWSboard Programmierung
    Antworten: 23
    Letzter Beitrag: 06-01-16, 13:29
  2. Monmsg
    By Lissy1 in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 29-09-05, 14:34
  3. Monmsg TCP3211 ?
    By Robi in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 20-07-05, 14:27
  4. MONMSG für *INFO Nachrichten, oder anders...
    By AndreasW aus H in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 23-04-03, 14:59
  5. Frage zu MONMSG
    By hs in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 14-08-02, 07:09

Berechtigungen

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