z/OS und automatische FILE-Ereignisse
Ereignisse in einem AE-System sind Objekte, die Sie verwenden können, um bestimmte Bedingungen zu überwachen und Aktionen auszulösen. Der z/OS-Agent kann Ihr Dateisystem überwachen und sicherstellen, dass die Dateien geschlossen werden. Das Ereignis wird ausgelöst, wenn eine Datei entsprechend den definierten Bedingungen und Filtern geschlossen wird. Sie können entweder nach einem Dateinamen filtern oder mehrere Filterkriterien angeben, wie z. B. den Namen der Datei, den Job, der die Datei verarbeitet hat, und seinen Rückgabewert.
Die Seite Ereignis-Prozess wird bearbeitet, wenn das Ereignis ausgelöst wurde. Die Script-Funktion GET_EVENT_INFO liefert Informationen zur Datei. Weitere Informationen finden Sie unter GET_CONSOLE, GET_EVENT_INFO.
Hinweis: Der Administrator muss den Parameter smfwrite=1 in der INI-Datei des Agenten oder des Ereignis-Monitors setzen. Stellen Sie sicher, dass das SMF-Subsystem in Ihrem z/OS-System die IEFU83- und IEFU84-System-Exits zulässt. Die Einträge 14, 15, 30 und 64 müssen protokolliert werden.
Wichtig! Automatische FILE-Ereignisse auf partitionierten Datensätzen (PDS) werden nicht unterstützt.
Diese Seite beinhaltet Folgendes:
Ablauf
- Ein FILE-Ereignisobjekt erstellen
- Öffnen Sie das Objekt und gehen Sie auf die Seite Attribute
- Wählen Sie einen z/OS-Agenten aus
- Wechseln Sie auf die Seite Dateiereignis und aktivieren Sie im Bereich "Zeitparameter" Automatisch
Filterkriterien festlegen
Der Ereignis-Monitor kann ein oder mehrere Filterkriterien berücksichtigen, wenn er benachrichtigt wird, dass eine Datei geschlossen wird. Auf diese Weise wird das Ereignis nur ausgelöst, wenn ein bestimmter Job die Datei bearbeitet hat oder ein spezieller Rückgabewert auftritt.
Die Filterkriterien werden in einer eigenen Datei hinterlegt. Sie enthält pro Zeile eine Filterdefinition. Treffen bei einem Ereignis mehrere Filterdefinitionen zu, weil sie sich überlappen, wird pro Zeile ein Ereignis ausgelöst.
Wichtig! Die Filterdatei muss die Data-Control-Block-(DCB)-Attribute RECFM=VB, LRECL=307 und BLKSIZE=3070 verwenden.
Sie können die folgenden Filterkriterien festlegen:
-
Dateiname
Filtert nach dem Dateinamen. Data Set (DS)-Namen einschließlich von PDS-Members und GDGs werden unterstützt. Die Verwendung von Platzhalterzeichen ist zulässig.
Spalten: 1 bis 81
-
Job-Name
Filtert nach dem Namen des z/OS-Jobs, der die Datei geschlossen hat. Die Platzhalterzeichen * und ? sind erlaubt.
Spalten: 82 bis 89
-
Job-Ende
Wartet, bis der Job beendet ist.
Zulässige Werte:
-
" "
Sobald die Datei geschlossen wird, wird das Ereignis ausgelöst, obwohl der Job noch nicht beendet wurde.
-
X
Die Datei wird geschlossen, aber das Ereignis wird nur ausgelöst, wenn der Job beendet ist.
Rückgabewerte: Nicht relevant
-
N
Das Ereignis wird ausgelöst, wenn der Job normal beendet wurde.
Rückgabewerte: 0 bis 4095
-
A
Das Ereignis wird ausgelöst, wenn der Job nicht ordnungsgemäß beendet wurde.
Rückgabewerte: 4096 bis 12287
Spalte: 90
Hinweise:
-
Der Agent kann das Job-Ende auf zwei Stufen analysieren. Er kann die SMF-Datensätze des Job-Endes betrachten und nur normale und abnorme Job-Enden unterscheiden. Er kann zusätzlich die SMF-Datensätze der STEP-Enden überprüfen und eine detailliertere Analyse durchführen. In diesem Fall ruft der Ereignis-Monitor den maximalen Rückgabewert aus jedem Schritt ab.
-
Ihr Systemadministrator kann feststellen ob bei der Überprüfung des Rückgabewerts nur das Ende des Jobs oder auch der STEP endet. Die Definitionen müssen in der INI-Datei des z/OS Event Monitor mit dem Parameter smfStepFilter= festgelegt werden.
-
Definieren Sie das Filterkriterium "Job-Rückgabewert", um die erwarteten Rückgabewerte festzulegen.
-
-
Job-Rückgabewert
Filtert nach dem Rückgabewert des Jobs, wie z. B. Bedingungscode, Benutzerabbruch und Systemabbruch. Weitere Informationen finden Sie unter Rückgabewerte von z/OS-Jobs
Zulässige Werte: Werte werden in z/OS oder mithilfe der AE-spezifischen Syntax definiert.
Rückgabewerte: Mehrere Rückgabewerte müssen durch je ein Semikolon (;) oder einen Doppelpunkt (,) getrennt werden. Sie können von - bis-Bereiche mit einem Bindestrich (-) definieren.
Spalten: 91 bis 106
-
Aktion:
Aktion, die auf das Ereignis folgen soll
Zulässige Werte:
-
Y: Das Objekt, das im Objektfilterkriterium definiert ist, wird anstelle der Definitionen verarbeitet, die auf der Seite Ereignisprozess vorhanden sind.
-
N: Es erfolgt keine Ausführung des eventuell eingetragenes Objekts.
Spalte: 107
-
-
Objekt
Name des zu verarbeitenden Objekts. Hier können Sie beispielsweise ein Job-Objekt hinterlegen.
Wichtig! Der Inhalt der Seite Ereignis-Prozess wird ignoriert, wenn Sie hier eine Definition erstellen.
Spalten: 108 bis 307
Verwenden des Dateinamens als Filter
- Geben Sie im Abschnitt Dateiereignis einen Datensatznamen unter Pfad ein.
- Tragen Sie auf der Seite Ereignisprozess die Script-Anweisungen ein, die ausgeführt werden sollen, wenn das Ereignis ausgelöst wird. Verwenden Sie die Script-Funktion GET_CONSOLE, GET_EVENT_INFO zu diesem Zweck. Weitere Informationen finden Sie im folgenden Beispiel.
- Speichern Sie das Ereignisobjekt, und führen Sie es aus, wenn Sie die Datei überwachen möchten.
Mehrere Filterkriterien verwenden
- Erstellen Sie auf der LPAR, auf der der Agent ausgeführt wird, eine Datei, die die Filterkriterien enthält. Diese Datei muss die entsprechenden Filterkriterien erfüllen.
- Geben Sie im Abschnitt Dateiereignis den Namen der Filterdatei in Pfad an.
Format: *FILE(DSNAME)
Beispiel: *FILE(SGD.PROD.MASSFILTER)
In DSNAME sind keine Platzhalterzeichen erlaubt. - Tragen Sie auf der Seite Ereignisprozess die Script-Anweisungen ein, die ausgeführt werden sollen, wenn das Ereignis ausgelöst wird. Verwenden Sie die Script-Funktion GET_CONSOLE, GET_EVENT_INFO zu diesem Zweck. Weitere Informationen finden Sie im folgenden Beispiel.
Wichtig! Beachten Sie, dass die Seite Ereignisprozess nicht verarbeitet wird, wenn die Filterdatei die Spezifikation eines zu startenden Objekts enthält. - Speichern Sie das Ereignisobjekt, und führen Sie es aus, wenn die Datei überwacht werden soll.
Erweiterte Filterkriterien verwenden
Mit erweiterten Filterkriterien können Sie das Feld Pfad eines Dateiereignisses verwenden, um nicht nur nach Datensatznamen, sondern auch nach Jobendstatus oder Rückgabewert (Abschlusswert) zu filtern.
Hinweis: Der Filter wird direkt vom Ereignis-Monitor verwendet. Deshalb ist es nicht mehr notwendig, eine Filterdatei zuvor auf Mainframe-Systemen zu erstellen.
Die Filterkriterien haben folgendes Format:
file_name/dataset_name; job_name; job_end; job_return_code
Beispiele
-
Um Ereignisse auszulösen, bei denen der Datensatzname einem bestimmten Muster entspricht, der Job normal beendet wurde und der Job-Rückgabewert liegt zwischen 0 und 16:
*.TRG007.PDS;*;N;0-16
-
Um Ereignisse auszulösen, bei denen der Datensatzname einem bestimmten Muster entspricht, der Auftrag vorzeitig beendet wurde und der Job-Rückgabewert S806 oder S807 ist:
*.TRGXYZ.PDS;*;A;S806-S807
Beispiele
Das folgende Beispiel ist nur ein Ausschnitt einer Filterdatei und zeigt nicht alle 307 Zeichen und auch nicht alle Spalten an:
DEV.DS1 JOBA A
DEV.DS1 JOBB A S806 Y CALL.ADMIN
AE.D*.*LIB TEST2 N 0-12;16-18 Y MM.CLOSING
SYS1.PARMLIB
TEST.S62*.T* TEST1 X 11-17;S806
Der Agent liest beim Starten des Ereignis-Objekts die Filterdatei und benachrichtigt automatisch den Ereignis-Monitor. Wenn Sie Ihre Filterkriterien ändern, müssen Sie das betroffene Ereignisobjekt neu starten oder die Filterdatei unter Verwendung des Befehls MODIFY neu laden:
Syntax
MODIFY Name der gestarteten Aufgabe des Agenten,FEVNT=Name der Filterdatei
Beispiel
MODIFY UC600T1,FEVNT=UC600T.FILTER1
(Optional)Sie können ein Objekt definieren, das als Reaktion auf das eingetretene Ereignis aktiviert werden soll. In diesem Fall speichert der Agent alle Informationen im Eingabepuffer. Diese Informationen können mit Hilfe von Schlüsselwörtern vom Ereignisobjekt mit der Script-Funktion GET_EVENT_INFO gelesen werden. Das aktivierte Objekt ruft Daten über die Script-Anweisung :READ ab. Als Variablennamen sind hierbei die Schlüsselwörter anzugeben.
Beispiel
: SET &FILENAME# = GET_EVENT_INFO (FILENAME)
: READ &FILENAME# ,,
Siehe auch: