Anmelden

View Full Version : Mehrere MONMSG hintereinander ? Wie ?



Seiten : 1 [2] 3

Pikachu
08-07-08, 10:31
... da die i5 aber auf A9003C70 gestanden hat, also mehr oder weniger tot war, und wir uns das eigentlich nicht leisten können, werde ich da nicht länger rumbastelen sondern nur die CPF0000 abfragen, dann haben wir eben keine sicherung.
Das stimmt so nicht! ;)

Aus dem Hilfetext zum Parameter "Zeitlimit für Stapelverarbeitung" des Befehls ENDSBS:

... Wenn dieser Parameter angegeben wird, wird das System im Status des eingeschränkten Betriebs beendet, und nur der Stapeljob, der den Befehl ENDSBS ausführt, bleibt aktiv. Solange sich das System im Status des eingeschränkten Betriebs befindet, wird Systemreferenzcode A900 3C70 angezeigt. Sobald das angegebene Zeitlimit erreicht ist, wird der Stapeljob beendet und das steuernde Subsystem erneut gestartet.

c.b.
09-07-08, 07:58
aaah, man muss immer erst zweimal auf die nase fallen; i5 stand wieder auf A9003C70; gleicher grund.

jetzt weiß ich auch was fuerchau gemeint hat, die INQ-message ging nicht an mein CL sondner an QSYSOPR, also konnte diese mit MONMSG gar nicht abgefangen werden. was aber ist jetzt der beste weg, die QSYSOPR-nachrichtenwarteschlange irgendwie versuchen im CL zuzuornden; was ist wenn QSYSOPR diese aber noch epxlizit zugeordnet hat; und würde dann der MONMSG funktionieren ? oder mit ADDRPYLE die nachricht autom beantworten lassen; benötigt man dann hinterher überhaupt noch eine MONMSG ?
.... man(n) lernt doch immer wieder dazu; wäre nie auf die idee gekommen, dass aus einem batch-job eine nachricht an QSYSOPR geht und ich diese nicht direkt abfangen kann.

danke an alle

christian

c.b.
09-07-08, 08:00
... noch was vergessen: kann mir vielleicht jemand sagen wie ich herausbekomme, welche bibliothek nur teilweise gesichert wurde; finde im joblog einfach nichts ?????

358 Bibliotheken gesichert, 1 teilweise gesichert, 0 Objekte nicht gesichert.

Pikachu
09-07-08, 08:52
Sag' mal, sind meine Antworten für euch etwa unsichtbar? :confused:

Wenn Systemreferenzcode A900 3C70 angezeigt wird, ist das kein Fehler, sondern ein Hinweis, daß das System im Status des eingeschränkten Betriebs beendet wurde und ein Stapeljob läuft!

Du machst ja ein SNDSBS *ALL von diesem Stapeljob aus. Gib' doch mal ein passendes Zeitlimit für Stapelverarbeitung (Parameter BCHTIMLMT) an, damit eure Maschine auch dann wieder zu sich kommt (http://www-912.ibm.com/s_dir/slkbase.NSF/1ac66549a21402188625680b0002037e/8b3e751504de3a18862570f4004c810f?OpenDocument), falls der Stapeljob steckenbleibt.

Falls du sehen willst, welche Objekte nicht gesichert wurden, kannst du den SAVLIB mit Parameter OUTPUT(*PRINT) aufrufen. Dann wird eine Spooldatei erstellt, die genauere Angaben enthält.

c.b.
09-07-08, 09:22
.... das ist vielleicht eine lösung, damit die maschine überhaupt wieder hochkommt, behebt aber leider nicht die eigentliche ursache. außerdem wie hoch sollte man den wert denn ansetzen, wenn in diesem batch-programm u.u. verschiedene dinge abgearbeitet werden, anhand deren man die laufzeit nicht 100%ig festelegen kann. haben wir bisher nicht benutzt den parameter und die prozedur läuft seit ca. 20 jahren so.
ich hätte gerne antworten auf die ursache des eigentlichen problems; aber trotzdem danke für den hinweis.

Pikachu
09-07-08, 09:47
MONMSGs beheben ja leider auch nicht die Ursache, können allerdings die negativen Auswirkungen eines Fehlers abfedern.

Kannst du den Teil des SAVLIBs mit den ganzen MONMSGs hier einmal zeigen? Gibt es vielleicht auch programmweite MONMSGs in diesem CL-Programm?

Das Zeitlimit solltest du so einstellen, daß die Maschine wieder rechtzeitig am nächsten morgen für interaktive Arbeiten zur Verfügung steht.

c.b.
09-07-08, 10:59
also, fakt ist:
1. ich habe die nicht gesicherten objekte gefunden und gelöscht; waren zwei spool-dateien.

2. meine erste MONMSG-programmierung war scheinbar korrekt, nur hatte mein CL nie die möglichkeite diese abzufangen, so wie die jetzige version

SAVLIB LIB(*NONSYS) .......
MONMSG MSGID(CPF0000) EXEC(DO)
SNDMSG MSG('...')
GOTO CMDLBL(S0070)
ENDDO


die MONMSG steht wirklcih direkt hinter dem SAVLIB-befehl; weshalb kommte die CPF3777 an die Operator-Warteschlange durch ?

ich war und bin immer noch der meinung, dass man mit MONMSG MSGID(CPF0000)
ALLE CPF-meldungen abfängt, die aufgrund des vorherhigen befehls auftreten können.

bin aber weiterhin um jeden rat dankbar.


christian

c.b.
09-07-08, 11:11
.... blöde frage, sagt mir momentan aber leider nichts !??!?!

christian

c.b.
09-07-08, 11:29
.... erklärung kommt sobald es definitiv ist !!!

Pikachu
09-07-08, 12:02
.... blöde frage, sagt mir momentan aber leider nichts !??!?!
Das sind MONMSGs, die direkt am Programmanfang, also nach den DCLs aber noch vor dem ersten Befehl im Programm notiert werden. Diese gelten für jeden Befehl, bei dem keines seiner eigenen MONMSGs den Fehler abfängt.