1 / 39

Der einfache Weg zur fehlerfreien JCL

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.

geona
Download Presentation

Der einfache Weg zur fehlerfreien JCL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Smart/JCL Der einfache Weg zur fehlerfreien JCL Zusatznutzen vonSmart/JCL HORIZONT Software für Rechenzentren Garmischer Str. 8 D- 80339 München Tel ++49(0)89 / 540 162 - 0www.horizont-it.com

  2. Inhalt JCL Qualitätssicherung JCL Massenänderungen JCL Vergleich

  3. JCL Qualitätssicherung Prüfen von JCL-Standards

  4. 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

  5. Allgemein • Sehr strukturierter Code, damit leicht wartbar. • Einfache Einbindung von eigenen REXX- Prüfroutinen. • Leichte Anpassung, da Änderungen nur in den Tabellen eingetragen werden.

  6. 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.

  7. 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.

  8. 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

  9. 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

  10. Prüfen von Parameter-Inhalten Inhalt der Prüf- tabelle JOBCLASS Als JOBCLASS sind erlaubt: A, B, C, D * * * * 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 ***************************

  11. Prüfen von Parameter Inhalten Ergebnis der Prüfung individuelleMessages sind möglich individuelleMessage 000001 //MYJOB JOB (1234,XXXX,0), 000002 // CLASS=2, 000003 // MSGCLASS=T .HAAB FIT0003E CLASS PARAMETER IN JOBKARTE ENTSPRICHT NICHT DEN KONVENTIONEN . . . . . . .

  12. 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

  13. Prüfen von Dateinamen Inhalt der Prüf- tabelle DSNQ1 Folgende HLQ sind erlaubt * * * * 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 ***************************

  14. Prüfen von Dateinamen Exclude-Tabellen sind möglich und können (wie hier) auch in Dateien abgelegt werden 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 Exclude-Tabelle

  15. Prüfen von Dateinamen Wegen Exclude SYSH.* in Ordnung individuelleMessage individuelleMessage 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 . . . . . . .

  16. Prüfen überflüssiger Parameter • Bestimmte Parameter dürfen nicht definiert sein. • Individuelle Meldung für den Anwender sowie Return Code setzen.

  17. Prüfen überflüssiger Parameter Ergebnis der Prüfung individuelleMessage individuelleMessage . . . . . . . 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=* . . . . . . .

  18. Verwaltung der Prüfkriterien • Die Prüfkriterien werden in Prüftabellen verwaltet.

  19. Verwaltung der Prüfkriterien Erlaubte Werte können direkt definiert werden … … oder in externen Dateien verwaltet werden

  20. Verwaltung der Prüfkriterien Inhalt der externen Datei 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 *************

  21. 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.

  22. Ausführen eigener Routinen Code der eigenen Routine Name der eigenen Routine 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)) . . . . . . .

  23. Ausführen eigener Routinen individuelleMessage individuelleMessage Ergebnis der Prüfung . . . . . . . . 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!

  24. JCL Massenänderungen

  25. 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

  26. 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.

  27. 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 Beispiele: Unit soll gelöscht werden

  28. 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.

  29. 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.WK3Neu://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

  30. 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 %

  31. JCL Vergleich

  32. 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.

  33. 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.

  34. Neutralisierungs-Tabelle In der Neutralisierungstabelle können zu neutralisierende Strings angegeben werden ‘%‘ entspricht 1 Zeichen und wird mit ‘$‘ überschrieben

  35. Ergebnis des Vergleichs Identische Zeilen werden ausgeblendet. Unterschiedliche Zeilen werden angezeigt.

  36. Ergebnis des Vergleichs Anzeigen aller Zeilen mit den jeweiligen Unterschieden … … und ohne Unterschiede

  37. 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.

  38. Haben Sie Fragen? Info@Horizont-it.com

  39. Smart/JCL Der einfache Weg zur fehlerfreien JCL Vielen Dank für Ihre Aufmerksamkeit! HORIZONT Software für Rechenzentren Garmischer Str. 8 D- 80339 München Tel ++49(0)89 / 540 162 - 0www.horizont-it.com

More Related