[NEWSboard IBMi Forum]
  1. #1
    hs is offline [professional_User]
    Registriert seit
    Jun 2001
    Beiträge
    364

    Post Frage zu MONMSG

    Ich habe folgendes Problem:

    in einem CL werden mehrere QRY ausgeführt, die ein Ausgabefile ind er Bibloithek XXX erzeugen.

    Während der Datensicherung wird diese Bibiothek kurzzeitig benutzt, d.h. die QRY laufen u.U. auf einen Fehler.

    Ich möchte es nun so einrichten, dass im Fehlerfall das CL wartet und nach 10 min die QRY erneut versucht, gegebenenfalls wieder wartet usw.

    Ich kenne nur die Möglichkeit, hinter jede Programmzeile dies mit MONMSG abzufangen. Dies ist natürlich in meinem Fall sehr aufwendig, da ich für jede zeile eine eigene Sprungmarke definieren muß.

    Geht das auch einfacher, mit einer globalen Fehlerbehandlung?
    (Betriebssystem V3.7)

    Danke für eure Antworten
    HS

  2. #2
    Registriert seit
    May 2002
    Beiträge
    1.121

    Post

    hi
    also meines wissens nach reicht es wenn du als erste zeile nach den var-declarationen eine zeile mit
    monmsg cpf0000

    ein gibst. diese ist dann für das ganze cl gültig

    gruß ronald

  3. #3
    Registriert seit
    May 2002
    Beiträge
    1.121

    Post

    ups1 man sollte immer alles genau lesen ! meine antwort war dafür generell alle fehler zu ignorieren.

    ronald

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241

    Post

    Natürlich geht das auch einfacher, mit einem zentralen MONMSG und einem GOTO (nach der letzten DCL-Anweisung), das erschwert aber die Fehlerbehandlung, da du nicht weist, welcher RUNQRY denn nun verantwortlich ist.
    Und für die Wiederholung genau dieses QRY's benötigst du nun trotzdem einen Label.
    Zusätzlich eine Variable, die den fehlerhaften Query kennzeichnet, jede Menge If's usw. usw.

    Ein MONMSG nach jedem Query, am besten auch nur auf den erwarteten Fehler, bringt auf jeden Fall mehr Übersichtlichkeit in dein Programm.
    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

  5. #5
    Registriert seit
    Nov 2001
    Beiträge
    170
    Hallo,
    wenn eine Datei möglicherweise gesperrt sein kann, versuche ich die vorher mit ALCOBJ zu sperren. Wenn das nicht funktioniert, mache ich einen DLYJOB von 600 Sekunden (10 Minuten) und danach einen Neuversuch mit ALCOBJ.
    Nicht vergessen, die Datei danach wieder freizugeben (DLCOBJ).


  6. #6
    hs is offline [professional_User]
    Registriert seit
    Jun 2001
    Beiträge
    364

    Post

    hallo Lossin,

    Danke für Deinen Tip.

    Da die Dateien von meinen Abfragen nur bis ca. max. 5 min benötigt werden, kann ich das mal versuchen.

    Gruß
    HS

  7. #7
    Registriert seit
    Jan 2002
    Beiträge
    15

    Smile

    Hi,

    eine andere Alternative wäre, die Query-Datei mit einer Zeit in Sekunden beim Schlüsselwort WAITFILE zu hinterlegen. Standardmässig steht diese auf *IMMED, was bedeuten würde, dass nicht auf Verfügbarkeit der Datei gewartet wird. Man kann also für 5 Minuten dort auch mal 300 Sekunden angeben.

    Man muss nur dafür Sorge tragen, dass die Datensicherung wegen dieser Modifikation nicht abbricht und evtl. die Sicherung im aktiven Zustand (Schlüsselwort SAVACT) durchführt

    Gruss Gerd

Similar Threads

  1. Frage zum Befehl STRPCCMD
    By stoerfang in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 24-01-13, 10:27
  2. Frage zu WDSC bzw. CODE400
    By Mr.iSeries in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 02-09-08, 10:16
  3. SQL Frage
    By Bratmaxxe in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 24-01-07, 19:17
  4. Frage zu QZDFMDB2
    By Freezer in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 23-10-06, 21:02
  5. Frage zu SQL UserDefinedFunction
    By cbe in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 24-08-06, 17:30

Berechtigungen

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