Smart/JCL Der einfache Weg zur fehlerfreien JCL Versionen im Überblick HORIZONT Software 1 HORIZONT für Rechenzentren Garmischer Str. 8 D- 80339 München Tel ++49(0)89 / 540 162 - 0 ® www.horizont-it.com SmartJCL Versionen im Überblick Aktuelles Release V3R1 V3R0 V2R4 V2R3 V2R2 V2R1 HORIZONT 2 ® SmartJCL SmartJCL 3.1 SmartJCL V3R1 ist im September 2011 verfügbar. Es enthält folgende neue Funktionen: • Eine Reihe neuer Parameter und Optionen für JCL Check und Reformat - Lesen der DB2 Subsysteme aus System-Kontrollblöcken - Check TSO Programme Reformatieren ausgewählter oder geänderter JCL Statements Steuern, wie ISPF Member Statistik im Ausgabefile JCKJCLO gesetzt wird HORIZONT 3 ® 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 HORIZONT 4 ® 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“ HORIZONT 5 ® SmartJCL SmartJCL 3.1 ISPF Dialog unterstützt Administratoren: Geben Sie Admin User hier an ... HORIZONT 6 ® SmartJCL SmartJCL 3.1 ISPF Dialog unterstützt Administratoren: Verfügbar für jeden User. Verfügbar nur für Admin-User. HORIZONT 7 ® SmartJCL SmartJCL 3.1 ISPF dialog supports administrator: Die AdminstratorOptionen. HORIZONT 8 ® SmartJCL SmartJCL 3.1 ISPF dialog supports administrator: Verfügbar für jeden User. HORIZONT 9 ® 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 HORIZONT 10 ® 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) HORIZONT 11 ® SmartJCL SmartJCL 3.1 Erweitertes 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. HORIZONT 12 ® SmartJCL SmartJCL 3.1 Erweitertes JCL Change Facility: Füge dieses JCLLIB Statement nach dem JOB Statement ein. HORIZONT 13 ® SmartJCL SmartJCL 3.1 Erweitertes JCL Change Facility: Mehrere PARMn und VALUEn Paare zur Selektion ... DELSTMT und DELSTEP kann mit Parameter-selektion kombiniert werden HORIZONT 14 ® SmartJCL SmartJCL 3.1 Erweitertes JCL Change Facility: PARMn, VALUEn 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. HORIZONT 15 ® SmartJCL SmartJCL 3.1 Diese JCL wird modifiziert: Enthält den String III.JJJ für den Change als auch den String AAAAA, der den Change ausschließt. HORIZONT 16 ® SmartJCL SmartJCL 3.1 Resultierende JCL: Nur die geänderten JCL Statements werden formatiert: SJCREF=CHANGED HORIZONT 17 ® SmartJCL SmartJCL 3.1 Erweitertes JCL Change Facility: RANGE RANGE kann mit LNCHANGE, CHANGE INSTREAM und CHANGE COMMENT verwendet werden HORIZONT 18 ® SmartJCL Fragen zu SmartJCL? [email protected] HORIZONT 19 ® SmartJCL SmartJCL 3.0 SmartJCL V3R0 ist Ende August 2009 verfügbar. Wesentliche Neuerungen werden u.A. sein: • 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 HORIZONT 20 ® SmartJCL Standard Check - Einstieg Das Einstiegspanel zum: - Bearbeiten von Regeln - Generieren des SRI-Codes HORIZONT 21 ® SmartJCL Standard Check: Optionen Mit welchen Regeln wollen Sie arbeiten ... ... und wo soll der generierte Code gespeichert werden. HORIZONT 22 ® SmartJCL Standard Check - Einstieg Bearbeiten von Regeln beginnen ... HORIZONT 23 ® SmartJCL Regelliste Eine neue Regel anlegen oder eine vorhandene zum Bearbeiten wählen ... HORIZONT 24 ® SmartJCL Regel bearbeiten Wenn Pos. 6 des Jobnamens R oder E ist und DISP ungleich SHR ... … oder Pos. 3 des Jobnamens 3 ist und DISP ungleich SHR ... HORIZONT … dann gib eine Meldung aus. 25 ® SmartJCL Selektionskriterien Alle möglichen Selektionskriterien können von einer Liste ausgewählt werden… HORIZONT 26 ® SmartJCL Selektionskriterien Weiter unten in der Liste... ... die von Standard Check bereitgestellte Selektionskriterien HORIZONT 27 ® SmartJCL Selektionskriterien Die JOB-Anweisung ist ausgewählt … … und alle möglichen Parameter und Subparameter dazu werden aufgelistet ... HORIZONT 28 ® SmartJCL Vergleichsoperatoren ... wie auch alle Vergleichsoperatoren zum Jobnamen HORIZONT 29 ® SmartJCL Angabe der Vergleichswerte Werte für Substr Hier geben Sie eine Liste von Werten ein. HORIZONT 30 ® SmartJCL Aktion für eine Regel Was soll passieren, wenn die Bedingungen zutreffen? HORIZONT 31 ® SmartJCL Aktion für eine Regel Es kann eine Meldung oder eine REXX aufgerufen werden. HORIZONT 32 ® SmartJCL Aktion für eine Regel Wo soll die Meldung erscheinen? HORIZONT 33 ® SmartJCL Aktion für eine Regel Die Meldung ist in einem MessageMember zu definieren. HORIZONT 34 ® SmartJCL XML für eine Regel Die im Dialog erstellten Regeln werden als XML gespeichert. HORIZONT 35 ® SmartJCL SRI Code generieren Option 2 erstellt aus der XML SmartJCL REXX Interface Code. HORIZONT 36 ® SmartJCL SRI Code generieren HORIZONT 37 ® SmartJCL SRI Code generieren Der erstellte REXX Code ist mit dem Parameter SRI-PRG beim Check bzw. Reformat anzugeben. HORIZONT 38 ® SmartJCL SmartJCL 3.0 Neue Funktionen und Erweiterungen: • 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 HORIZONT 39 ® SmartJCL SmartJCL 3.0 Neue Funktionen und Erweiterungen (2): • 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 HORIZONT 40 ® SmartJCL SmartJCL 3.0 Neue Funktionen und Erweiterungen (3): • 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 HORIZONT 41 ® SmartJCL SmartJCL 3.0 Neue Funktionen und Erweiterungen (4): • 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. HORIZONT 42 ® SmartJCL Fragen zu SmartJCL? [email protected] HORIZONT 43 ® SmartJCL ® SmartJCL Der einfache Weg zur fehlerfreien JCL Vielen Dank für Ihre Aufmerksamkeit! HORIZONT Software 44 HORIZONTfür Rechenzentren Garmischer Str. 8 D- 80339 München Tel ++49(0)89 / 540 162 – 0 ® www.horizont-it.com SmartJCL SmartJCL V2R4 SmartJCL V2R4 wird in Q3 2008 verfügbar sein. Es enthält folgende wesentliche Neuerungen: • 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/N DB2-GROUP=db2_group_name DB2-SUBSYS=subsys_name • Default Loadlib für "exist program" check - Neuer Parameter: DEFAULT-LOADLIB DLL=P390A.JCK.DEV.LOAD HORIZONT 45 ® 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. - HORIZONT 46 ® SmartJCL SmartJCL V2R4 • Performanceverbesserungen - JCK Makro reagiert schneller Optimierter Katalog-Check unter JES3 -> weniger CPU Zeit • Verbesserter ISPF Dialog - Siehe nächste Folien HORIZONT 47 ® SmartJCL Verbesserter ISPF Dialog Das Hauptpanel ist der Einstieg für alle weiteren Dialoge ... ...und informiert über verfügbare Edit-Makros. HORIZONT 48 ® SmartJCL Joblibs und Auswahl der Member Geben Sie Ihre Joblibs an und selektieren Member ... HORIZONT 49 ® SmartJCL Auswahl Member Mit JCK startet man den Check… Member werden mit ”S” ausgewählt oder durch Angabe eine Reihenfolge mit Nummern, z.B. “1”, “2”, “3” HORIZONT 50 ® SmartJCL Prüfung Member …die selektierten Member werden nacheinander geprüft. Fehlerhafte Jobs werden im Editor angezeigt… HORIZONT 51 ® SmartJCL Anzeige der fehlerhaften Jobs ...am Ende zeigt die Selektionsliste die resultierenden Return-Codes. HORIZONT 52 ® SmartJCL Foreground Eine weitere Option ist die Prüfung der selektierten Member im Vordergrund... HORIZONT 53 ® SmartJCL Foreground - Ergebniss ... die Zusammenfassung wird nach dem Check angezeigt… ... auf die Meldungen, Details und Sysprint kann man direkt zugreifen HORIZONT 54 ® SmartJCL Batch BATch prüft die ausgewählten Member im Batch… HORIZONT 55 ® SmartJCL Batch – Generierter Job ... schicken Sie den vorbereiteten Job ab. HORIZONT 56 ® SmartJCL Kleiner Ausblick auf V3R0 gefällig? HORIZONT 57 ® SmartJCL SmartJCL V2R3 SmartJCL V2R3 ist seit 20. Juni 2007 verfügbar. Es enthäIt folgende wesentlichen Änderungen: • 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 HORIZONT 58 ® SmartJCL SmartJCL – Einfachere Installation SmartJCL 2.2 benutzt einen SVC für Authorisierung. Nachteile waren: • SVC Installation erfordert SystemProgrammierung - Assembler Coding - SVC muß geladen werden • Der SVC wurde von einigen Kunden nicht akzeptiert HORIZONT 59 ® SmartJCL SmartJCL – Einfachere Installation V2R3 verwendet das TSO Service Facility. • Parmlib Member IKJTSOnn ist zu modifizieren AUTHTSF NAMES( CSFDAUTH IEBCOPY ICQASLI0 IKJEFF76 EQQMINOR JCKASA1 JCKASU /* /* /* /* /* /* /* /* /* /* PROGRAMS TO BE AUTHORIZED WHEN CALLED THROUGH THE TSO SERVICE FACILITY. ICSF OPC DIALOG INTERFACE SMARTJCL ACCESS CHECK SMARTJCL SWITCH USER */ */ */ */ */ */ */ */ */ */) + + + + + + + + + • Parmlib Member IKJTSOnn ist zu aktivieren SET IKJTSO=nn HORIZONT 60 ® SmartJCL Neue IP-Kommunikation ROTJSHD TP Program ROTJSHD Port Port11 Port 1 JCL im ISPF Editor JCL im ISPF Editor Port 2 OLD HORIZONT TP Program Server Program verwendet die bestehende Verbindung, um Daten zum Client zu schicken. Dadurch werden Firewall-Probleme vermieden. NEW 61 ® SmartJCL SmartJCL – Simulations-TWS Ein eigener TWS Controller wird für die Variablenersetzung verwendet. Vorteile sind: • 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 HORIZONT 62 ® SmartJCL SmartJCL – REXX-Interface Neue REXX Interface-Funktionen für .... • Überschreibende JCL-Anweisungen und Parameter - Ermöglichen den Zugriff auf JCL-Anweisungen, die für einen ProzedurAufruf 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. HORIZONT 65 ® SmartJCL SmartJCL – Neue Parameter Neue Parameter für .... • 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 HORIZONT 66 ® SmartJCL Do you have any questions about SmartJCL 2.3? [email protected] Production Scheduler JCL Plan Reformat REXX Interface Variable Scheduler Interface SmartJCL HORIZONT 67 ® SmartJCL SmartJCL V2R2 SmartJCL V2R2 ist jetzt verfügbar (Juli 2006) . Es enthält eine Reihe an Detail-Verbesserungen zur einfacheren Installation und Nutzung: • 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 HORIZONT 68 ® SmartJCL SmartJCL - Performance Die Performance-Verbesserungen betreffen die EditMakros JCK bzw. OSJ JCK. • 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 HORIZONT 69 ® 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 2,18 s Mit Prozedur – Prozedur ist in der letzten PROCLIB Neues Macro 4,93 s HORIZONT 70 JCK 8,20 s JCK 8,19 s ® SmartJCL SmartJCL - Check mit beliebigen Usern Der "RACF Access Check" wurde mit SmartJCL V2R1 eingeführt. • 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 APFAuthorisierung durch SVC zu ermöglichen HORIZONT 71 ® SmartJCL SmartJCL - Erweiterte TWS Simulation Betrifft die Ersetzung der TWS-Variablen als Vorbereitung der JCL für den Check im Batch. • Bisher zwei Möglichkeiten der TWS-Variablenersetzung - ACTION=SIMULATE, PIF Request JCLPREPA - ACTION=SUBSTITUTE, HORIZONT-eigene Ersetzung • Ist für größere JCL-Mengen (> 5000) zu langsam • Beeinträchtigt Controller, sperrt JS-Datei • 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)! HORIZONT 72 ® SmartJCL SmartJCL - Erweiterte TWS Simulation Lösung mit V2R2: Kombination beider Verfahren • 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. HORIZONT 73 ® SmartJCL SmartJCL - Erweiterte TWS Simulation Neue Parameter (alte Parameter gelten weiterhin): • ACTION=PIFSIM - Bisher ACTION=SIMULATE • ACTION=HORIZONTSIM - Bisher ACTION=SUBSTITUTE • ACTION=SIM - Neu für kombinierte Variablenersetzung Nur im Batch verfügbar HORIZONT 74 ® SmartJCL SmartJCL - Erweiterte TWS Simulation Beispiel: &OADID wird mit HORIZONTSIM nicht ersetzt... ... jedoch im zweiten Schritt durch JCLPREPA HORIZONT 75 ® 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. HORIZONT 76 ® SmartJCL SmartJCL - OSJ Edit-Makro SP ... geben Sie "SP" ein, um weitere Parameter ändern zu können... HORIZONT 77 ® SmartJCL SmartJCL - OSJ Edit-Makro ... und ändern Sie den Parameter! HORIZONT 78 ® SmartJCL SmartJCL - OSJ Edit-Makro Mit SmartJCL kann der Dialog über eine Parameterdatei frei konfiguriert werden: • Werte können vorgegeben werden (statt Eingabe über Dialog) • Default-Werte und -Aktionen je Panel • Anpassung an kundenspezifische Bedürfnisse HORIZONT 79 ® SmartJCL SmartJCL - OSJ Edit-Makro Neue Parameter Datei zur Steuerung des Dialogs HORIZONT 80 ® 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 HORIZONT 81 ® SmartJCL SmartJCL - Parameter Die Parameter im Member JCKKPARM werden bei einem Release-Wechsel übernommen. • Alte (übernommene) und neue Parameter werden markiert. • Nur neue Parameter müssen angepasst werden. HORIZONT 82 ® SmartJCL SmartJCL - Parameter Automatische Umstellung während der Installation HORIZONT 83 ® SmartJCL Haben Sie noch Fragen zu SmartJCL 2.2? [email protected] Production Scheduler JCL Plan Reformat REXX Interface Variable Scheduler Interface SmartJCL HORIZONT 84 ® SmartJCL SmartJCL V2R1 SmartJCL V2R1 ist seit März 2005 verfügbar und bietet u.A. folgende neue Funktionen: • "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... HORIZONT 85 ® SmartJCL V2R1 – Remote Check Der "Remote Check" ermöglicht es Ihnen, JCL auf einem anderen System zu prüfen. Vorteile: • 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) HORIZONT 86 ® SmartJCL V2R1 – Remote Check Der "Remote Check" kann auf unterschiedliche Art und Weise geprüft werden: • 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. HORIZONT 87 ® SmartJCL V2R1 – Remote Check Batch Mode -------------------------- SmartJCL Remote JCL Check -------------Command ===> Primary OPT JOBLIST JOBLIB commands (top): Browse TCP/IP parameters Edit joblist Edit joblibraries Remote Check ISPF Dialog 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 ***************************** HORIZONT 88 ® SmartJCL V2R1 – Remote Check Foreground EDIT P390A.OPG.CNTL(TESTJCK) - 01.00 Command ===> JCK SRV=CPU1 Scroll ===> CSR ****** ********************* Top of Data ************************ 000001 //P390KX JOB 'SMARTJCL', Ziel CPU angeben 000002 // MSGCLASS=T, 000002 // NOTIFY=&SYSUID, 000004 // REGION=6M 000005 //* ------- SmartJCL - Remote check ------000006 //ADUNL EXEC PGM=OPUIAD4, 000007 // PARM='/PW=RFKEFZR', Enter password: _________ 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), Das Passwort für das 000014 // UNIT=SYSDA 000015 //OPUDAT DD DSN=&&OPUDAT1, Zielsystem wird 000016 // DISP=(NEW,PASS), abgefragt 000017 // SPACE=(CYL,(1,1)), 000018 // DCB=(RECFM=FB,LRECL=406,BLKSIZE=16240) HORIZONT 89 ® SmartJCL V2R1 – Remote Check EDIT P390A.OPG.CNTL(TESTJCK) - 01.00 Command ===> 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 //* JCLPGM=OPUIAD4, wird auf dem Ziel-System 000006 //ADUNL DieEXEC 000007 // PARM='/PW=RFKEFZR', geprüft, das Ergebnis wird direkt im 000008 // REGION=4M Editor 000009 //SYSPRINT DD angezeigt 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 HORIZONT 90 ® SmartJCL V2R1 – Remote Check Übersicht TEST PROD TCP/IP TCP/IP //DD SYSPRINT SmartJCL JCL Member DSN2 CatalogCheck JCL (ISPF Editor) HORIZONT 91 Procedures DSN3 ® SmartJCL V2R1 – Change Facility Zusätzlich zum REXX-Interface bietet SmartJCL eine komfortable Änderungsfunktion. Die Eingabesyntax ist einfach aufgebaut, einige Beispiele: • CHANGE PARM=DSN,VALUE=PROD*,NEWVAL=TEST* • DELETE PARM=UNIT • DELETE JOB=ABC%,PGM=IDCAMS,PARM=UNIT,VALUE=TAPE4 HORIZONT 92 ® SmartJCL V2R1 – Sonstige Neuerungen 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 HORIZONT 93 ® 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. HORIZONT 94 ® SmartJCL V2R1 – Sonstige Neuerungen 3 • Neue Überschriften und Fussnoten in JCKDTLO und JCKSUMO - Die Überschrift beinhaltet die Programmversion sowie die Startund 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). HORIZONT 95 ® 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 HORIZONT 96 ® 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.. HORIZONT 97 ® SmartJCL Haben Sie noch Fragen zu SmartJCL 2.1? [email protected] 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 File Edit Confirm Menu Utilities Compilers Test Help =NOTE= ------ -------- --------------------------------------------------------------------------------------------------------------------------=NOTE= .HAAA JUP0008E 00, ,00009,INVALID JCL STATEMENT: ' EDIT P390A.HUP.PLI.DEV($C1) - 01.02 Columns 000 =NOTE= .HAAB JCK0002E 00, ,00000,INVALID STMT ' IN ROUTINE JCKJOB Scroll = =NOTE= .HAAC JCK0316E 00, ,00000,DATA SET NOT FOUND IN CATALOG Command ===> =NOTE= .HAAD JCK0316E 00, ,00000,DATA SET NOT FOUND IN CATALOG ****** ***************************** Top of Data ********************* =NOTE> SmartJCL JCL XREF LISTING =NOTE= .HAAE JCK0270E 00, ,00000,INVALID VALUE CATL FOR THE NORMAL 000001 //P390HX JOB ,'HORIZONT',MSGCLASS=T, =NOTE> --------------------------------------------------------------000002 // NOTIFY=&SYSUID,REGION=6M 000003 //JCLCHECK JOB ,'HORIZONT/DIRNBERGER',MSGCLASS=T,CLASS=A, =NOTE= -- NOTIFY=P390H,REGION=6M 000004 // NOTIFY=&SYSUID 000003 //* =NOTE> +++ JCK1234I JOB FOUND IN APPLICATION STTMONTH01 000004 //****************************************************************** -------------------------------- SmartJCL ------------------------------=NOTE> +++ JCK1234I PREDECESSOR: STTMONTH00 JCLCHK01 000005 //* UNLOADCommand OPC-VSAM DSN=P390A.OPCESA.V2R0M0.AD ===> ________________________________________________________ =NOTE> +++ JCK1234I PREDECESSOR: STTMONTH00 JCLCHK02 000006 //****************************************************************** 000007 //ADUNL EXEC PGM=OPUIAD5, Command: ENTER Start RES Reset parameters =NOTE> +++ JCK1234I SUCCESSOR: .HAAB // PARM=('DEP(0),ER(0)/' =NOTE> +++ JCK1234I SPECRES: INITA =NOTE= JUP0008E Selection 00, ,00009,INVALID JCL STATEMENT: ' =NOTE> +++ JCK1234I SPECRES: STT =NOTE= JCK0002E 00, ,00000,INVALID STMT ' IN ROUTINE JCKJOBNumber ===> ___ Jobname ===> ________ Operation 000011 //* 000009 // 'OI=N PC=OS2 ID OD=N ===> EX=Y MYAPP*_______ PW=RNCECLI') Application Workstation ID ===> ____ 000012 //PROCS JCLLIB ORDER=(P390A.ROSE.PLI.CNTL) From ===> 20010601 0600 Group ===> ________ 000013 //* To ===> 20010701 0559 Owner ===> ____________ YYYYMMDD HHMM 000014 //DEL EXEC PGM=IDCAMS Simulation 000015 //SYSPRINT DD * Simulation Type ===> FULL___ OPC Subsystem ===> OP6CDEL P390A.STT.DATA.VALCURVE 000016 Use JCL from a private JCL Library for Simulation ===> N (Y/N) 000017 //* Output Datasets SmartJCL Output DSN SmartJCL Sysprint EQQMLOG HORIZONT ===> P390G.HCLCHECK.HCL__________________________ ===> P390G.HCLCHECK.SYSPRINT_____________________ ===> P390G.HCLCHECK.EQQMLOG______________________ 98 ® SmartJCL Neue Funktionen in V2R0 V2R0 ist verfügbar seit 1. April 2004 • 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) HORIZONT 99 ® SmartJCL REXX Interface REXX ist flexibel, allgemein bekannt und überall verfügbar. Mit den SmartJCL Funktionen kann von REXX aus auf JCL-Statements zugegriffen werden. • Zugriff auf jedes beliebige JCL Statement (Lesen, Ändern, Löschen, Einfügen) • Standard Funktionen und Operatoren, z.B. zur StringVerarbeitung • 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 HORIZONT 100 ® SmartJCL REXX Interface File Edit Confirm Menu Utilities Compilers Test Help ----------------------------------------------------------------EDIT P390A.JCK.SCL(XMP1) 01.02 REXX mit COMMAND ===> 000001 /* Scan the Joblib, and delete all DSNs from the joblib, SmartJCL 000002 which are not in the linklist */ „Funktion 000003 000004 Stmt = GetStmt("FIRST") Package“ 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 ********************* HORIZONT 101 ® SmartJCL REXX Interface Änderung… Member1 REXX Member2 REXX MemberX //DD SYSPRINT etc. Verifizierung HORIZONT 102 ® SmartJCL Utilities 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 ************************** •IEBGENER •IEBCOPY •IDCAMS •SORT DD Namen und Syntax von Utilities prüfen HORIZONT 103 ® SmartJCL Haben Sie noch Fragen zu SmartJCL 2.0? [email protected] 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 File Edit Confirm Menu Utilities Compilers Test Help =NOTE= ------ -------- --------------------------------------------------------------------------------------------------------------------------=NOTE= .HAAA JUP0008E 00, ,00009,INVALID JCL STATEMENT: ' EDIT P390A.HUP.PLI.DEV($C1) - 01.02 Columns 000 =NOTE= .HAAB JCK0002E 00, ,00000,INVALID STMT ' IN ROUTINE JCKJOB Scroll = =NOTE= .HAAC JCK0316E 00, ,00000,DATA SET NOT FOUND IN CATALOG Command ===> =NOTE= .HAAD JCK0316E 00, ,00000,DATA SET NOT FOUND IN CATALOG ****** ***************************** Top of Data ********************* =NOTE> SmartJCL JCL XREF LISTING =NOTE= .HAAE JCK0270E 00, ,00000,INVALID VALUE CATL FOR THE NORMAL 000001 //P390HX JOB ,'HORIZONT',MSGCLASS=T, =NOTE> --------------------------------------------------------------000002 // NOTIFY=&SYSUID,REGION=6M 000003 //JCLCHECK JOB ,'HORIZONT/DIRNBERGER',MSGCLASS=T,CLASS=A, =NOTE= -- NOTIFY=P390H,REGION=6M 000004 // NOTIFY=&SYSUID 000003 //* =NOTE> +++ JCK1234I JOB FOUND IN APPLICATION STTMONTH01 000004 //****************************************************************** -------------------------------- SmartJCL ------------------------------=NOTE> +++ JCK1234I PREDECESSOR: STTMONTH00 JCLCHK01 000005 //* UNLOADCommand OPC-VSAM DSN=P390A.OPCESA.V2R0M0.AD ===> ________________________________________________________ =NOTE> +++ JCK1234I PREDECESSOR: STTMONTH00 JCLCHK02 000006 //****************************************************************** 000007 //ADUNL EXEC PGM=OPUIAD5, Command: ENTER Start RES Reset parameters =NOTE> +++ JCK1234I SUCCESSOR: .HAAB // PARM=('DEP(0),ER(0)/' =NOTE> +++ JCK1234I SPECRES: INITA =NOTE= JUP0008E Selection 00, ,00009,INVALID JCL STATEMENT: ' =NOTE> +++ JCK1234I SPECRES: STT =NOTE= JCK0002E 00, ,00000,INVALID STMT ' IN ROUTINE JCKJOBNumber ===> ___ Jobname ===> ________ Operation 000011 //* 000009 // 'OI=N PC=OS2 ID OD=N ===> EX=Y MYAPP*_______ PW=RNCECLI') Application Workstation ID ===> ____ 000012 //PROCS JCLLIB ORDER=(P390A.ROSE.PLI.CNTL) From ===> 20010601 0600 Group ===> ________ 000013 //* To ===> 20010701 0559 Owner ===> ____________ YYYYMMDD HHMM 000014 //DEL EXEC PGM=IDCAMS Simulation 000015 //SYSPRINT DD * Simulation Type ===> FULL___ OPC Subsystem ===> OP6CDEL P390A.STT.DATA.VALCURVE 000016 Use JCL from a private JCL Library for Simulation ===> N (Y/N) 000017 //* Output Datasets SmartJCL Output DSN SmartJCL Sysprint EQQMLOG HORIZONT ===> P390G.HCLCHECK.HCL__________________________ ===> P390G.HCLCHECK.SYSPRINT_____________________ ===> P390G.HCLCHECK.EQQMLOG______________________ 104 ® SmartJCL Neue Funktionen in V1R1 V1R1 ist verfügbar seit Juni 2003 • 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 HORIZONT 105 ® SmartJCL Reformat EDIT P390A.OPG.CNTL(TESTJCK) - 01.00 Columns 00001 00072 Command ===> 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=* Unformatierte JCL ist 000007 //OPUTEXT DD DISP=(NEW,PASS),DSN=&&OPUTEXT, unübersichtlich und 000008 // SPACE=(TRK,(1,1)), 000009 // DCB=(RECFM=FB,LRECL=80,BLKSIZE=80),UNIT=SYSDA schwer lesbar 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 ********************* HORIZONT 106 ® SmartJCL Reformat Reformatierte JCL00072 ist EDIT P390A.OPG.CNTL(TESTJCK) - 01.00 Columns 00001 Command ===> Scroll ===> CSR • übersichtlich ****** ********************* Top of Data ************************ • hilft dadurch Fehler 000001 //P390KX JOB 'SMARTJCL', 000002 // MSGCLASS=T, zu vermeiden 000002 // NOTIFY=&SYSUID, • senkt somit die 000004 // REGION=6M 000005 //* Kosten 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) HORIZONT 107 ® SmartJCL Reformat Die Reformatfunktion von SmartJCL kann über Parameter an kundenspezifische Standards angepasst werden, u.a. • Die Positionen von Schlüsselwort, Wert und den Fortsetzungszeilen sind für jeden Parameter individuell einstellbar • Flexible Kommentarbehandlung • Reformatierung der IF/ELSE Anweisungen HORIZONT 108 ® SmartJCL Reformat -------------------------- SmartJCL Reformat--------------------Command ===> Primary REF JOBLIST JOBLIB commands (top): Edit reformat parameters Edit joblist 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 Der ISPF Dialog is used for selection. für die ReformatFunktion Joblibs ===> P390G.SMARTJCL.JOBLIBS______________________ Submit ===> E HORIZONT S submit job, E edit before submit 109 ® SmartJCL TWS-Daten in der JCL anzeigen 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 Anzeige der ==MSG> SPECIAL RESOURCES: wichtigsten TWS==MSG> -------------------------------------------==MSG> DSN1 Informationen im =NOTE= ******************* JCL PREPARED BY SMARTJCL/SIMJCL ******* JCL-Editor =NOTE= ************************** END OF PREPARED JCL ************ 000001 //XXRJCM3 JOB (ACCOUNT),'HORIZONT',MSGCLASS=T,CLASS=A, HORIZONT 110 ® SmartJCL Aufteilung der Ausgabe, z.B. Summary Display Filter View Print Options Help ----------------------------------------------------------------Die Ausgabe ist aufgeteilt: SDSF OUTPUT DISPLAY JCKJPS2 JOB03904 DSID 105 LINE 0 CO • JCKSUMO (Summary) COMMAND INPUT ===> SCR ********************************* TOP OF DATA ******************** • JCKDTLO (Detailled) 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 Ausgabe als JCK0441E LIBRARY COULD NOT BE ALLOCATED TO SEARCH FOR PROGRAM, DSN Zusammenfassung… JCK0515E 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 HORIZONT 111 ® SmartJCL Aufteilung der Ausgabe, z.B. Summary 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 …nur mit wichtigen J001 $SIGNAL #ZVB245 STEP1 STEP1 STEPLIB Informationen J001 $SIGNAL #ZVB245 STEP1 STEP1 STEPLIB J001 $SIGNAL #ZVB245 STEP1 STEP1 STEPLIB J001 $SIGNAL #ZVB245 STEP1 STEP1 STEPLIB HORIZONT 112 ® SmartJCL Aufteilung der Ausgabe, z.B. Detailled 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 //* Oder eine Datei mit .HAAA JCK0400E JOB HAS NO STEPS detaillierten P390A.JUP.DATA.JOBLIB($SIGNAL): Fehlermeldungen 000001 //#ZVB245 JOB (OA-MF-NB),MSGLEVEL=(1,1),CLASS=P,MSGCLASS=T, 000002 // TIME=1440,REGION=8M,TYPRUN=SCAN incl. Ausgangs-JCL .HAAA JCK0416E JOB NAME HAS TO BE EQUAL WITH MEMBER NAME HORIZONT 113 ® SmartJCL Control-M ---------------------- 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 4 CHECK - Start JCL check based on previous simulation - 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 Hauptpanel der Control-M Schnittstelle HORIZONT 114 ® SmartJCL Control-M ------------------ CTM/SimJCL Command ===> top : RESET restore Selection Table Application Group Jobname Owner Create Joblist ----------------- default values, JC change jobcards ===> ===> ===> ===> ===> ____________________ ____________________ ____________________ ________ ______________________________ Schedule Library DSN ===> DATA.CTM.MAN.SCHEDULE___________________ Output files Joblist Variablelist Auswahl der Jobs ===> P390G.MJV.SELJOBS_______________________ ===> P390G.MJV.SETVAR________________________ Submit HORIZONT ===> S S submit job, E 115 über Control-M Feldersubmit edit before ® SmartJCL Haben Sie noch Fragen zu SmartJCL 1.1? [email protected] 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 File Edit Confirm Menu Utilities Compilers Test Help =NOTE= ------ -------- --------------------------------------------------------------------------------------------------------------------------=NOTE= .HAAA JUP0008E 00, ,00009,INVALID JCL STATEMENT: ' EDIT P390A.HUP.PLI.DEV($C1) - 01.02 Columns 000 =NOTE= .HAAB JCK0002E 00, ,00000,INVALID STMT ' IN ROUTINE JCKJOB Scroll = =NOTE= .HAAC JCK0316E 00, ,00000,DATA SET NOT FOUND IN CATALOG Command ===> =NOTE= .HAAD JCK0316E 00, ,00000,DATA SET NOT FOUND IN CATALOG ****** ***************************** Top of Data ********************* =NOTE> SmartJCL JCL XREF LISTING =NOTE= .HAAE JCK0270E 00, ,00000,INVALID VALUE CATL FOR THE NORMAL 000001 //P390HX JOB ,'HORIZONT',MSGCLASS=T, =NOTE> --------------------------------------------------------------000002 // NOTIFY=&SYSUID,REGION=6M 000003 //JCLCHECK JOB ,'HORIZONT/DIRNBERGER',MSGCLASS=T,CLASS=A, =NOTE= -- NOTIFY=P390H,REGION=6M 000004 // NOTIFY=&SYSUID 000003 //* =NOTE> +++ JCK1234I JOB FOUND IN APPLICATION STTMONTH01 000004 //****************************************************************** -------------------------------- SmartJCL ------------------------------=NOTE> +++ JCK1234I PREDECESSOR: STTMONTH00 JCLCHK01 000005 //* UNLOADCommand OPC-VSAM DSN=P390A.OPCESA.V2R0M0.AD ===> ________________________________________________________ =NOTE> +++ JCK1234I PREDECESSOR: STTMONTH00 JCLCHK02 000006 //****************************************************************** 000007 //ADUNL EXEC PGM=OPUIAD5, Command: ENTER Start RES Reset parameters =NOTE> +++ JCK1234I SUCCESSOR: .HAAB // PARM=('DEP(0),ER(0)/' =NOTE> +++ JCK1234I SPECRES: INITA =NOTE= JUP0008E Selection 00, ,00009,INVALID JCL STATEMENT: ' =NOTE> +++ JCK1234I SPECRES: STT =NOTE= JCK0002E 00, ,00000,INVALID STMT ' IN ROUTINE JCKJOBNumber ===> ___ Jobname ===> ________ Operation 000011 //* 000009 // 'OI=N PC=OS2 ID OD=N ===> EX=Y MYAPP*_______ PW=RNCECLI') Application Workstation ID ===> ____ 000012 //PROCS JCLLIB ORDER=(P390A.ROSE.PLI.CNTL) From ===> 20010601 0600 Group ===> ________ 000013 //* To ===> 20010701 0559 Owner ===> ____________ YYYYMMDD HHMM 000014 //DEL EXEC PGM=IDCAMS Simulation 000015 //SYSPRINT DD * Simulation Type ===> FULL___ OPC Subsystem ===> OP6CDEL P390A.STT.DATA.VALCURVE 000016 Use JCL from a private JCL Library for Simulation ===> N (Y/N) 000017 //* Output Datasets SmartJCL Output DSN SmartJCL Sysprint EQQMLOG HORIZONT ===> P390G.HCLCHECK.HCL__________________________ ===> P390G.HCLCHECK.SYSPRINT_____________________ ===> P390G.HCLCHECK.EQQMLOG______________________ 116 ® SmartJCL Smart/JCL Der einfache Weg zur fehlerfreien JCL Vielen Dank für Ihre Aufmerksamkeit! HORIZONT Software 117 HORIZONT für Rechenzentren Garmischer Str. 8 D- 80339 München Tel ++49(0)89 / 540 162 - 0 ® www.horizont-it.com SmartJCL