115
HORIZONT 1 SmartJCL ® Der einfache Weg zur fehlerfreien JCL Versionen im Überblick 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

Der einfache Weg zur fehlerfreien JCL

  • Upload
    karena

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Smart/JCL. Der einfache Weg zur fehlerfreien JCL. Versionen im Überblick. 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. Versionen im Überblick. Aktuelles Release. V3R1. V3R0. V2R4. V2R3. V2R2. V2R1. - PowerPoint PPT Presentation

Citation preview

Page 1: Der einfache Weg zur fehlerfreien JCL

HORIZONT 1 SmartJCL®

Der einfache Weg zur fehlerfreien JCL

Versionen im Überblick

HORIZONTSoftware für Rechenzentren

Garmischer Str. 8 D- 80339 MünchenTel ++49(0)89 / 540 162 - 0www.horizont-it.com

Smart/JCL

Page 2: Der einfache Weg zur fehlerfreien JCL

HORIZONT 2 SmartJCL®

Versionen im Überblick

V3R0

V2R1

V2R2

V2R3

V2R4

Aktuelles Release

V3R1

Page 3: Der einfache Weg zur fehlerfreien JCL

HORIZONT 3 SmartJCL®

SmartJCL 3.1

• Eine Reihe neuer Parameter und Optionen für JCL Check und Reformat

- Lesen der DB2 Subsysteme aus System-Kontrollblöcken

- Reformatieren ausgewählter oder geänderter JCL Statements

- Steuern, wie ISPF Member Statistik im Ausgabefile JCKJCLO gesetzt wird

- Check TSO Programme

SmartJCL V3R1 ist im September 2011 verfügbar. SmartJCL V3R1 ist im September 2011 verfügbar. Es enthält folgende neue Funktionen:Es enthält folgende neue Funktionen:

Page 4: Der einfache Weg zur fehlerfreien JCL

HORIZONT 4 SmartJCL®

SmartJCL 3.1

• Unterstützung z/OS 1.12 SORT Erweiterungen

- JOINKEYS Application

- Date Field Conversions

- MERGE Operator

- MERGEIN Alternate ddnames

- ...

• Unterstützung TWS 8.6

Page 5: Der einfache Weg zur fehlerfreien JCL

HORIZONT 5 SmartJCL®

SmartJCL 3.1

• ISPF Dialog unterscheidet User und Administratoren

- Admins werden während der Installation oder in JCKXPARM definiert

- Admins haben zusätzliche Konfigurationsoption

- Benutzer können SmartJCL nur „benutzen“

Page 6: Der einfache Weg zur fehlerfreien JCL

HORIZONT 6 SmartJCL®

SmartJCL 3.1

ISPF Dialog unterstützt AdministratorenISPF Dialog unterstützt Administratoren::

Geben Sie Admin User hier an ...

Page 7: Der einfache Weg zur fehlerfreien JCL

HORIZONT 7 SmartJCL®

SmartJCL 3.1

ISPF Dialog unterstützt Administratoren:ISPF Dialog unterstützt Administratoren:

Verfügbar nur für Admin-User.

Verfügbar für jeden User.

Page 8: Der einfache Weg zur fehlerfreien JCL

HORIZONT 8 SmartJCL®

SmartJCL 3.1

ISPF dialog supports administratorISPF dialog supports administrator::

Die Adminstrator-Optionen.

Page 9: Der einfache Weg zur fehlerfreien JCL

HORIZONT 9 SmartJCL®

SmartJCL 3.1

ISPF dialog supports administratorISPF dialog supports administrator::

Verfügbar für jeden User.

Page 10: Der einfache Weg zur fehlerfreien JCL

HORIZONT 10 SmartJCL®

SmartJCL 3.1

•Neue SRI Funktion "SriCatEntry" für Katalog-Zugriff und -Informationen

- Liefert

• Entry name (= DSN)

• Catalog name

• Entry type

• Volser

- Einfacher als LISTCAT und Scannen des Outputs

Page 11: Der einfache Weg zur fehlerfreien JCL

HORIZONT 11 SmartJCL®

SmartJCL 3.1

•Erweitertes JCL Change Facility (SJC)

- Neue Kommandos DELSTMT, DELSTEP, INSERTSTMT, INSERTSTMT BEFORE FIRST (z.B. vor erstem EXEC)

- DO/ENDDO Block zum Zusammenfassen mehrerer Aktionen für eine Bedingung

- RANGE (Spalte 1-72)

Page 12: Der einfache Weg zur fehlerfreien JCL

HORIZONT 12 SmartJCL®

SmartJCL 3.1

Erweitertes JCL Change Facility: INSERTSTMTErweitertes JCL Change Facility: INSERTSTMT

Einfügen beim ersten/letzten Statement davor/danach (FIRST, LAST, BEFORE, AFTER) ...

... die einzufügenden Statements ...

... wenn diese Kriterien erfüllt sind.

Page 13: Der einfache Weg zur fehlerfreien JCL

HORIZONT 13 SmartJCL®

SmartJCL 3.1

Erweitertes JCL Change Facility:Erweitertes JCL Change Facility:

Füge dieses JCLLIB Statement nach dem JOB Statement ein.

Page 14: Der einfache Weg zur fehlerfreien JCL

HORIZONT 14 SmartJCL®

SmartJCL 3.1

Erweitertes JCL Change Facility:Erweitertes JCL Change Facility:

Mehrere PARMn und VALUEn Paare zur Selektion ...

DELSTMT und DELSTEP kann mit Parameter-selektion kombiniert werden

Page 15: Der einfache Weg zur fehlerfreien JCL

HORIZONT 15 SmartJCL®

SmartJCL 3.1

Erweitertes JCL Change Facility: PARMn, VALUEn Erweitertes JCL Change Facility: PARMn, VALUEn kombiniert mit DO/ENDDO.kombiniert mit DO/ENDDO.

Mehrere PARMn und VALUEn Paare zur Selektion ...

... und PARM und VALUE für die Changes.

DO/ENDDO zum Gruppieren mehrerer Changes für eine Selektion.

Page 16: Der einfache Weg zur fehlerfreien JCL

HORIZONT 16 SmartJCL®

SmartJCL 3.1

Diese JCL wird modifiziert:Diese JCL wird modifiziert:

Enthält den String III.JJJ für den Change als auch den String AAAAA, der den Change ausschließt.

Page 17: Der einfache Weg zur fehlerfreien JCL

HORIZONT 17 SmartJCL®

SmartJCL 3.1

Resultierende JCL:Resultierende JCL:

Nur die geänderten JCL Statements werden formatiert:SJCREF=CHANGED

Page 18: Der einfache Weg zur fehlerfreien JCL

HORIZONT 18 SmartJCL®

SmartJCL 3.1

Erweitertes JCL Change Facility: RANGEErweitertes JCL Change Facility: RANGE

RANGE kann mit LNCHANGE,CHANGE INSTREAM undCHANGE COMMENTverwendet werden

Page 19: Der einfache Weg zur fehlerfreien JCL

HORIZONT 19 SmartJCL®

Fragen zu [email protected]

Page 20: Der einfache Weg zur fehlerfreien JCL

HORIZONT 20 SmartJCL®

SmartJCL 3.0

• ISPF Dialog zum Definieren von Regeln zur Prüfung kundenspezifischer Standards

- Jedes RZ hat individuelle Regeln, z.B. „Im Sort-Step muss UNIT=SYSDA sein“

- Bislang haben solche Checks die Verwendung des SmartJCL REXX Interfaces erfordert

- Der Regel-Dialog erlaubt auch ohne Programmierkenntenisse, komplexe Regeln zu definieren

- Sehen Sie den Dialog auf folgenden Seiten

SmartJCL V3R0 ist Ende August 2009 verfügbar. SmartJCL V3R0 ist Ende August 2009 verfügbar. Wesentliche Neuerungen werden u.A. sein:Wesentliche Neuerungen werden u.A. sein:

Page 21: Der einfache Weg zur fehlerfreien JCL

HORIZONT 21 SmartJCL®

Standard Check - Einstieg

Das Einstiegspanel zum:- Bearbeiten von Regeln- Generieren des SRI-Codes

Page 22: Der einfache Weg zur fehlerfreien JCL

HORIZONT 22 SmartJCL®

Standard Check: OptionenMit welchen Regeln

wollen Sie arbeiten ...

... und wo soll der generierte Code ge-speichert werden.

Page 23: Der einfache Weg zur fehlerfreien JCL

HORIZONT 23 SmartJCL®

Standard Check - Einstieg

Bearbeiten von Regeln beginnen ...

Page 24: Der einfache Weg zur fehlerfreien JCL

HORIZONT 24 SmartJCL®

Regelliste

Eine neue Regel anlegen oder eine vorhandene

zum Bearbeiten wählen ...

Page 25: Der einfache Weg zur fehlerfreien JCL

HORIZONT 25 SmartJCL®

Regel bearbeiten

Wenn Pos. 6 des Job-namens R oder E ist und

DISP ungleich SHR ...

… oder Pos. 3 des Jobnamens 3 ist und DISP

ungleich SHR ...

… dann gib eine Meldung aus.

Page 26: Der einfache Weg zur fehlerfreien JCL

HORIZONT 26 SmartJCL®

Selektionskriterien

Alle möglichen Selek-tionskriterien können von einer Liste aus-gewählt werden…

Page 27: Der einfache Weg zur fehlerfreien JCL

HORIZONT 27 SmartJCL®

Selektionskriterien

... die von Standard Check bereitgestellte

Selektionskriterien

Weiter unten in der Liste...

Page 28: Der einfache Weg zur fehlerfreien JCL

HORIZONT 28 SmartJCL®

Selektionskriterien

Die JOB-Anweisung ist ausgewählt …

… und alle möglichen Parameter und Sub-

parameter dazu werden aufgelistet ...

Page 29: Der einfache Weg zur fehlerfreien JCL

HORIZONT 29 SmartJCL®

Vergleichsoperatoren

... wie auch alle Vergleichsoperatoren

zum Jobnamen

Page 30: Der einfache Weg zur fehlerfreien JCL

HORIZONT 30 SmartJCL®

Angabe der Vergleichswerte

Hier geben Sie eine Liste von Werten ein.

Werte für Substr

Page 31: Der einfache Weg zur fehlerfreien JCL

HORIZONT 31 SmartJCL®

Aktion für eine Regel

Was soll passieren, wenn die Bedin-

gungen zutreffen?

Page 32: Der einfache Weg zur fehlerfreien JCL

HORIZONT 32 SmartJCL®

Aktion für eine Regel

Es kann eine Meldung oder eine REXX

aufgerufen werden.

Page 33: Der einfache Weg zur fehlerfreien JCL

HORIZONT 33 SmartJCL®

Aktion für eine Regel

Wo soll die Meldung erscheinen?

Page 34: Der einfache Weg zur fehlerfreien JCL

HORIZONT 34 SmartJCL®

Aktion für eine Regel

Die Meldung ist in einem Message-

Member zu definieren.

Page 35: Der einfache Weg zur fehlerfreien JCL

HORIZONT 35 SmartJCL®

XML für eine Regel

Die im Dialog erstellten Regeln werden als XML gespeichert.

Page 36: Der einfache Weg zur fehlerfreien JCL

HORIZONT 36 SmartJCL®

SRI Code generieren

Option 2 erstellt aus der XML SmartJCL

REXX Interface Code.

Page 37: Der einfache Weg zur fehlerfreien JCL

HORIZONT 37 SmartJCL®

SRI Code generieren

Page 38: Der einfache Weg zur fehlerfreien JCL

HORIZONT 38 SmartJCL®

SRI Code generieren

Der erstellte REXX Code ist mit dem

Parameter SRI-PRG beim Check bzw.

Reformat anzugeben.

Page 39: Der einfache Weg zur fehlerfreien JCL

HORIZONT 39 SmartJCL®

SmartJCL 3.0

• Installation - Eigener PARM dataset

- Trennung von Produktbibliotheken und Parameterbibliothek (Parmeter in CLIST/SKELS verursachen Probleme).

- Einfachere Verteilung (und Wartung) von SmartJCL auf mehrere z/OS Systeme.

• Scheduler Interface für TWS

- TWS 8.5 Unterstützung

Neue Funktionen und Erweiterungen:Neue Funktionen und Erweiterungen:

Page 40: Der einfache Weg zur fehlerfreien JCL

HORIZONT 40 SmartJCL®

SmartJCL 3.0

• JCL Checker

- z/OS 1.11 Unterstützung

• DD EATTR Parameter und SORT Erweiterungen

- Prüfung der IEHPROGM Steueranweisungen und deren Berücksichtigung für Katalogchecks

- Warnung für nicht RACF geschützte Datasets

- Warnung wenn für den ersten Qualifier kein Alias existiert

• Um Datasets im Masterkatalog zu vermeiden

- Unterdrücken von Meldungen: Platzhalter für Meldungsnummer möglich

• Um Meldungen für bestimmte Member zu unterdrücken

• Beispiel für PARM(JCKKMSX): JCK* MEMBER=member-name

Neue Funktionen und Erweiterungen (2):Neue Funktionen und Erweiterungen (2):

Page 41: Der einfache Weg zur fehlerfreien JCL

HORIZONT 41 SmartJCL®

SmartJCL 3.0

• JCL Reformat

- Reformat kann direkt auf PO-Dateien schreiben

• Bisher wurde eine PS-Datei mit IEBUPDTE Format verwendet.

• ISPF Memberstatistik wird aktualisiert.

- Reformat der COMMAND Anweisung

Neue Funktionen und Erweiterungen (3):Neue Funktionen und Erweiterungen (3):

Page 42: Der einfache Weg zur fehlerfreien JCL

HORIZONT 42 SmartJCL®

SmartJCL 3.0

• SmartJCL REXX Interface (SRI)

- Neue Funktion %SRIInclude um Kopien des gleichen Codes zu vermeiden

- Neue Funktion SRIChangeRef zum Anpassen der Referenzen auf geänderte Stepnamen

- Gleiche Zeilennummern in SRI Meldungen wie im Trace.

Neue Funktionen und Erweiterungen (4):Neue Funktionen und Erweiterungen (4):

Page 43: Der einfache Weg zur fehlerfreien JCL

HORIZONT 43 SmartJCL®

Fragen zu [email protected]

Page 44: Der einfache Weg zur fehlerfreien JCL

HORIZONT 44 SmartJCL®

SmartJCLDer einfache Weg zur fehlerfreien JCL

Garmischer Str. 8 D- 80339 MünchenTel ++49(0)89 / 540 162 – 0www.horizont-it.com

Vielen Dank für Ihre Aufmerksamkeit!

HORIZONTSoftware für Rechenzentren

®

Page 45: Der einfache Weg zur fehlerfreien JCL

HORIZONT 45 SmartJCL®

SmartJCL V2R4

• Support für z/OS 1.9- OS Version/Release kann mit Parameter OSVER= gesetzt werden

- Prüfung neuer SORT Parameter (z/OS 1.4 bis z/OS 1.9)

• DB2 Subsystem Check- Prüfung, ob angegebene DB2 Subsysteme definiert und aktiv sind

- Neue Parameter:DB2-SUBSYS-CHECK DB2SC=Y/NDB2-GROUP=db2_group_nameDB2-SUBSYS=subsys_name

• Default Loadlib für "exist program" check- Neuer Parameter:

DEFAULT-LOADLIB DLL=P390A.JCK.DEV.LOAD

SmartJCL V2R4 wird in Q3 2008 verfügbar sein. SmartJCL V2R4 wird in Q3 2008 verfügbar sein. Es enthält folgende wesentliche Neuerungen:Es enthält folgende wesentliche Neuerungen:

Page 46: Der einfache Weg zur fehlerfreien JCL

HORIZONT 46 SmartJCL®

SmartJCL V2R4• Lesen der PROCLIBS direkt von JES

- Die PROCLIB Definitionen können automatisch von JES gelesen oder wie bisher manuell angegeben werden

- Nur für JES2 und JES3 Global, nicht für JES3 Local

- Neuer Parameter:READ-SYSTEM-PROCLIB RSP=Y/N

• Bessere Anpassung an Kundenumgebung

- Festlegen der Priorität, ob Parameter oder DD-Anweisungen für weitere Datasets (JCKMSGI, JCKMSXI, PWDIN) zieht

- Neuer Parameter:JCK-FILE JCK-FILE=PARM PARM OR DD

- Unterstützt verkettete Parametermember und mehr Aufrufparameter für Edit-Makros. Reduziert Bedarf an weiteren OPZXPARM Membern und Edit-Makros.

Page 47: Der einfache Weg zur fehlerfreien JCL

HORIZONT 47 SmartJCL®

SmartJCL V2R4

• Performanceverbesserungen

- JCK Makro reagiert schneller

- Optimierter Katalog-Check unter JES3 -> weniger CPU Zeit

• Verbesserter ISPF Dialog

- Siehe nächste Folien

Page 48: Der einfache Weg zur fehlerfreien JCL

HORIZONT 48 SmartJCL®

Verbesserter ISPF Dialog

Das Hauptpanel ist der Einstieg für alle

weiteren Dialoge ...

...und informiert über verfügbare Edit-

Makros.

Page 49: Der einfache Weg zur fehlerfreien JCL

HORIZONT 49 SmartJCL®

Joblibs und Auswahl der Member

Geben Sie Ihre Joblibs an und selektieren

Member ...

Page 50: Der einfache Weg zur fehlerfreien JCL

HORIZONT 50 SmartJCL®

Auswahl Member

Member werden mit ”S” ausgewählt oder durch

Angabe eine Reihenfolge mit Nummern, z.B.

“1”, “2”, “3”

Mit JCK startet man den Check…

Page 51: Der einfache Weg zur fehlerfreien JCL

HORIZONT 51 SmartJCL®

Prüfung Member

…die selektierten Member werden nacheinander

geprüft. Fehlerhafte Jobs werden im Editor angezeigt…

Page 52: Der einfache Weg zur fehlerfreien JCL

HORIZONT 52 SmartJCL®

Anzeige der fehlerhaften Jobs

...am Ende zeigt die Selektionsliste die

resultierenden Return-Codes.

Page 53: Der einfache Weg zur fehlerfreien JCL

HORIZONT 53 SmartJCL®

Foreground

Eine weitere Option ist die Prüfung der

selektierten Member im Vordergrund...

Page 54: Der einfache Weg zur fehlerfreien JCL

HORIZONT 54 SmartJCL®

Foreground - Ergebniss

... die Zusammenfassung

wird nach dem Check angezeigt…

... auf die Meldungen, Details und Sysprint

kann man direkt zugreifen

Page 55: Der einfache Weg zur fehlerfreien JCL

HORIZONT 55 SmartJCL®

Batch

BATch prüft die ausgewählten Member

im Batch…

Page 56: Der einfache Weg zur fehlerfreien JCL

HORIZONT 56 SmartJCL®

Batch – Generierter Job

... schicken Sie den vorbereiteten Job ab.

Page 57: Der einfache Weg zur fehlerfreien JCL

HORIZONT 57 SmartJCL®

Kleiner Ausblick auf V3R0 gefällig?

Page 58: Der einfache Weg zur fehlerfreien JCL

HORIZONT 58 SmartJCL®

SmartJCL V2R3

• Einfachere Installation

- SVC ist nicht mehr nötig für “third party RACF check”

- “Firewall friendly” Remote Check (kein “call back”)

• TWS-Variablenersetzung

- Verwendung eines temporären TWS Controllers, keine Beeinflussung des Produktions-TWS-Controllers

- TWS 8.3 Unterstützung

• REXX Interface:

- Zugriff auf überschreibende Parameter und Utility Statements

• Neue Check Parameter

SmartJCL V2R3 ist seit 20. Juni 2007 verfügbar. SmartJCL V2R3 ist seit 20. Juni 2007 verfügbar. Es enthäIt folgende wesentlichen Änderungen:Es enthäIt folgende wesentlichen Änderungen:

Page 59: Der einfache Weg zur fehlerfreien JCL

HORIZONT 59 SmartJCL®

SmartJCL – Einfachere Installation

• SVC Installation erfordert System-Programmierung

- Assembler Coding

- SVC muß geladen werden

• Der SVC wurde von einigen Kunden nicht akzeptiert

SmartJCL 2.2 benutzt einen SVC für Authorisierung. SmartJCL 2.2 benutzt einen SVC für Authorisierung.

Nachteile waren:Nachteile waren:

Page 60: Der einfache Weg zur fehlerfreien JCL

HORIZONT 60 SmartJCL®

SmartJCL – Einfachere Installation

• Parmlib Member IKJTSOnn ist zu modifizieren

AUTHTSF NAMES( /* PROGRAMS TO BE AUTHORIZED */ + /* WHEN CALLED THROUGH THE */ + /* TSO SERVICE FACILITY. */ + CSFDAUTH /* ICSF */ + IEBCOPY /* */ + ICQASLI0 /* */ + IKJEFF76 /* */ + EQQMINOR /* OPC DIALOG INTERFACE */ + JCKASA1 /* SMARTJCL ACCESS CHECK */ + JCKASU /* SMARTJCL SWITCH USER */)

• Parmlib Member IKJTSOnn ist zu aktivieren

SET IKJTSO=nn

V2R3 verwendet das TSO Service Facility.V2R3 verwendet das TSO Service Facility.

Page 61: Der einfache Weg zur fehlerfreien JCL

HORIZONT 61 SmartJCL®

NEWOLD

Neue IP-Kommunikation

JCL imISPF Editor

Po

rt 1

ROTJSHD TP Program

Port 2

JCL imISPF Editor

Po

rt 1

ROTJSHD TP Program

Po

rt 1Server Program verwendet die bestehende Verbindung, um Daten zum Client zu schicken. Dadurch werden Firewall-Probleme vermieden.

ROTJSHD

Page 62: Der einfache Weg zur fehlerfreien JCL

HORIZONT 62 SmartJCL®

SmartJCL – Simulations-TWS

• Der Produktions-Controller wird nicht beeinflusst

- Keine Performance-Einbußen

- Keine Locks auf dem JS-File

• Hohe Automation

- Nötige Dateien werden vom Produktions-Controller kopiert

- Controller wird von SmartJCL Jobs gestartet und gestoppt

• TWS 8.3 Unterstützung

Ein eigener TWS Controller wird für die Ein eigener TWS Controller wird für die Variablenersetzung verwendet. Vorteile sind:Variablenersetzung verwendet. Vorteile sind:

Page 63: Der einfache Weg zur fehlerfreien JCL

HORIZONT 65 SmartJCL®

SmartJCL – REXX-Interface

• Überschreibende JCL-Anweisungen und Parameter

- Ermöglichen den Zugriff auf JCL-Anweisungen, die für einen Prozedur-Aufruf verwendet werden (vor der Ersetzung des Prozedur-Aufrufes).

• Utilities

- Ermöglichen den Zugriff auf Utility Anweisungen und Parameter

• Reformat nur für modifizierte Anweisungen

- Vermeidet ungewollte Änderungen an JCL-Anweisungen (Kommentare), die nicht modifiziert wurden.

Neue REXX Interface-Funktionen für ....Neue REXX Interface-Funktionen für ....

Page 64: Der einfache Weg zur fehlerfreien JCL

HORIZONT 66 SmartJCL®

SmartJCL – Neue Parameter

• JCL Check

- ACF2 //*LOGONID

- Erforderliche Parameter (JOB-ACCOUNTING und JOB-PGMRS-NAME)

- Kundenspezifische Defaults (IDCAMS linker und rechter Rand)

• Ausgabe

- Zeilennumber für SRI Meldungen (SRI-MSGLNNUM)

- Kundenspezifische Start/Stop Meldungen (STARTM= und STOPM=)

- Nur Jobs mit Meldungen ausgeben (CORRECT_JOB_OUTPUT=)

- Unterdrücken von Meldungen für Member (MEMBER=)

• Access Check- Kundenspezifisches Profil für Zugriffscheck (RACF-AUDIT-ENTITY)

- Defaultwerte für Zugriffsrechte für DISP= Werte

Neue Parameter für ....Neue Parameter für ....

Page 65: Der einfache Weg zur fehlerfreien JCL

HORIZONT 67 SmartJCL®

Do you have any questions about SmartJCL 2.3?

[email protected]

Production

SmartJCL

Scheduler

Scheduler Interface

Plan Variable

REXX InterfaceReformat

JCL

Page 66: Der einfache Weg zur fehlerfreien JCL

HORIZONT 68 SmartJCL®

SmartJCL V2R2

• Performance-Verbesserung JCK Edit-Makro

• RACF Check mit beliebigen Usern unter TSO

• Erweiterte TWS-Simulation

• OSJ Edit-Makro: Dialog konfigurierbar

• Lesen Konfigurationsdaten vom System

• Migrieren bisheriger Check-Parameter

SmartJCL V2R2 ist jetzt verfügbar SmartJCL V2R2 ist jetzt verfügbar (Juli 2006)(Juli 2006) . . Es enthält eine Reihe an Detail-Verbesserungen zur Es enthält eine Reihe an Detail-Verbesserungen zur einfacheren Installation und Nutzung:einfacheren Installation und Nutzung:

Page 67: Der einfache Weg zur fehlerfreien JCL

HORIZONT 69 SmartJCL®

SmartJCL - Performance

• Bisher war SmartJCL auf Massenchecks im Batch ausgerichtet. Daher gab es Situationen, in denen die Online-Variante im Edit-Makro-Modus nicht performant genug war.

• Die neuen Edit-Makros benötigen nun lediglich 20-60% der ursprünglichen Zeit.

• Dynamische statt statische Allokierung

- Zeitaufwendige Mehrfach-Allokierungen werden vermieden.

- Neue Parameter in JCKKPARM ersetzen DD-Statements

• Proclibs werden nur bei Bedarf allokiert

Die Performance-Verbesserungen betreffen die Edit-Die Performance-Verbesserungen betreffen die Edit-Makros JCK bzw. OSJ JCK. Makros JCK bzw. OSJ JCK.

Page 68: Der einfache Weg zur fehlerfreien JCL

HORIZONT 70 SmartJCL®

SmartJCL - Performance

JCL ohne Prozedur Aufruf  

Neues Macro JCK

2,02 s 8,20 s

Mit Prozedur – Prozedur ist in der ersten PROCLIB  

Neues Macro JCK

2,18 s 8,20 s

Mit Prozedur – Prozedur ist in der letzten PROCLIB  

Neues Macro JCK

4,93 s 8,19 s

Page 69: Der einfache Weg zur fehlerfreien JCL

HORIZONT 71 SmartJCL®

SmartJCL - Check mit beliebigen Usern

• V2R1

- Im Batch "RACF Check" mit beliebiger UserId möglich

- Unter TSO "RACF Check" nur mit eigener UserId möglich

• V2R2

- Auch unter TSO ist jetzt die Prüfung mit beliebigen Usern möglich.

- Security Exit wird von SmartJCL bereitgestellt, um die nötige APF-Authorisierung durch SVC zu ermöglichen

Der "RACF Access Check" wurde mit SmartJCL Der "RACF Access Check" wurde mit SmartJCL V2R1 eingeführt.V2R1 eingeführt.

Page 70: Der einfache Weg zur fehlerfreien JCL

HORIZONT 72 SmartJCL®

SmartJCL - Erweiterte TWS Simulation

• Bisher zwei Möglichkeiten der TWS-Variablenersetzung

- ACTION=SIMULATE, PIF Request JCLPREPA

• Ist für größere JCL-Mengen (> 5000) zu langsam

• Beeinträchtigt Controller, sperrt JS-Datei

- ACTION=SUBSTITUTE, HORIZONT-eigene Ersetzung

• Ist sehr schnell, benötigt keine TWS-Ressourcen, nur Read auf AD

• Kann nicht alle Variablen ersetzen, z.B. SETVAR

Fazit: Entweder vollständig (und langsam), oder schnell (und unvollständig)!

Betrifft die Ersetzung der TWS-Variablen als Betrifft die Ersetzung der TWS-Variablen als Vorbereitung der JCL für den Check im Batch.Vorbereitung der JCL für den Check im Batch.

Page 71: Der einfache Weg zur fehlerfreien JCL

HORIZONT 73 SmartJCL®

SmartJCL - Erweiterte TWS Simulation

• Erst HORIZONT-eigene Variablenersetzung

• Können alle Variablen ersetzt werden?

- Ja: Ok, JCL ist fertig

- Nein: Starte zweite Ersetzung mit PIF Request JCLPREPA

• Lösung ist abhängig von Kundenumgebung

- Ungünstiger Fall: zweite Ersetzung wird (fast) immer aufgerufen.

Lösung mit V2R2: Kombination beider VerfahrenLösung mit V2R2: Kombination beider Verfahren

Page 72: Der einfache Weg zur fehlerfreien JCL

HORIZONT 74 SmartJCL®

SmartJCL - Erweiterte TWS Simulation

• ACTION=PIFSIM

- Bisher ACTION=SIMULATE

• ACTION=HORIZONTSIM

- Bisher ACTION=SUBSTITUTE

• ACTION=SIM

- Neu für kombinierte Variablenersetzung

- Nur im Batch verfügbar

Neue Parameter (alte Parameter gelten weiterhin):Neue Parameter (alte Parameter gelten weiterhin):

Page 73: Der einfache Weg zur fehlerfreien JCL

HORIZONT 75 SmartJCL®

SmartJCL - Erweiterte TWS Simulation

Beispiel: Beispiel: &OADID wird mit &OADID wird mit HORIZONTSIM nicht ersetzt...HORIZONTSIM nicht ersetzt...

... jedoch im zweiten Schritt ... jedoch im zweiten Schritt durch JCLPREPAdurch JCLPREPA

Page 74: Der einfache Weg zur fehlerfreien JCL

HORIZONT 76 SmartJCL®

SmartJCL - OSJ Edit-Makro

Ein Beispiel:Der Anwender will die JCL im Editor prüfen (und nicht die JCL aus dem JS File)

In diesem Fall muss der Anwender durch mehrere Panels, die gleichen Eingaben müssen immer wiederholt werden.

Page 75: Der einfache Weg zur fehlerfreien JCL

HORIZONT 77 SmartJCL®

SmartJCL - OSJ Edit-Makro

SP

... geben Sie "SP" ein, um weitere Parameter ändern zu können...

Page 76: Der einfache Weg zur fehlerfreien JCL

HORIZONT 78 SmartJCL®

SmartJCL - OSJ Edit-Makro

... und ändern Sie den Parameter!

Page 77: Der einfache Weg zur fehlerfreien JCL

HORIZONT 79 SmartJCL®

SmartJCL - OSJ Edit-Makro

• Werte können vorgegeben werden (statt Eingabe über Dialog)

• Default-Werte und -Aktionen je Panel

• Anpassung an kundenspezifische Bedürfnisse

Mit SmartJCL kann der Dialog über eine Mit SmartJCL kann der Dialog über eine Parameterdatei frei konfiguriert werden:Parameterdatei frei konfiguriert werden:

Page 78: Der einfache Weg zur fehlerfreien JCL

HORIZONT 80 SmartJCL®

SmartJCL - OSJ Edit-Makro

Neue Parameter Datei zur Steuerung des Dialogs

Page 79: Der einfache Weg zur fehlerfreien JCL

HORIZONT 81 SmartJCL®

SmartJCL - Lesen Konfigurationsdaten

• Konfigurationsdaten mussten bisher von außen bereitgestellt werden.

- Fehleranfällig, Check nicht korrekt

- Arbeitsaufwand

• Smart JCL 2.2 ermittelt automatisch

- SMS Klassen (bisher Job JCKJSMS)

- Master Catalog

- MVS Version

Page 80: Der einfache Weg zur fehlerfreien JCL

HORIZONT 82 SmartJCL®

SmartJCL - Parameter

• Alte (übernommene) und neue Parameter werden markiert.

• Nur neue Parameter müssen angepasst werden.

Die Parameter im Member JCKKPARM werden bei Die Parameter im Member JCKKPARM werden bei einem Release-Wechsel übernommen.einem Release-Wechsel übernommen.

Page 81: Der einfache Weg zur fehlerfreien JCL

HORIZONT 83 SmartJCL®

SmartJCL - Parameter

Automatische Umstellung während der Installation

Page 82: Der einfache Weg zur fehlerfreien JCL

HORIZONT 84 SmartJCL®

Haben Sie noch Fragen zu SmartJCL 2.2?

[email protected]

Production

SmartJCL

Scheduler

Scheduler Interface

Plan Variable

REXX InterfaceReformat

JCL

Page 83: Der einfache Weg zur fehlerfreien JCL

HORIZONT 85 SmartJCL®

SmartJCL V2R1

• "Remote Check"

- JCL von einem System ausgehend auf anderen Systemen prüfen

• "Change Facility"

- Einfache Sprache zur Änderung von JCL Statements, z.B. für Massenänderungen

• ...und vieles mehr...

SmartJCL V2R1 ist seit März 2005 verfügbar und SmartJCL V2R1 ist seit März 2005 verfügbar und bietet u.A. folgende neue Funktionen:bietet u.A. folgende neue Funktionen:

Page 84: Der einfache Weg zur fehlerfreien JCL

HORIZONT 86 SmartJCL®

V2R1 – Remote Check

• Komfort

- Sie arbeiten im Editor auf dem Testsystem. Mit einem einzigen Befehl wird die JCL im Hintergrund auf das Produktionssystem übertragen und geprüft. Die Ergebnisse werden im Editor angezeigt.

• Betriebssicherheit

- Fehler können bereits in der Testumgebung erkannt und behoben werden.

• Einfach zu Installieren

- TCP/IP Standardarchitektur von HORIZONT (ROTJSHD + Prozedur)

Der "Remote Check" ermöglicht es Ihnen, JCL auf Der "Remote Check" ermöglicht es Ihnen, JCL auf einem anderen System zu prüfen. Vorteile:einem anderen System zu prüfen. Vorteile:

Page 85: Der einfache Weg zur fehlerfreien JCL

HORIZONT 87 SmartJCL®

V2R1 – Remote Check

• Edit Macro

- Die zu prüfende JCL wird in den Edtor geladen, mit einem einfachen Kommando wird der "Remote Check" gestartet.

• Auswahl der JCL im ISPF Dialog, Programmlauf im Batch

- Die zu überprüfenden Jobs können über den Jobnamen (von – bis) oder über eine Liste ausgewählt werden.

Der "Remote Check" kann auf unterschiedliche Art Der "Remote Check" kann auf unterschiedliche Art und Weise geprüft werden:und Weise geprüft werden:

Page 86: Der einfache Weg zur fehlerfreien JCL

HORIZONT 88 SmartJCL®

V2R1 – Remote Check Batch Mode

-------------------------- SmartJCL Remote JCL Check -------------- Command ===> Primary commands (top): OPT Browse TCP/IP parameters JOBLIST Edit joblist JOBLIB Edit joblibraries Select one of the following options and press ENTER. Member ===> ________ - ________ Specify one member (left) to check a single job, or specify two members (from member-to member) to check a range of members. Joblist ===> P390G.JCK.JOBLIST___________________________ If you do not specify any member, the Joblist will be used for selection. Joblibs ===> P390A.OPG.CNTL______________________________ Submit ===> E S submit job, E edit before submit Seclect a valid server name with S _ CPU1 _ CPU2 ******************************* Bottom of data ********************************

Remote Check ISPF Dialog

Page 87: Der einfache Weg zur fehlerfreien JCL

HORIZONT 89 SmartJCL®

EDIT P390A.OPG.CNTL(TESTJCK) - 01.00Command ===> JCK SRV=CPU1 Scroll ===> CSR****** ********************* Top of Data ************************000001 //P390KX JOB 'SMARTJCL',000002 // MSGCLASS=T, 000002 // NOTIFY=&SYSUID,000004 // REGION=6M 000005 //* 000006 //ADUNL EXEC PGM=OPUIAD4, 000007 // PARM='/PW=RFKEFZR',000008 // REGION=4M 000009 //SYSPRINT DD SYSOUT=* 000010 //OPUTEXT DD DSN=&&OPUTEXT, 000011 // DISP=(NEW,PASS), 000012 // SPACE=(TRK,(1,1)),000013 // DCB=(RECFM=FB,LRECL=80,BLKSIZE=80),000014 // UNIT=SYSDA 000015 //OPUDAT DD DSN=&&OPUDAT1,000016 // DISP=(NEW,PASS), 000017 // SPACE=(CYL,(1,1)), 000018 // DCB=(RECFM=FB,LRECL=406,BLKSIZE=16240)

V2R1 – Remote Check Foreground

Ziel CPU angeben

------- SmartJCL - Remote check -------

Enter password: _________

Das Passwort für das Zielsystem wird abgefragt

Page 88: Der einfache Weg zur fehlerfreien JCL

HORIZONT 90 SmartJCL®

EDIT P390A.OPG.CNTL(TESTJCK) - 01.00Command ===> JCK SRV=CPU1 Scroll ===> CSR****** ********************* Top of Data ************************=NOTE= MESSAGE SUMMARY AND COUNTS: E=00001, W=00000, I=00000=NOTE= LABEL MSG.NO. ERROR MESSAGE =NOTE= ------ -------- ------------------------------------------=NOTE= .HAAA JCK0440E PROGRAM OPUIAD4 NOT FOUND ON SEARCH PATH 000001 //P390KX JOB 'SMARTJCL',000002 // MSGCLASS=T, 000002 // NOTIFY=&SYSUID,000004 // REGION=6M 000005 //* 000006 //ADUNL EXEC PGM=OPUIAD4, 000007 // PARM='/PW=RFKEFZR',000008 // REGION=4M 000009 //SYSPRINT DD SYSOUT=* 000010 //OPUTEXT DD DSN=&&OPUTEXT, 000011 // DISP=(NEW,PASS), 000012 // SPACE=(TRK,(1,1)),000013 // DCB=(RECFM=FB,LRECL=80,BLKSIZE=80),000014 // UNIT=SYSDA

V2R1 – Remote Check

Die JCL wird auf dem Ziel-System geprüft, das Ergebnis wird direkt im Editor angezeigt

Page 89: Der einfache Weg zur fehlerfreien JCL

HORIZONT 91 SmartJCL®

PRODTEST

V2R1 – Remote Check Übersicht

//DD SYSPRINT

SmartJCL

ProceduresDSN2

DSN3Catalog-Check

TCP/IP

TCP/IP

JCL Member

JCL (ISPF Editor)

Page 90: Der einfache Weg zur fehlerfreien JCL

HORIZONT 92 SmartJCL®

V2R1 – Change Facility

• CHANGE PARM=DSN,VALUE=PROD*,NEWVAL=TEST*

• DELETE PARM=UNIT

• DELETE JOB=ABC%,PGM=IDCAMS,PARM=UNIT,VALUE=TAPE4

Zusätzlich zum REXX-Interface bietet SmartJCL eine Zusätzlich zum REXX-Interface bietet SmartJCL eine komfortable Änderungsfunktion. Die Eingabesyntax komfortable Änderungsfunktion. Die Eingabesyntax ist einfach aufgebaut, einige Beispiele:ist einfach aufgebaut, einige Beispiele:

Page 91: Der einfache Weg zur fehlerfreien JCL

HORIZONT 93 SmartJCL®

V2R1 – Sonstige Neuerungen

• "Catalog"-Verifizierung

- Es wird geprüft, ob eine im Catalog eingetragene Datei tatsächlich existiert

• ASA

- ASA-Zeichen werden optional ausgegeben (DD JCKDTLO).

• SmartJCL Meldungen können ersetzt werden

- Fehlernummer, Return Code und der Text der Fehlermeldung können ersetzt werden

Sonstige Neuerungen:Sonstige Neuerungen:

Page 92: Der einfache Weg zur fehlerfreien JCL

HORIZONT 94 SmartJCL®

V2R1 – Sonstige Neuerungen 2

• Proceduren

- Prozeduren werden nach der "EXEC PROC" Anweisung als "=NOTE=" Zeilen eingeblendet.

- Die "=NOTE=" Zeilen beinhalten JCL Überschreibungen ("overrides") und die ersetzten symbolischen Parameter.

• Feld Validierung

- Der Inhalt des "Account" Parameters kann gegen eine Liste geprüft werden.

- Der "SCHENV=" Parameter kann gegen eine Liste geprüft werden.

• Beschränkung der Fehler Meldungen

- Der Check wird abgebrochen, sobald eine bestimmte Anzahl von Fehlern überschritten wird.

Page 93: Der einfache Weg zur fehlerfreien JCL

HORIZONT 95 SmartJCL®

V2R1 – Sonstige Neuerungen 3

• Neue Überschriften und Fussnoten in JCKDTLO und JCKSUMO

- Die Überschrift beinhaltet die Programmversion sowie die Start- und Endezeiten.

- Die Fussnote enthält eine Fehlerstatistik.

• Format von JCKSUMO

- Das Format der Datei JCKSUMO ist nun identisch für JCKJCLI und JUPJInnn.

• Bestimmte Jobs nicht nach JCKDTLO schreiben

- Fehlerfreie Jobs werden nicht in JCKDTLO ausgegeben (optional).

Page 94: Der einfache Weg zur fehlerfreien JCL

HORIZONT 96 SmartJCL®

V2R1 – Sonstige Neuerungen 4

• Zugriffsberechtigungen überprüfen

- Der JCL-Check wird mit der in der Jobkarte angegebenen Userid durchgeführt.

- Ist keine Userid angegeben, dann wird die Userid des Anwenders verwendet, der den Check-Job gestartet bzw. das Edit Makro aufgerufen hat.

- Alternativ kann der gewünschte User als Parameter angegeben werden

Page 95: Der einfache Weg zur fehlerfreien JCL

HORIZONT 97 SmartJCL®

V2R1 – Sonstige Neuerungen 5

• RACF-Audit Profil

- Es gibt in SmartJCL einen Parameter, mit dem man angibt, ob RACF Verletzungen in den SYSLOG geschrieben werden (RA=Y|N).

- Der neue Parameter "RACF-AUDIT RA=N" kann über ein RACF Profil geschützt werden. Der Anwender muss Leseberechtigung für das Profil haben, damit RA=N akzeptiert wird..

Page 96: Der einfache Weg zur fehlerfreien JCL

HORIZONT 98 SmartJCL®

Haben Sie noch Fragen zu SmartJCL 2.1?

File Edit Confirm Menu Utilities Compilers Test Help --------------------------------------------------------------------------- EDIT P390H.SPFTEMP1.CNTL Columns 00001 00072 Command ===> JCK Scroll ===> CSR ****** ***************************** Top of Data ************************** =NOTE= LABEL MSG.NO. ERROR MESSAGE =NOTE= ------ -------- ------------------------------------------------------ =NOTE= .HAAA JUP0008E 00, ,00009,INVALID JCL STATEMENT: ' =NOTE= .HAAB JCK0002E 00, ,00000,INVALID STMT ' IN ROUTINE JCKJOB =NOTE= .HAAC JCK0316E 00, ,00000,DATA SET NOT FOUND IN CATALOG =NOTE= .HAAD JCK0316E 00, ,00000,DATA SET NOT FOUND IN CATALOG =NOTE= .HAAE JCK0270E 00, ,00000,INVALID VALUE CATL FOR THE NORMAL 000001 //P390HX JOB ,'HORIZONT',MSGCLASS=T, 000002 // NOTIFY=&SYSUID,REGION=6M =NOTE= -- NOTIFY=P390H,REGION=6M 000003 //* 000004 //****************************************************************** 000005 //* UNLOAD OPC-VSAM DSN=P390A.OPCESA.V2R0M0.AD 000006 //****************************************************************** 000007 //ADUNL EXEC PGM=OPUIAD5, .HAAB // PARM=('DEP(0),ER(0)/' =NOTE= JUP0008E 00, ,00009,INVALID JCL STATEMENT: ' =NOTE= JCK0002E 00, ,00000,INVALID STMT ' IN ROUTINE JCKJOB 000009 // 'OI=N PC=OS2 OD=N EX=Y PW=RNCECLI')

File Edit Confirm Menu Utilities Compilers Test Help ---------------------------------------------------------------------- EDIT P390A.HUP.PLI.DEV($C1) - 01.02 Columns 000 Command ===> Scroll = ****** ***************************** Top of Data ********************* =NOTE> SmartJCL JCL XREF LISTING =NOTE> --------------------------------------------------------------- 000003 //JCLCHECK JOB ,'HORIZONT/DIRNBERGER',MSGCLASS=T,CLASS=A, 000004 // NOTIFY=&SYSUID =NOTE> +++ JCK1234I JOB FOUND IN APPLICATION STTMONTH01 =NOTE> +++ JCK1234I PREDECESSOR: STTMONTH00 JCLCHK01 =NOTE> +++ JCK1234I PREDECESSOR: STTMONTH00 JCLCHK02 =NOTE> +++ JCK1234I SUCCESSOR: - =NOTE> +++ JCK1234I SPECRES: INITA =NOTE> +++ JCK1234I SPECRES: STT 000011 //* 000012 //PROCS JCLLIB ORDER=(P390A.ROSE.PLI.CNTL) 000013 //* 000014 //DEL EXEC PGM=IDCAMS 000015 //SYSPRINT DD * 000016 DEL P390A.STT.DATA.VALCURVE 000017 //*

-------------------------------- SmartJCL ------------------------------- Command ===> ________________________________________________________ Command: ENTER Start RES Reset parameters

Selection Jobname ===> ________ Operation Number ===> ___ Application ID ===> MYAPP*_______ Workstation ID ===> ____ From ===> 20010601 0600 Group ===> ________ To ===> 20010701 0559 Owner ===> ____________ YYYYMMDD HHMM Simulation Simulation Type ===> FULL___ OPC Subsystem ===> OP6C Use JCL from a private JCL Library for Simulation ===> N (Y/N) Output Datasets SmartJCL Output DSN ===> P390G.HCLCHECK.HCL__________________________ SmartJCL Sysprint ===> P390G.HCLCHECK.SYSPRINT_____________________ EQQMLOG ===> P390G.HCLCHECK.EQQMLOG______________________

[email protected]

Page 97: Der einfache Weg zur fehlerfreien JCL

HORIZONT 99 SmartJCL®

Neue Funktionen in V2R0

• REXX Interface

- Installationsspezifische Standards zu überprüfen

- Massenupdate

• Integration der Auto-Edit Funktion (Control-M)

• Proceduren überprüfen

• Prüfen, ob DB2/IMS Programme existieren

• Utilities (DD-Namen)

V2R0 ist verfügbar seit 1. April 2004V2R0 ist verfügbar seit 1. April 2004

Page 98: Der einfache Weg zur fehlerfreien JCL

HORIZONT 100 SmartJCL®

REXX Interface

• Zugriff auf jedes beliebige JCL Statement (Lesen, Ändern, Löschen, Einfügen)

• Standard Funktionen und Operatoren, z.B. zur String- Verarbeitung

• Spezielle Funktionen zur JCL-Bearbeitung, z.B. Qualifier ("USER.PROD.TYPE", LAST) = "TYPE“

• SET Funktionen zum Ändern, Löschen, Einfügen von Statements und Steps

• Ermöglicht JCL-Massen-Änderungen

REXX ist flexibel, allgemein bekannt und überall REXX ist flexibel, allgemein bekannt und überall verfügbar. Mit den SmartJCL Funktionen kann von verfügbar. Mit den SmartJCL Funktionen kann von REXX aus auf JCL-Statements zugegriffen werden.REXX aus auf JCL-Statements zugegriffen werden.

Page 99: Der einfache Weg zur fehlerfreien JCL

HORIZONT 101 SmartJCL®

REXX Interface

File Edit Confirm Menu Utilities Compilers Test Help ----------------------------------------------------------------- EDIT P390A.JCK.SCL(XMP1) 01.02 COMMAND ===> 000001 /* Scan the Joblib, and delete all DSNs from the joblib, 000002 which are not in the linklist */ 000003 000004 Stmt = GetStmt("FIRST") 000005 Type = GetType(Stmt) 000006 while Type ^= "EXEC" do 000007 if Type = "DD" & Linklist (GetValue (Stmt, "DSN")) then 000008 Stmt = DelStmt("NEXT") 000009 else 000010 Stmt = GetStmt("NEXT") 000011 Type = GetType(Stmt) 000012 end ****** ************************ Top of Data *********************

REXX mit SmartJCL „Funktion Package“

Page 100: Der einfache Weg zur fehlerfreien JCL

HORIZONT 102 SmartJCL®

REXX Interface

Member1 REXX //DD SYSPRINT

Änderung…

Verifizierung

Member2 REXX

MemberX etc.

Page 101: Der einfache Weg zur fehlerfreien JCL

HORIZONT 103 SmartJCL®

File Edit Confirm Menu Utilities Compilers Test Help ------------------------------------------------------------------EDIT P390A.HUP.PLI.DEV($C1) - 01.02 COMMAND ===> ****** ********************* Top of Data *************************000001 //E5MS130S JOB (ACCOUNT),'HORIZONT',CLASS=3,MSGCLASS=T 000002 //* 000003 //DUMP EXEC PGM=ICEMAN,PARM='ABEND,HIPRMAX=0' 000004 //SORTIN DD DSN=P390C.TEMP.SMF2.$,DISP=SHR 000005 //SYSOUT DD SYSOUT=* 000006 //SYSIN DD * 000007 SORT FIELDS=COPY,SKIPREX=770000,STOPAFT=785000 =NOTE= JCKxxxxE 00,E5MS130S,SORTOUT DD STATEMENT MISSING ****** ***************** Bottom of Data **************************

Utilities

•IEBGENER•IEBCOPY•IDCAMS •SORT

DD Namen und Syntax von Utilities prüfen

Page 102: Der einfache Weg zur fehlerfreien JCL

HORIZONT 104 SmartJCL®

Haben Sie noch Fragen zu SmartJCL 2.0?

File Edit Confirm Menu Utilities Compilers Test Help --------------------------------------------------------------------------- EDIT P390H.SPFTEMP1.CNTL Columns 00001 00072 Command ===> JCK Scroll ===> CSR ****** ***************************** Top of Data ************************** =NOTE= LABEL MSG.NO. ERROR MESSAGE =NOTE= ------ -------- ------------------------------------------------------ =NOTE= .HAAA JUP0008E 00, ,00009,INVALID JCL STATEMENT: ' =NOTE= .HAAB JCK0002E 00, ,00000,INVALID STMT ' IN ROUTINE JCKJOB =NOTE= .HAAC JCK0316E 00, ,00000,DATA SET NOT FOUND IN CATALOG =NOTE= .HAAD JCK0316E 00, ,00000,DATA SET NOT FOUND IN CATALOG =NOTE= .HAAE JCK0270E 00, ,00000,INVALID VALUE CATL FOR THE NORMAL 000001 //P390HX JOB ,'HORIZONT',MSGCLASS=T, 000002 // NOTIFY=&SYSUID,REGION=6M =NOTE= -- NOTIFY=P390H,REGION=6M 000003 //* 000004 //****************************************************************** 000005 //* UNLOAD OPC-VSAM DSN=P390A.OPCESA.V2R0M0.AD 000006 //****************************************************************** 000007 //ADUNL EXEC PGM=OPUIAD5, .HAAB // PARM=('DEP(0),ER(0)/' =NOTE= JUP0008E 00, ,00009,INVALID JCL STATEMENT: ' =NOTE= JCK0002E 00, ,00000,INVALID STMT ' IN ROUTINE JCKJOB 000009 // 'OI=N PC=OS2 OD=N EX=Y PW=RNCECLI')

