der einfache weg zur fehlerfreien jcl
DESCRIPTION
Smart/JCL. Der einfache Weg zur fehlerfreien JCL. Zusatznutzen von Smart/JCL. 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. Inhalt. JCL Qualitätssicherung. JCL Massenänderungen. JCL Vergleich. - PowerPoint PPT PresentationTRANSCRIPT
HORIZONT 1 SmartJCL®
Der einfache Weg zur fehlerfreien JCL
HORIZONTSoftware für Rechenzentren
Garmischer Str. 8 D- 80339 MünchenTel ++49(0)89 / 540 162 - 0www.horizont-it.com
Smart/JCL
Zusatznutzen vonSmart/JCL
HORIZONT 2 SmartJCL®
Inhalt
JCL Vergleich
JCL Massenänderungen
JCL Qualitätssicherung
HORIZONT 3 SmartJCL®
JCL Qualitätssicherung
Prüfen von JCL-Standards
HORIZONT 4 SmartJCL®
Allgemein•Einfache Prüfung der Job Control Standards mittels der SmartJCL-Komponente REXX-Interface
•Definition einfacher Regeln in externen Tabellen
•Vorgabe von Prüfwerten in eigenen Dateien/Member
•Einschränkung von Prüfungen mit Bedingungen
•Berücksichtigung von Exclude-Listen
HORIZONT 5 SmartJCL®
Allgemein•Sehr strukturierter Code, damit leicht wartbar.
•Einfache Einbindung von eigenen REXX- Prüfroutinen.
•Leichte Anpassung, da Änderungen nur in den Tabellen eingetragen werden.
HORIZONT 6 SmartJCL®
Aufbau von Prüfkriterien•Erstellen eigener Tabellen für die Prüfung einzelner Parameter.
•Unterschiedliche Tabellen für unterschiedliche Umgebungen möglich.z.B. Produktion/System Test etc.
•Tabellenwerte können aus externen Dateien/Member gelesen werden.
•Hohe Transparenz
•Eigene individuelle Meldungen für den Anwender.
HORIZONT 7 SmartJCL®
Prüfen von Parameter-Inhalten•Der Wert von bestimmten Parametern soll geprüft werden.
•Abgleich gegen eine Prüftabelle, die zuvor definiert wurde.
• Individuelle Meldung für den Anwender sowie Return Code setzen.
•Berücksichtigen von Bedingungen.z.B. nur wenn Job mit ABC* beginnt.
HORIZONT 8 SmartJCL®
ISPF-Admin-Dialog Pflege Tabellen
------------------------------ Select record type --------------------------Command ===> 1 Create/update Check tables 2 Check parameter if exist 3 Check not permitted parameter 4 Check parameter values 5 Check statement if exist 6 Check not permitted statement 7 Search of strings in statement 8 Create private JCL types 9 Delete JCK messages of previous check 10 Execute external REXX (not implemented yet) 11 Execute internal REXX routines 12 Check member name conventions 13 Exclude list 50 TWS Values
HORIZONT 9 SmartJCL®
Verwaltung mittels Prüftabellen
Die Verwaltung der Prüfkriterien erfolgt über Prüftabellen.Die Prüfungen können systemspezifisch, typspezifisch und je JCL-Statement und JCL-Parameter definiert werden.
Hiermit wird z.B. die JOBCLASS verwaltet
HORIZONT 10 SmartJCL®
Prüfen von Parameter-Inhalten
Inhalt der Prüf- tabelle JOBCLASS
* * * * JOBCLASS * EQ EQ EQ EQ EQ EQ S System Type JCK-Type JCL-Parm Tablename Values for table - -------- ----------- ----------- ----------- --------- ------------------ X X JOB CLASS JOBCLASS A X X JOB CLASS JOBCLASS B X X JOB CLASS JOBCLASS C X X JOB CLASS JOBCLASS D ******************************* Bottom of data ***************************
Als JOBCLASS sind erlaubt: A, B, C, D
HORIZONT 11 SmartJCL®
Prüfen von Parameter Inhalten
000001 //MYJOB JOB (1234,XXXX,0), 000002 // CLASS=2, 000003 // MSGCLASS=T .HAAB FIT0003E CLASS PARAMETER IN JOBKARTE ENTSPRICHT NICHT DEN KONVENTIONEN . . . . . . .
Ergebnis der Prüfung
individuelleMessage
individuelleMessages sind möglich
HORIZONT 12 SmartJCL®
Prüfen von Dateinamen•Struktur der Dateinamenskonventionen soll geprüft werden.
•Unterschiede nach Qualifier sollen möglich sein.
•Abgleich gegen eine Prüftabelle, die zuvor definiert wurde.
•Berücksichtigen von Exclude-Tabellen
•Berücksichtigen von Bedingungen.z.B. nur wenn Job mit ABC* beginnt
HORIZONT 13 SmartJCL®
Prüfen von Dateinamen
Inhalt der Prüf- tabelle DSNQ1
* * * * DSNQ1 * EQ EQ EQ EQ EQ EQ S System Type JCK-Type JCL-Parm Tablename Values for table - -------- ----------- ----------- ----------- --------- ------------------ X X DD DSN DSNQ1 HLQ1 X X DD DSN DSNQ1 TEST X X DD DSN DSNQ1 A X X DD DSN DSNQ1 MYDAT X X DD DSN DSNQ1 PRTEST ******************************** Bottom of data ***************************
Folgende HLQ sind erlaubt
HORIZONT 14 SmartJCL®
Prüfen von Dateinamen
EDIT P390A.JCK.SRI.FIIT.DSN.EXCLUDE Command ===> ****** ***************************** Top of Data ***************000001 SYSH 000002 SYSH.* 000003 SYSH1.OAB.LOAD 000004 SYSH.OAB.LOAD 000005 AWDTM 000006 A.AGUM30UM 000007 %ONGDSN..S.A%OYMD* ****** **************************** Bottom of Data *************
Exclude-Tabellen sind möglich und können (wie hier) auch in
Dateien abgelegt werden
Inhalt der Exclude-Tabelle
HORIZONT 15 SmartJCL®
Prüfen von Dateinamen
000014 //TEST1 DD DSN=TEST.XYZ.MODEL.ETEST.USER, 000015 // DISP=(,CATLG,DELETE), 000016 // BUFNO=14 .HAAD FIT0014E 2. QUALIFIER ENTSPRICHT NICHT DEN KONVENTIONEN. 000017 //* 000018 //TEST2 DD DSN=SYSH.TEST.PROGRAM, 000019 // DISP=SHR 000026 //TESTST EXEC PGM=IDCAMS . . . . . . .
Wegen Exclude SYSH.* in Ordnung
individuelleMessage
individuelleMessage
HORIZONT 16 SmartJCL®
Prüfen überflüssiger Parameter•Bestimmte Parameter dürfen nicht definiert sein.
• Individuelle Meldung für den Anwender sowie Return Code setzen.
HORIZONT 17 SmartJCL®
Prüfen überflüssiger Parameter
. . . . . . .000030 //AUSGABE DD SN=ABC.TEST.USER, 000031 // DISP=(MOD,CATLG,DELETE), 000032 // LRECL=22000, 000033 // BLKSIZE=22000, 000034 // RECFM=FB .HAAF FIT0005E BLKSIZE IST NICHT ERLAUBT! BITTE ENTFERNEN! 000035 //SYSPRINT DD SYSOUT=*. . . . . . .
Ergebnis der Prüfung individuelle
MessageindividuelleMessage
HORIZONT 18 SmartJCL®
Verwaltung der Prüfkriterien•Die Prüfkriterien werden in Prüftabellen verwaltet.
HORIZONT 19 SmartJCL®
Verwaltung der Prüfkriterien
Erlaubte Werte können direkt
definiert werden …
… oder in externen Dateien verwaltet werden
HORIZONT 20 SmartJCL®
Verwaltung der Prüfkriterien
EDIT P390A.JCK.SRI.FIIT.DSN.EXCLUDE Command ===> ****** ***************************** Top of Data ***************000001 SYSH 000002 SYSH.* 000003 SYSH1.OAB.LOAD 000004 SYSH.OAB.LOAD 000005 AWDTM 000006 A.AGUM30UM 000007 %ONGDSN..S.A%OYMD* ****** **************************** Bottom of Data *************
Inhalt der externen Datei
HORIZONT 21 SmartJCL®
Ausführen eigener Routinen•Für Prüfungen die zurzeit mit der Tabellenstruktur nicht möglich sind.
•Routinen werden durch Eintrag in der Tabelle aktiviert/deaktiviert.
• Individuelle Meldung für den Anwender sowie Return Code setzen.
HORIZONT 22 SmartJCL®
Ausführen eigener Routinen
000797 U_IDCAMS_DELETE:/*---------- analyse idcams delete -------------------*/000798 /* if using idcams with del, then using of parameter noscratch and */000799 /* nonvsam is not allowed */000800 DO AX = 1 to A#.0 000801 IF A#.AX.type = "EXEC" &, 000802 WORDPOS("PGM=IDCAMS",A#.AX.line) > 0 THEN WRK_FLAG = 1 000803 IF WRK_FLAG = 1 & A#.AX.TYPE = "DD" & A#.AX.NAME = "SYSIN" THEN DO 000804 WRK_stmtptr = A#.AX 000805 lnptr = SRIGetLn(WRK_stmtptr, 0, "FIRST") /* get first line */000806 DO WHILE lnptr /= 0 /* check all instream data lines */ 000807 WRK_LINE = Strip(SRISayLn(lnptr)) . . . . . . .
Code der eigenen Routine
Name der eigenen Routine
HORIZONT 23 SmartJCL®
Ausführen eigener Routinen
. . . . . . . . 000042 //STEP9 EXEC PGM=IDCAMS 000043 //SYSPRINT DD SYSOUT=* 000044 //SYSIN DD * 000045 DEL 'TEST.DATEI' NOSCRATCH .HAAH FIT0016E IDCAMS DELETE ENTHäLT NOSCRATCH/NONVSAM ANGABEN.BITTE ENTFERNEN!
Ergebnis der Prüfung
individuelleMessage
individuelleMessage
HORIZONT 24 SmartJCL®
JCL Massenänderungen
HORIZONT 25 SmartJCL®
Allgemein•Einfache Änderung der Job Control mittels der SmartJCL-Komponente Change-Facility
•Geringer Codieraufwand
•Keine REXX-Programmierkenntnisse notwendig.
•Es werden CHANGE, DELETE und INSERT Kommandos in Verbindung mit Wildcards verwendet.
•Exclude von Changes für bestimmte Member
HORIZONT 26 SmartJCL®
Allgemein•Anwendbar auf
– JCL Anweisungen und JCL Parameter– Kommentar-Anweisungen (//*)– Instream Zeilen
•Komplexere Logik erfordert REXX-Interface
– Das SmartJCL-REXX-Interface ist eine Ergänzung zum SmartJCL-Change-Facility, wenn die Change-Facility-Möglichkeiten nicht ausreichen. I.d.R. werden mit Change-Facility zwischen 60 bis 90% der Anforderungen abgedeckt.
HORIZONT 27 SmartJCL®
Syntax Beispiel für Change-Facility
DELETE PARM=UNIT;
Original://AUS DD UNIT=SYSDA,DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(50,50),RLSE), // DSN=&ADSN
Neu://AUS DD DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(50,50),RLSE), // DSN=&ADSN
Die Eingabesyntax ist einfach aufgebaut, einige Die Eingabesyntax ist einfach aufgebaut, einige Beispiele:Beispiele:
Unit soll gelöscht werden
HORIZONT 28 SmartJCL®
Syntax Beispiel für Change-Facility CHANGE PARM=DSN,VALUE=PROD*,NEWVAL=TEST*; Original://AUS DD DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(50,50),RLSE), // DSN=PROD.WORK.DATEI
Neu://AUS DD DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(50,50),RLSE), // DSN=TEST.WORK.DATEI
Im DSN soll aus PROD TEST werden.
HORIZONT 29 SmartJCL®
Syntax Beispiel für Change-Facility CHANGE JOB=ABC*,PGM=IDCAMS,DD=REPIN1,PARM=DSN, VALUE=<’*.KK.B018.*’>,NEWVAL=<’*.GG.B022.*’>; Original://ABC9999 JOB DEFAULT,‘TEST JOB‘,CLASS=B//STEP1 EXEC PGM=IDCAMS//REPIN2 DD DISP=SHR,DSN=TEST.KK.B018.WK2//REPIN1 DD DISP=SHR,DSN=TEST.KK.B018.WK1//REPIN3 DD DISP=SHR,DSN=TEST.KK.B018.WK3
Neu://ABC9999 JOB DEFAULT,‘TEST JOB‘,CLASS=B//STEP1 EXEC PGM=IDCAMS//REPIN2 DD DISP=SHR,DSN=TEST.KK.B018.WK2//REPIN1 DD DISP=SHR,DSN=TEST.GG.B022.WK1//REPIN3 DD DISP=SHR,DSN=TEST.KK.B018.WK3
Komplexere Regel
HORIZONT 30 SmartJCL®
Weitere Besonderheiten •Ausschließen von bestimmten Membern.
•Beschränkungen von Änderungen auf bestimmte Spalten. Hilfreich bei Kommentaren und Instream-Daten.
•Ausführen von einfachen Zeilenveränderungen ohne Prüfung möglich.
•Definieren eigener Wildcard Zeichen anstatt * und %
HORIZONT 31 SmartJCL®
JCL Vergleich
HORIZONT 32 SmartJCL®
Allgemein •Vergleich von Jobs aus unterschiedlichen Umgebungen
•Vergleich von allen Job-Control-Feldern.•Ausblenden bestimmter Feldinhalte für den Vergleich.
•Anwendung als Dialog für einzelne Member
•Anwendung als Batchjob für mehrere Member
•Zum Vergleich ist die SmartJCL-Komponente Reformat notwendig.
HORIZONT 33 SmartJCL®
Allgemein •Zum Vergleich können JCL-Parameter oder Substrings von JCL-Parameter „neutralisiert“ werden.
•Diese neutralisierten Werte werden beim Vergleich nicht berücksichtigt.
•Beispiele:– Im Jobnamen steht an der 1. Stelle in der
Produktionsumgebung ein P und im Textumfeld ein T.
– Der UNIT-Parameter ist in der Testumgebung immer anders als in der Produktionsumgebung.
HORIZONT 34 SmartJCL®
Neutralisierungs-Tabelle
‘%‘ entspricht 1 Zeichen und wird mit ‘$‘
überschrieben
In der Neutralisierungstabelle
können zu neutralisierende Strings
angegeben werden
HORIZONT 35 SmartJCL®
Ergebnis des VergleichsIdentische Zeilen
werden ausgeblendet.
Unterschiedliche Zeilen werden
angezeigt.
HORIZONT 36 SmartJCL®
Ergebnis des Vergleichs
Anzeigen aller Zeilen mit den
jeweiligen Unterschieden
…
… und ohne Unterschiede
HORIZONT 37 SmartJCL®
Ergebnis des Vergleiches •Bearbeiter erkennt leicht die Veränderungen der Job Control.
• Im Edit-Modus können JCL-Member einzeln verglichen werden. Korrekturen können im Edit-Modus direkt vorgenommen werden.
•Der Vergleich ist auch im Batch-Modus möglich. Im Batch-Modus erhalten Sie eine komplette Übersicht aller Unterschiede.
HORIZONT 39 SmartJCL®
Vielen Dank für Ihre Aufmerksamkeit!
HORIZONTSoftware für Rechenzentren
Garmischer Str. 8 D- 80339 MünchenTel ++49(0)89 / 540 162 - 0www.horizont-it.com
Der einfache Weg zur fehlerfreien JCL
Smart/JCL