-
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
-
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
-
ups1 man sollte immer alles genau lesen ! meine antwort war dafür generell alle fehler zu ignorieren.
ronald
-
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.
-
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).
-
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
-
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
-
By stoerfang in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 24-01-13, 10:27
-
By Mr.iSeries in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 02-09-08, 10:16
-
By Bratmaxxe in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 24-01-07, 19:17
-
By Freezer in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 23-10-06, 21:02
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks