1.88k likes | 2.06k Views
Smart/JCL . Der einfache Weg zur fehlerfreien JCL. Basisworkshop. H O RIZONT Software für Rechenzentren. Garmischer Str. 8 D- 80339 München Tel ++49(0)89 / 540 162 - 0 www.horizont-it.com. Vorwort.
E N D
Smart/JCL Der einfache Weg zur fehlerfreien JCL Basisworkshop HORIZONT Software für Rechenzentren Garmischer Str. 8 D- 80339 München Tel ++49(0)89 / 540 162 - 0www.horizont-it.com
Vorwort • DerBasiskurs sollte beim ersten Mal in der vorgegebenen sequentiellen Reihenfolge durchgegangen werden. Er hilft Ihnen, SmartJCL besser kennen zu lernen. Der beste Weg dazu ist jedoch einfach: Benutzen Sie SmartJCL so oft es geht. Falls Sie den Kurs nicht in der sequentiellen Reihenfolge durchgehen, können Sie mit Hilfe des Index (s. nächste Folie) navigieren. Einführung Inhalt 1 Inhalt 2 Inhalt 3 Wenn Sie auf dieses Feld klicken, kommen Sie zurück zum Inhaltsverzeichnis.
Inhaltsverzeichnis Einführung Im Editor JCL prüfen Im Editor Scheduling-Variablen simulieren Tipps zum EDIT-Makro Mit ISPF-Dialog/Batch JCL prüfen Mit ISPF-Dialog/Batch Scheduling-Variablen simulieren Sonstiges zu TWS-Variablen
Einführung • SmartJCL ist ein JCL-Checker • Aufgabe eines JCL-Checkers ist das Auffinden von Fehlern in der JCL vor Produktionseinsatz • Das erfordert folgende Eigenschaften: • Einzelne Jobs müssen bei Erstellung geprüft werden: • Direkt bei der Änderung im ISPF-Editor • Nach der Änderung mittels • ISPF-Dialog • Batch-Modus
Einführung • Erforderliche Eigenschaften (Fs.): • Ganze Jobketten, im günstigsten Fall der gesamte Produktionsablauf, müssen geprüft werden • Dazu ist eine hohe Verarbeitungsgeschwindigkeit erforderlich • Eine Simulation der Katalogaktionen wäre wünschenswert • Variablen der Scheduling-Systeme müssen berücksichtigt bzw. aufgelöst werden • Für TWS zOS existiert die in SmartJCL integrierte Komponente TWS/SimJCL • Günstig wäre es, zukünftige Produktionsabläufe im Vorfeld zu prüfen
Standard-Kommandos • In dieser Präsentation werden die Standardaufruf-Kommandos verwendet. In Ihrem Unternehmen könnten die Kommandos anders heißen. • Die Standardkommandos beim EDIT-Makro sind: • JCK: JCL prüfen • OSJ: TWS-Variablen simulieren • OSJ JCK: TWS-Variablen simulieren und aufgelöste JCL prüfen
Standard-REXXen • In dieser Präsentation werden die Standardaufruf-REXXen verwendet. In Ihrem Unternehmen könnten die Aufrufe anders heißen oder in ISPF integriert sein. • Die REXXen in der Datei HLQ.SMARTJCL.CLIST zum Starten des ISPF-Dialoges ist: • JCKX: SmartJCL ISPF-Dialog
Aufruf-Varianten • SmartJCL kann auf folgende Arten eingesetzt werden: • EDIT-Modus • Einen Job prüfen • Einen Job simulieren • Einen Job simulieren und prüfen • ISPF-Dialog oder per Batchjob • viele Jobs prüfen • viele Jobs simulieren • viele Jobs simulieren und prüfen
JCL im Editor prüfen • Sie editieren JCL und wollen diese prüfen • Folgende Varianten sind möglich: • Editierte JCL checken • prüfen • simulieren • simulieren und prüfen • JCL aus Joblib • prüfen • simulieren • simulieren und prüfen
JCL im Editor prüfen JCL prüfen Verschiedene Beispiele Beispiel Katalogsimulation Beispiel IDCAMS-Statements prüfen
JCL im Editor prüfen Sie editieren Ihre JCL ... ... und wollen die JCL prüfen.
JCL im Editor prüfen Geben Sie JCK ein
JCL im Editor prüfen Wenn SmartJCL keinen Fehler findet, zeigt SmartJCL die Meldung „Check successful“ an. Ihre JCL ist OK.
JCL im Editor prüfen Hinweis: Prozeduren innerhalb des Jobs werden übrigens als NOTE-Zeilen in aufgelöster Form angezeigt
JCL im Editor prüfen Wenn SmartJCL einen Fehler findet, zeigt SmartJCL die Meldung „Errors occured“ an. Ihre JCL ist nicht OK. Alle Fehler werden als NOTE-Zeilen angezeigt, mit Label-Kennung, Messagenummer und einem Fehlertext
JCL im Editor prüfen Wenn Sie zu einem bestimmten Fehler springen wollen, geben Sie bitte „L .label-kennung“ ein,z.B. L .HAAA, um zum ersten Fehler zu kommen
JCL im Editor prüfen SmartJCL springt zum entsprechenden Fehler. Zu jedem fehlerhaften JCL-Statement ist als NOTE-Zeile der Fehlertext eingefügt
JCL im Editor prüfen Der Fehlertext „UNDEFINED PARAMETER DCG ON DD STMT“ zeigt an, das der Parameter DCG nicht erlaubt ist. Korrigieren Sie den Wert (hier DCB statt DCG), korrigieren Sie ggf. auch alle anderen Fehler und rufen Sie erneut JCK auf, ...
JCL im Editor prüfen ..., solange bis SmartJCL meldet, dass die Prüfung erfolgreich war.
Beispiele • Im Folgenden werden verschiedene Fehlerszenarien und ihre Meldungen gezeigt. Natürlich gibt es jede Menge weitere Fehlerszenarien, die hier nicht alle aufgeführt werden können. Invalid DCB-Parameter Invalid JCL statement, weil Fortsetzungszeichen fehlt Invalid JCL statement, DD falsch Invalid JCL statement, JOB falsch Invalid JCL statement, EXEC falsch Invalid DISP-Parameter Katalogsimulationsfehler, IDCAMS-DEL-Anweisung in Prozedur falsch
Invalid DCB-Parameter Falsch DORG, richtig DSORG
Invalid JCL-Statement Komma für Fortsetzungszeile fehlt
Invalid JCL-Statement Falsch DF, richtig DD
Invalid JCL-Statement Falsch JOP, richtig JOB
Invalid JCL-Statement Falsch XXEC, richtig EXEC
Invalid DISP Falsch KATLG, richtig CATLG
Katalogaktionen simulieren Wenn neben den JCL-Fehlern auch die Katalogaktionen geprüft werden sollen (dies kann per Parameter gesteuert werden), kann z.B. o.a. Meldung erscheinen „dataset is already cataloged“.
Katalogaktionen simulieren Springen Sie mit „l .haaa“ zu der entsprechenden Stelle
Katalogaktionen simulieren Die Datei soll hier neu angelegt werden. SmartJCL prüft, ob die Datei schon vorhanden ist und stellt fest, dass die Datei in Ihrem Katalog schon existiert und daher nicht noch einmal angelegt werden kann. Suchen Sie im Job nach dem ersten Auftreten des Dateinamens ...
Katalogaktionen simulieren ... und schon erkennen Sie, dass die Datei zu Beginn des Jobs in einer IDCAMS-Prozedur gelöscht werden soll und dass darin die DEL-Anweisung statt mit DEL mit DEK geschrieben wurde.
IDCAMS-Statements Wenn in Ihrer Installation aktiviert ist, dass SmartJCL auch IDCAMS-Statements prüfen soll, bekommen Sie von SmartJCL angezeigt, dass das DEL-Statement falsch geschrieben ist.
IDCAMS-Statements Korrigieren Sie das DEK-Statement in DEL
JCL im Editor simulieren • Simulieren bedeutet, dass die Scheduler-Variablen aufgelöst werden. • Bisher unterstützte Scheduling-Systeme TWS z/OS
TWS-JCL im Editor simulieren • Wenn SmartJCL die JCL mit TWS-Variablen simuliert, kommuniziert SmartJCL mit dem TWS. TWS sucht dabei die JCL in folgender Reihenfolge: • 1. In der JS-Datei • 2. In den TWS zugeordneten Job-Bibliotheken • Daher muss eine zu simulierende JCL entweder in der JS-Datei oder auf einer der TWS-Job-Bibliotheken stehen. • Weiterhin muss eine Operation im CP oder in der AD-Datei mit einem identischen Jobnamen existieren. • Dies ist auch der Grund, dass SmartJCL oder Sie beim Simulieren einer „neuen“ JCL die JCL zuerst auf eine TWS-Joblib oder in die JS-Datei schreiben und dass zum Jobnamen eine Muster-Operation existieren muss.
TWS-JCL im Editor simulieren JCL von Joblib simulieren Aktuell editierte JCL simulieren JCL simulieren und prüfen JCL simulieren und simulierte JCL in JS-Datei speichern Beispiele für Fehlermeldungen Simulation eines Noch-Nicht-TWS-Jobs Simulation eines Scripts
TWS-JCL im Editor simulieren Sie editieren die JCL auf einer Ihrer TWS-Job-Bibliotheken die JCL hat TWS-Variablen
TWS-JCL im Editor simulieren Sichern Sie die JCL mit SAVE und gehen zur nächsten Folie, oder ... ... klicken Sie hier drauf.
TWS-JCL im Editor simulieren Geben Sie OSJ ein
TWS-JCL im Editor simulieren Job-/Membername Der Jobname wird zuerst im TWS-Tagesplan (CP) gesucht. Meldung erscheint, ob der Job gefunden oder nicht gefunden wurde. Sie werden gefragt, ob der Job zusätzlich in der TWS-Definitionsdatei (AD) gesucht werden soll.
TWS-JCL im Editor simulieren Dabei durchsucht SmartJCL alle Operationen aller Aufträge aus der TWS-Definitionsdatei (AD). Dies kann unter Umständen bei sehr vielen Aufträgen mit sehr vielen Operationen je Systemauslastung etwas dauern.
TWS-JCL im Editor simulieren Alle Jobs aus dem Tagesplan (s. Wert CP in Spalte origin) und alle Jobs aus der Definitionsdatenbank (s. Wert AD in Spalte Origin) werden in einer Auswahlliste angezeigt.
TWS-JCL im Editor simulieren Geben Sie das Simulationsdatum und -zeit ein Geben Sie ein IA-Datum und eine IA-Zeit ein. Die IA ist zwingend, wenn Origin AD ist.
TWS-JCL im Editor simulieren Wählen Sie eine Operation aus
TWS-JCL im Editor simulieren SmartJCL löst die TWS-Variablen auf und zeigt Ihnen die simulierte JCL als NOTE-Zeilen an
Geänderte JCL im Editor simulieren • Folgende Vorgehensweise benötigen Sie, wenn: • die JCL im Editor verändert wurde und noch nicht gesichert worden ist • die JCL noch auf keiner TWS-Job-Bibliothek steht • Anmerkung:In beiden Fällen müssen Sie SmartJCL explizit mitteilen, dass es die JCL aus dem Editor zur Simulation verwenden soll.
Geänderte JCL im Editor simulieren Geben Sie OSJ ein
Geänderte JCL im Editor simulieren Der Jobname wird zuerst im TWS-Tagesplan (CP) gesucht. Eine Meldung erscheint, ob der Job gefunden oder nicht gefunden wurde. Sie werden gefragt, ob der Job zusätzlich in der TWS-Definitionsdatei (AD) gesucht werden soll.
Geänderte JCL im Editor simulieren Alle Jobs aus dem Tagesplan (s. Wert CP in Spalte origin) und alle Jobs aus der Definitionsdatenbank (s. Wert AD in Spalte Origin) werden in einer Auswahlliste angezeigt.
Geänderte JCL im Editor simulieren Geben Sie das Simulationsdatum und -zeit ein Geben Sie ein IA-Datum und eine IA-Zeit ein. Die IA ist zwingend, wenn Origin AD ist.
Geänderte JCL im Editor simulieren Geben Sie SP an