File Edit Confirm Menu Utilities Compilers Test Help ---------------------------------------------------------------------- EDIT P390A.HUP.PLI.DEV($C1) - 01.02 Columns 000 Command ===> Scroll = ****** ***************************** Top of Data ********************* =NOTE> SmartJCL JCL XREF LISTING =NOTE> --------------------------------------------------------------- 000003 //JCLCHECK JOB ,'HORIZONT/DIRNBERGER',MSGCLASS=T,CLASS=A, 000004 // NOTIFY=&SYSUID =NOTE> +++ JCK1234I JOB FOUND IN APPLICATION STTMONTH01 =NOTE> +++ JCK1234I PREDECESSOR: STTMONTH00 JCLCHK01 =NOTE> +++ JCK1234I PREDECESSOR: STTMONTH00 JCLCHK02 =NOTE> +++ JCK1234I SUCCESSOR: - =NOTE> +++ JCK1234I SPECRES: INITA =NOTE> +++ JCK1234I SPECRES: STT 000011 //* 000012 //PROCS JCLLIB ORDER=(P390A.ROSE.PLI.CNTL) 000013 //* 000014 //DEL EXEC PGM=IDCAMS 000015 //SYSPRINT DD * 000016 DEL P390A.STT.DATA.VALCURVE 000017 //*

-------------------------------- SmartJCL ------------------------------- Command ===> ________________________________________________________ Command: ENTER Start RES Reset parameters

Selection Jobname ===> ________ Operation Number ===> ___ Application ID ===> MYAPP*_______ Workstation ID ===> ____ From ===> 20010601 0600 Group ===> ________ To ===> 20010701 0559 Owner ===> ____________ YYYYMMDD HHMM Simulation Simulation Type ===> FULL___ OPC Subsystem ===> OP6C Use JCL from a private JCL Library for Simulation ===> N (Y/N) Output Datasets SmartJCL Output DSN ===> P390G.HCLCHECK.HCL__________________________ SmartJCL Sysprint ===> P390G.HCLCHECK.SYSPRINT_____________________ EQQMLOG ===> P390G.HCLCHECK.EQQMLOG______________________

[email protected]

Page 103: Der einfache Weg zur fehlerfreien JCL

HORIZONT 105 SmartJCL®

Neue Funktionen in V1R1

• Dataset-Exclude für Katalog-Verarbeitung

• Job-Include/Exclude Liste (Batch Mode)

• Individuelles Ein/Ausschalten von Fehlermeldungen

• TWS-Daten in der JCL anzeigen

• Reformat (Jobs und Proceduren)

• Control-M Variablen Substitution

• Aufteilung der Ausgabe auf mehrere Datasets

V1R1 ist verfügbar seit Juni 2003V1R1 ist verfügbar seit Juni 2003

Page 104: Der einfache Weg zur fehlerfreien JCL

HORIZONT 106 SmartJCL®

EDIT P390A.OPG.CNTL(TESTJCK) - 01.00 Columns 00001 00072Command ===> Scroll ===> CSR****** ********************* Top of Data ************************000001 //P390KX JOB ,'SMARTJCL',MSGCLASS=T, 000002 // NOTIFY=&SYSUID,REGION=6M 000003 //* 000004 //ADUNL EXEC PGM=OPUIAD4, 000005 // PARM='/PW=RFKEFZR',REGION=4M 000006 //SYSPRINT DD SYSOUT=* 000007 //OPUTEXT DD DISP=(NEW,PASS),DSN=&&OPUTEXT,000008 // SPACE=(TRK,(1,1)),000009 // DCB=(RECFM=FB,LRECL=80,BLKSIZE=80),UNIT=SYSDA 000010 //OPUDAT DD DISP=(NEW,PASS),DSN=&&OPUDAT1, 000011 // UNIT=SYSDA,SPACE=(CYL,(1,1)), 000012 // DCB=(RECFM=FB,LRECL=406,BLKSIZE=16240)000013 //* ****** ********************* Bottom of Data *********************

Reformat

Unformatierte JCL ist unübersichtlich und

schwer lesbar

Page 105: Der einfache Weg zur fehlerfreien JCL

HORIZONT 107 SmartJCL®

EDIT P390A.OPG.CNTL(TESTJCK) - 01.00 Columns 00001 00072Command ===> Scroll ===> CSR****** ********************* Top of Data ************************000001 //P390KX JOB 'SMARTJCL',000002 // MSGCLASS=T, 000002 // NOTIFY=&SYSUID,000004 // REGION=6M 000005 //* 000006 //ADUNL EXEC PGM=OPUIAD4, 000007 // PARM='/PW=RFKEFZR',000008 // REGION=4M 000009 //SYSPRINT DD SYSOUT=* 000010 //OPUTEXT DD DSN=&&OPUTEXT, 000011 // DISP=(NEW,PASS), 000012 // SPACE=(TRK,(1,1)),000013 // DCB=(RECFM=FB,LRECL=80,BLKSIZE=80),000014 // UNIT=SYSDA 000015 //OPUDAT DD DSN=&&OPUDAT1,000016 // DISP=(NEW,PASS), 000017 // SPACE=(CYL,(1,1)), 000018 // DCB=(RECFM=FB,LRECL=406,BLKSIZE=16240)

ReformatReformatierte JCL ist• übersichtlich• hilft dadurch Fehler

zu vermeiden • senkt somit die

Kosten

Page 106: Der einfache Weg zur fehlerfreien JCL

HORIZONT 108 SmartJCL®

Reformat

• Die Positionen von Schlüsselwort, Wert und den Fortsetzungszeilen sind für jeden Parameter individuell einstellbar

• Flexible Kommentarbehandlung

• Reformatierung der IF/ELSE Anweisungen

Die Reformatfunktion von SmartJCL kann über Die Reformatfunktion von SmartJCL kann über Parameter an kundenspezifische Standards Parameter an kundenspezifische Standards angepasst werden, u.a. angepasst werden, u.a.

Page 107: Der einfache Weg zur fehlerfreien JCL

HORIZONT 109 SmartJCL®

-------------------------- SmartJCL Reformat--------------------- Command ===> Primary commands (top): REF Edit reformat parameters JOBLIST Edit joblist JOBLIB Edit joblibraries Select one of the following options and press ENTER. Member ===> RFMT#E1_ - ________ Specify one member (left) if you would like to check a a single job, or specify two members if you would like to check a range of members. Joblist ===> ____________________________________________ If you do not specify any member, the Joblist is used for selection. Joblibs ===> P390G.SMARTJCL.JOBLIBS______________________ Submit ===> E S submit job, E edit before submit

Reformat

Der ISPF Dialog für die Reformat-

Funktion

Page 108: Der einfache Weg zur fehlerfreien JCL

HORIZONT 110 SmartJCL®

File Edit Confirm Menu Utilities Compilers Test Help -----------------------------------------------------------------EDIT P390A.HUP.PLI.DEV($C1) - 01.02 COMMAND ===> ****** ************************ Top of Data *********************==MSG> PREDECESSORS: ==MSG> APPLICATION OPNO JOBNAME ==MSG> ------------------------------ ==MSG> XINFO22 61 XXRJCM2 ==MSG> XINFO22 60 XXRJCM1 ==MSG> XINFO22 1 ==MSG> SUCCESSORS: ==MSG> APPLICATION OPNO JOBNAME ==MSG> ------------------------------ ==MSG> XINFO22 64 XXRJDBLC ==MSG> SPECIAL RESOURCES: ==MSG> -------------------------------------------- ==MSG> DSN1 =NOTE= ******************* JCL PREPARED BY SMARTJCL/SIMJCL *******=NOTE= ************************** END OF PREPARED JCL ************000001 //XXRJCM3 JOB (ACCOUNT),'HORIZONT',MSGCLASS=T,CLASS=A,

TWS-Daten in der JCL anzeigen

Anzeige der wichtigsten TWS-Informationen im

JCL-Editor

Page 109: Der einfache Weg zur fehlerfreien JCL

HORIZONT 111 SmartJCL®

Display Filter View Print Options Help ----------------------------------------------------------------- SDSF OUTPUT DISPLAY JCKJPS2 JOB03904 DSID 105 LINE 0 CO COMMAND INPUT ===> SCR ********************************* TOP OF DATA ********************MSG.NO. ERROR MESSAGE -------- ---------------------------------------------------------JCK0402E MISPLACED DD STATEMENT JCK0400E JOB HAS NO STEPS JCK0416E JOB NAME HAS TO BE EQUAL WITH MEMBER NAME JCK0402E MISPLACED DD STATEMENT JCK0400E JOB HAS NO STEPS JCK0400E JOB HAS NO STEPS JCK0416E JOB NAME HAS TO BE EQUAL WITH MEMBER NAME JCK0440E PROGRAM ZVB245 NOT FOUND ON SEARCH PATH JCK0457W DATA SET SYS1.CEE.SCEERUN NOT IN CATALOG JCK0441E LIBRARY COULD NOT BE ALLOCATED TO SEARCH FOR PROGRAM, DSNJCK0515E DATA SET CANNOT BE FOUND/NOT IN CATALOG, DSN = "SYS1.CEE. JCK0457W DATA SET SSKM.SMART611.DCALOADP NOT IN CATALOG JCK0441E LIBRARY COULD NOT BE ALLOCATED TO SEARCH FOR PROGRAM, DSN

