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

Der einfache Weg zur fehlerfreien JCL

  • Upload
    geona

  • View
    37

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Der einfache Weg zur fehlerfreien JCL

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

Page 2: Der einfache Weg zur fehlerfreien JCL

HORIZONT 2 SmartJCL®

Inhalt

JCL Vergleich

JCL Massenänderungen

JCL Qualitätssicherung

Page 3: Der einfache Weg zur fehlerfreien JCL

HORIZONT 3 SmartJCL®

JCL Qualitätssicherung

Prüfen von JCL-Standards

Page 4: Der einfache Weg zur fehlerfreien JCL

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

Page 5: Der einfache Weg zur fehlerfreien JCL

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.

Page 6: Der einfache Weg zur fehlerfreien JCL

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.

Page 7: Der einfache Weg zur fehlerfreien JCL

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.

Page 8: Der einfache Weg zur fehlerfreien JCL

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

Page 9: Der einfache Weg zur fehlerfreien JCL

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

Page 10: Der einfache Weg zur fehlerfreien JCL

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

Page 11: Der einfache Weg zur fehlerfreien JCL

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

Page 12: Der einfache Weg zur fehlerfreien JCL

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

Page 13: Der einfache Weg zur fehlerfreien JCL

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

Page 14: Der einfache Weg zur fehlerfreien JCL

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

Page 15: Der einfache Weg zur fehlerfreien JCL

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

Page 16: Der einfache Weg zur fehlerfreien JCL

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.

Page 17: Der einfache Weg zur fehlerfreien JCL

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

Page 18: Der einfache Weg zur fehlerfreien JCL

HORIZONT 18 SmartJCL®

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

Page 19: Der einfache Weg zur fehlerfreien JCL

HORIZONT 19 SmartJCL®

Verwaltung der Prüfkriterien

Erlaubte Werte können direkt

definiert werden …

… oder in externen Dateien verwaltet werden

Page 20: Der einfache Weg zur fehlerfreien JCL

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

Page 21: Der einfache Weg zur fehlerfreien JCL

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.

Page 22: Der einfache Weg zur fehlerfreien JCL

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

Page 23: Der einfache Weg zur fehlerfreien JCL

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

Page 24: Der einfache Weg zur fehlerfreien JCL

HORIZONT 24 SmartJCL®

JCL Massenänderungen

Page 25: Der einfache Weg zur fehlerfreien JCL

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

Page 26: Der einfache Weg zur fehlerfreien JCL

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.

Page 27: Der einfache Weg zur fehlerfreien JCL

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

Page 28: Der einfache Weg zur fehlerfreien JCL

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.

Page 29: Der einfache Weg zur fehlerfreien JCL

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

Page 30: Der einfache Weg zur fehlerfreien JCL

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 %

Page 31: Der einfache Weg zur fehlerfreien JCL

HORIZONT 31 SmartJCL®

JCL Vergleich

Page 32: Der einfache Weg zur fehlerfreien JCL

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.

Page 33: Der einfache Weg zur fehlerfreien JCL

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.

Page 34: Der einfache Weg zur fehlerfreien JCL

HORIZONT 34 SmartJCL®

Neutralisierungs-Tabelle

‘%‘ entspricht 1 Zeichen und wird mit ‘$‘

überschrieben

In der Neutralisierungstabelle

können zu neutralisierende Strings

angegeben werden

Page 35: Der einfache Weg zur fehlerfreien JCL

HORIZONT 35 SmartJCL®

Ergebnis des VergleichsIdentische Zeilen

werden ausgeblendet.

Unterschiedliche Zeilen werden

angezeigt.

Page 36: Der einfache Weg zur fehlerfreien JCL

HORIZONT 36 SmartJCL®

Ergebnis des Vergleichs

Anzeigen aller Zeilen mit den

jeweiligen Unterschieden

… und ohne Unterschiede

Page 37: Der einfache Weg zur fehlerfreien JCL

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.

Page 38: Der einfache Weg zur fehlerfreien JCL

HORIZONT 38 SmartJCL®

Haben Sie Fragen?

[email protected]

Page 39: Der einfache Weg zur fehlerfreien JCL

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