Aufteilung der Ausgabe, z.B. Summary

Ausgabe als Zusammenfassung…

Die Ausgabe ist aufgeteilt:• JCKSUMO (Summary)• JCKDTLO (Detailled)

Page 110: Der einfache Weg zur fehlerfreien JCL

HORIZONT 112 SmartJCL®

Display Filter View Print Options Help ----------------------------------------------------------------- SDSF OUTPUT DISPLAY JCKJPS2 JOB03904 DSID 105 LINE 0 CO COMMAND INPUT ===> SCR ********************************* TOP OF DATA ********************LIB MEMBER JOBNAME JSTEPNAME PSTEPNAME DD-NAME ---- -------- -------- --------- --------- --------J001 $$$CONT SYSIN J001 $$$CONT SYSIN J001 $C DDP4 J001 $DDTABLE SYSIN J001 $DDTABLE SYSIN J001 $PROLOG J001 $SIGNAL #ZVB245 J001 $SIGNAL #ZVB245 STEP1 STEP1 J001 $SIGNAL #ZVB245 STEP1 STEP1 STEPLIB J001 $SIGNAL #ZVB245 STEP1 STEP1 STEPLIB J001 $SIGNAL #ZVB245 STEP1 STEP1 STEPLIB J001 $SIGNAL #ZVB245 STEP1 STEP1 STEPLIB J001 $SIGNAL #ZVB245 STEP1 STEP1 STEPLIB

Aufteilung der Ausgabe, z.B. Summary

…nur mit wichtigen Informationen

Page 111: Der einfache Weg zur fehlerfreien JCL

HORIZONT 113 SmartJCL®

Display Filter View Print Options Help ----------------------------------------------------------------- SDSF OUTPUT DISPLAY JCKJPS2 JOB03904 DSID 105 LINE 0 CO COMMAND INPUT ===> SCR ********************************* TOP OF DATA ********************000100 .HAAA JCK0402E MISPLACED DD STATEMENT .HAAA JCK0400E JOB HAS NO STEPS P390A.JUP.DATA.JOBLIB($PROLOG): 000001 //* -------------------------------------------------------000002 //* JD021016, ........ 000003 //* -------------------------------------------------------000004 //* .HAAA JCK0400E JOB HAS NO STEPS P390A.JUP.DATA.JOBLIB($SIGNAL): 000001 //#ZVB245 JOB (OA-MF-NB),MSGLEVEL=(1,1),CLASS=P,MSGCLASS=T,000002 // TIME=1440,REGION=8M,TYPRUN=SCAN .HAAA JCK0416E JOB NAME HAS TO BE EQUAL WITH MEMBER NAME

Aufteilung der Ausgabe, z.B. Detailled

Oder eine Datei mit detaillierten

Fehlermeldungen incl. Ausgangs-JCL

Page 112: Der einfache Weg zur fehlerfreien JCL

HORIZONT 114 SmartJCL®

---------------------- CTM/SimJCL Startpanel --------------------- Command ===> Select one of the following options and press ENTER 1 JOBLIST - Select jobs for simulation 2 SIMULATE - Start JCL simulation based on previous selection 3 CHECK - Start JCL check based on previous simulation 4 CHECK - Start JCL check without simulation 5 REFORMAT - Start JCL reformat (pre release) Note: Options 3, 4, 5 are only available, if a JCL checker is installed, for example SmartJCL

Control-M

Hauptpanel der Control-M

Schnittstelle

Page 113: Der einfache Weg zur fehlerfreien JCL

HORIZONT 115 SmartJCL®

------------------ CTM/SimJCL - Create Joblist ----------------- Command ===> top : RESET restore default values, JC change jobcards Selection Table ===> ____________________ Application ===> ____________________ Group ===> ____________________ Jobname ===> ________ Owner ===> ______________________________ Schedule Library DSN ===> DATA.CTM.MAN.SCHEDULE___________________ Output files Joblist ===> P390G.MJV.SELJOBS_______________________ Variablelist ===> P390G.MJV.SETVAR________________________ Submit ===> S S submit job, E edit before submit

Control-M

Auswahl der Jobs über Control-M

Felder

Page 114: Der einfache Weg zur fehlerfreien JCL

HORIZONT 116 SmartJCL®

Haben Sie noch Fragen zu SmartJCL 1.1?

File Edit Confirm Menu Utilities Compilers Test Help --------------------------------------------------------------------------- EDIT P390H.SPFTEMP1.CNTL Columns 00001 00072 Command ===> JCK Scroll ===> CSR ****** ***************************** Top of Data ************************** =NOTE= LABEL MSG.NO. ERROR MESSAGE =NOTE= ------ -------- ------------------------------------------------------ =NOTE= .HAAA JUP0008E 00, ,00009,INVALID JCL STATEMENT: ' =NOTE= .HAAB JCK0002E 00, ,00000,INVALID STMT ' IN ROUTINE JCKJOB =NOTE= .HAAC JCK0316E 00, ,00000,DATA SET NOT FOUND IN CATALOG =NOTE= .HAAD JCK0316E 00, ,00000,DATA SET NOT FOUND IN CATALOG =NOTE= .HAAE JCK0270E 00, ,00000,INVALID VALUE CATL FOR THE NORMAL 000001 //P390HX JOB ,'HORIZONT',MSGCLASS=T, 000002 // NOTIFY=&SYSUID,REGION=6M =NOTE= -- NOTIFY=P390H,REGION=6M 000003 //* 000004 //****************************************************************** 000005 //* UNLOAD OPC-VSAM DSN=P390A.OPCESA.V2R0M0.AD 000006 //****************************************************************** 000007 //ADUNL EXEC PGM=OPUIAD5, .HAAB // PARM=('DEP(0),ER(0)/' =NOTE= JUP0008E 00, ,00009,INVALID JCL STATEMENT: ' =NOTE= JCK0002E 00, ,00000,INVALID STMT ' IN ROUTINE JCKJOB 000009 // 'OI=N PC=OS2 OD=N EX=Y PW=RNCECLI')

File Edit Confirm Menu Utilities Compilers Test Help ---------------------------------------------------------------------- EDIT P390A.HUP.PLI.DEV($C1) - 01.02 Columns 000 Command ===> Scroll = ****** ***************************** Top of Data ********************* =NOTE> SmartJCL JCL XREF LISTING =NOTE> --------------------------------------------------------------- 000003 //JCLCHECK JOB ,'HORIZONT/DIRNBERGER',MSGCLASS=T,CLASS=A, 000004 // NOTIFY=&SYSUID =NOTE> +++ JCK1234I JOB FOUND IN APPLICATION STTMONTH01 =NOTE> +++ JCK1234I PREDECESSOR: STTMONTH00 JCLCHK01 =NOTE> +++ JCK1234I PREDECESSOR: STTMONTH00 JCLCHK02 =NOTE> +++ JCK1234I SUCCESSOR: - =NOTE> +++ JCK1234I SPECRES: INITA =NOTE> +++ JCK1234I SPECRES: STT 000011 //* 000012 //PROCS JCLLIB ORDER=(P390A.ROSE.PLI.CNTL) 000013 //* 000014 //DEL EXEC PGM=IDCAMS 000015 //SYSPRINT DD * 000016 DEL P390A.STT.DATA.VALCURVE 000017 //*

-------------------------------- SmartJCL ------------------------------- Command ===> ________________________________________________________ Command: ENTER Start RES Reset parameters

Selection Jobname ===> ________ Operation Number ===> ___ Application ID ===> MYAPP*_______ Workstation ID ===> ____ From ===> 20010601 0600 Group ===> ________ To ===> 20010701 0559 Owner ===> ____________ YYYYMMDD HHMM Simulation Simulation Type ===> FULL___ OPC Subsystem ===> OP6C Use JCL from a private JCL Library for Simulation ===> N (Y/N) Output Datasets SmartJCL Output DSN ===> P390G.HCLCHECK.HCL__________________________ SmartJCL Sysprint ===> P390G.HCLCHECK.SYSPRINT_____________________ EQQMLOG ===> P390G.HCLCHECK.EQQMLOG______________________

[email protected]

Page 115: Der einfache Weg zur fehlerfreien JCL

HORIZONT 117 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

Smart/JCLDer einfache Weg zur fehlerfreien JCL