SmartJCL - PowerPoint PPT Presentation

1 / 106
About This Presentation
Title:

SmartJCL

Description:

and all possible parameters and sub-parameters are listed .... SmartJCL. HORIZONT. 12 ... The main panel is an entry point to all other dialogs ... – PowerPoint PPT presentation

Number of Views:549
Avg rating:3.0/5.0
Slides: 107
Provided by: horiz8
Category:

less

Transcript and Presenter's Notes

Title: SmartJCL


1
SmartJCL

The Easy Way to Faultless JCL
Release Notes
HORIZONT Software for Datacenters
Garmischer Str. 8 D- 80339 München Tel 49(0)89
/ 540 162 0www.horizont-it.com
2
Release Notes
Actual Release
V3R0
V2R4
V2R3
V2R2
V2R1
V2R0
3
SmartJCL 3.0
SmartJCL V3R0 will be available September 2009.
It will have following major new functions
  • ISPF Dialog to specify rules according to
    customer specific standards
  • Every site has individual rules, e.g. UNIT must
    be SYSDA in SORT step
  • Up to now such checks required usage of
    SmartJCLs REXX interface
  • SmartJCL will enable non-programmers to specify
    complex rules by using a simple ISPF dialog
  • See dialog on next slides

4
Standard Check Entry Panel
The entry panel offers - to work with rules - to
generate SRI code
5
Standard Check Options
Specify with which rules you want to work ...
... and where the generated code is to be stored.
6
Standard Check Entry Panel
Start working with rules ...
7
List of Rules
Create a new rule or select an existing one to
modify it ...
8
Modify Rule
If pos. 6 of jobname is R or E and DISP not equal
SHR...
or if pos. 3 of jobname is 3 and DISP not equal
SHR ...
then issue message.
9
Selection Criteria
All possible selection criteria can be picked
from a list
10
Selection Criteria
Further down in the list ...
... the selection criteria provided by Standard
Check
11
Selection Criteria
JOB statement is selected
and all possible parameters and sub-parameters
are listed .
12
Comparison Operators
... as well as all comparison operators
13
Specify Compare Values
Values for substr
Here you can enter a list of the values.
14
Action for a Rule
What should happen, if a condition is true?
15
Action for a Rule
A message can be issued or a REXX can be called.
16
Action for a Rule
Where will the message appear?
17
Action for a Rule
The message has to be defined in a message member.
18
XML for a Rule
The rules created in the dialog are stored as XML.
19
Generate SRI Code
Option 2 creates SmartJCL REXX Inter-face Code
from XML.
20
Generate SRI Code
21
Generate SRI Code
The created REXX code has to be specified with
para-meter SRI-PRG for Check or Reformat.
22
SmartJCL 3.0
Other new functions and enhancements
  • Installation - Own PARM dataset
  • Strict separation of product libraries and
    parameter library (OPZXPARM in CLIST caused
    problems).
  • Easier distribution/maintenance of SmartJCL to
    multiple z/OS systems.
  • Scheduler Interface for TWS
  • TWS 8.5 support

23
SmartJCL 3.0
Other new functions and enhancements (2)
  • JCL Checker
  • z/OS 1.11 support
  • DD EATTR parameter and SORT enhancements
  • Check IEHPROGM control statements and consider
    them for catalog checks
  • Issue warning for RACF unprotected datasets
  • Issue warning if no alias exists for first
    qualifier
  • to avoid data sets in the master catalog
  • Message suppression allow wildcards for message
    number
  • to suppress all messages for particular members
  • Example for PARM(JCKKMSX) JCK MEMBERMEMNAME

24
SmartJCL 3.0
Other new functions and enhancements (3)
  • JCL Reformat
  • Reformat writes directly to PO files
  • In the past a PS dataset with IEBUPDTE format was
    used.
  • ISPF member statistic is updated.
  • Reformat COMMAND statement

25
SmartJCL 3.0
Other new functions and enhancements (4)
  • SmartJCL REXX Interface (SRI)
  • New function SRIInclude to avoid copies of same
    code
  • New function SRIChangeRef to adapt references to
    changed stepnames
  • Same line numbers in SRI messages as in trace.

26
Any Questions about SmartJCL?
Info_at_Horizont-it.com
27
SmartJCL V2R4
SmartJCL V2R4 is available since Q3 2008. It has
following major new functions
  • Support for z/OS 1.9
  • OS version/release can be set by parameter OSVER
  • Checks new SORT parameters (from z/OS 1.4 to z/OS
    1.9)
  • DB2 Subsystem Check
  • Check if specified DB2 subsystems are defined and
    active
  • New parametersDB2-SUBSYS-CHECK
    DB2SCY/NDB2-GROUPdb2_group_nameDB2-SUBSYSsubs
    ys_name
  • Allow default load library for "exist program"
    check
  • New parameter DEFAULT-LOADLIB
    DLLP390A.JCK.DEV.LOAD

28
SmartJCL V2R4
  • Read PROCLIBS directly from JES
  • Instead of specifying PROCLIBS through
    installation, the needed information is taken
    directly from JES
  • Only for JES2 and JES3 Global, not JES3 Local
  • New parameterREAD-SYSTEM-PROCLIB RSPY/N
  • Better adaption to customer environment
  • Set priority of parameters versus DD statements
    for further datasets (JCKMSGI, JCKMSXI, PWDIN)
  • New parameterJCK-FILE JCK-FILEPARM PARM OR
    DD
  • Support concatenated parameter members and more
    call paramters for edit macros. Reduces the need
    to create more OPZXPARM members and edit macros.

29
SmartJCL V2R4
  • Better performance
  • JCK macro reacts faster
  • Optimized catalog check under JES3 -gt less CPU
    time
  • Improved ISPF dialog
  • See next slides

30
Improved ISPF Dialog
The main panel is an entry point to all other
dialogs ...
...and it informs about available edit macros.
31
Specify Joblibs and Select Members
Specify joblibs and select members ...
32
Select Members
Type JCK to start the check
Select members by typing S in front of the
member, or specify a sequence of jobs by using
numbers, e.g. 1, 2, 3
33
Check Members
the selected members are checked sequentially,
every job that has an error is displayed in the
editor
34
Display Results
...at the end the selection list shows you the
resulting return codes.
35
Foreground Mode
Another option is to check the selected members
in FOREground...
36
Foreground Mode - Summary
... the summary is displayed right after the
check
..from here you can access directly messages,
details, and sysprint
37
Batch Mode
BATch checks the selected members in batch mode
38
Batch Mode Generated Job
... simply submit the generated job
39
You want to see a preview of V3R0?
40
SmartJCL V2R3
SmartJCL V2R3 is available since June 2007. It
has following major new functions
  • Easier installation
  • SVC is no longer necessary for third party RACF
    check
  • Firewall friendly Remote Check (no call back)
  • TWS variable substitution
  • Use temporary TWS controller, no impact to
    production TWS controller
  • Support for TWS 8.3
  • REXX interface
  • Access to overriding parameters and utility
    statements
  • New check parameters

41
SmartJCL Easier Installation
SmartJCL 2.2 used a SVC for authorization.
Disadvantages were
  • SVC installation required system programming
  • Assembler coding
  • SVC has to be loaded
  • Therefore SVC was not accepted at many sites

42
SmartJCL Easier Installation
Now the TSO Service Facility is used.
  • Parmlib member IKJTSOnn has to be
    modifiedAUTHTSF 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 has to be activatedSET
    IKJTSOnn

43
New IP Communication
NEW
OLD
ROTJSHD
TP Program
ROTJSHD
TP Program
ROTJSHD
Port 1
Port 1
Port 1
Port 2
Server program uses the original line to send
data to the client. That avoids firewall problems
JCL inISPF Editor
JCL inISPF Editor
44
SmartJCL Simulation TWS
An additional TWS controller is used for JCL
tailoring (variable substitution). Advantages are
  • Production controller is not influenced
  • No performance implications
  • No locks on JS file
  • Highly automated
  • Necessary files are copied from production
    controller
  • Controller is started and stopped by SmartJCL
    jobs
  • TWS 8.3 ready

45
SmartJCL Simulation TWS
46
SmartJCL - TWS
Built and start Sim TWS.Create LTP, CP.Select
Jobs
Simulate JobsRemove Sim TWS
Start JCL Check
47
SmartJCL REXX interface
New REXX interface functions for ....
  • Overriding JCL statements and parameters
  • Allows access to JCL statements used at a
    procedure call before replacing the procedure
    call
  • Utilities
  • Allows access to utility statements and
    parameters
  • Reformat modified statements only
  • Avoids problems with undesired modifications in
    JCL statements that are not modified

48
SmartJCL New Parameter
New parameters for ....
  • JCL Check
  • ACF2 //LOGONID
  • Required parameters (JOB-ACCOUNTING and
    JOB-PGMRS-NAME)
  • Customer specific defaults (IDCAMS left and right
    margin)
  • Output
  • Line number for SRI messages (SRI-MSGLNNUM)
  • Customer specific start/stop messages (STARTM
    and STOPM)
  • Output only jobs with messages (CORRECT_JOB_OUTPUT
    )
  • Suppress messages (MEMBER)
  • Access Check
  • Customer specific profile name for access check
    (RACF-AUDIT-ENTITY)
  • Defaults for minimal access rights

49
Do you have any questions about SmartJCL 2.3?
Info_at_Horizont-it.com
50
SmartJCL V2R2
SmartJCL V2R2 is available since July 2006. It
has following major new functions
  • Improved performance (JCK edit macro)
  • RACF Check with any userid under TSO
  • Extended TWS variable substitution
  • Dialog within OSJ edit macro can be adapted
  • Read system configuration
  • Migrate parameters while upgrading from previous
    SmartJCL release

51
SmartJCL - Performance
The performance is drastically improved for edit
macros JCK and OSJ JCK.
  • New macros are 50-80 faster as old macros
  • Dynamic instead of static allocation
  • Multiple allocations are avoided
  • new parameters in JCKKPARM are replacing DD
    statements
  • Proclibs are allocated only if needed

52
SmartJCL - Performance
53
SmartJCL - Check with any user
The "RACF Access Check" was introduced with
SmartJCL V2R1. It allows to check the JCL with
alternative users.
  • V2R1
  • Available only in In batch mode
  • In TSO mode the RACF check was only possible with
    the original userid
  • V2R2
  • Now available in TSO mode
  • Security Exit to allow APF authorisation by SVC
  • requires system programming, we are still looking
    for alternatives

54
SmartJCL - Extended TWS Simulation
SmartJCl allows to simulate TWS variable
substitution.
  • Up to now SmartJCL offers two different ways to
    simulate variable substitution
  • ACTIONSIMULATE, PIF Request JCLPREPA
  • To slow for large job amounts ( gt 5000)
  • Slows down controller performance, blocks JS file
  • ACTIONSUBSTITUTE, HORIZONT's own substitution
  • very fast, needs no TWS resources (only AD VSAM
    read access)
  • cannot substitute all types of variables, e.g.
    SETVAR
  • Upshot Variable substitution is complete (and
    slow), or fast (and incomplete)!

55
SmartJCL - Extended TWS Simulation
New solution in SmartJCL V2R2 Combine both ways!
  • Perform HORIZONT's substitution first
  • Check if all variables are substituted?
  • Yes Ok, JCL is done
  • No Start second substitution with PIF request
    JCLPREPA
  • Good compromis, but depends on customers
    environment
  • Worst case Second step is always required!

56
SmartJCL - Extended TWS Simulation
New parameters (old parameters are still valid)
  • ACTIONPIFSIM
  • Old ACTIONSIMULATE
  • ACTIONHORIZONTSIM
  • Old ACTIONSUBSTITUTE
  • ACTIONSIM
  • New Combined Substitution
  • Only available in batch mode

57
SmartJCL - Extended TWS Simulation
Example OADID is not replaced by HORIZONTSIM
...
... but in the second step by JCLPREPA
58
SmartJCL - OSJ Edit Macro
An exampleThe user wants to check the JCL that
is shown in the editor (and not the JCL from the
JS file)
In this case the user must go through several
panels.
59
SmartJCL - OSJ Edit Macro
SP
...type "SP" to specify additional parameters...
60
SmartJCL - OSJ Edit Macro
...change parameter!
61
SmartJCL - OSJ Edit Macro
The dialog can be tailored to the needs of the
users by modifying a parameter file
  • Modify dialog defaults
  • Specify default behave

62
SmartJCL - OSJ Edit Macro
New parameter file to contol behave of the dialog
63
SmartJCL - Read System Configuration
  • Up to now it was necessary to specify system
    specific parameters
  • Smart JCL 2.2 detects automatically
  • SMS class (up to now job JCKJSMS was needed)
  • Master catalog
  • MVS version

64
SmartJCL - Parameter
The parameters in member JCKKPARM are migrated
  • Old (migrated) and new (inserted) parameters are
    marked.
  • Only new parameter have to be adapted.

65
SmartJCL - Parameter
Automatic migration during Installation
66
Do you have any questions about SmartJCL 2.2?
Info_at_Horizont-it.com
67
V2R1 Whats New
V2R1 is available since May 2005. Major
enhancements are
  • "Remote Check"
  • Check JCL that is stored on Produkction directly
    in your test environment
  • "Change Facility"
  • Simply Statements to change JCL statements
  • "Access Check"
  • Check file access authorisation
  • ...and much more...

68
V2R1 Remote Check
The Remote Check enables you to check JCL on
another system. Advantages are
  • Simplifies checking JCL from the test system
    against the production libraries on the
    production system.
  • Errors can be corrected easily because they are
    found before the JCL is transferred to the
    production system.
  • It also avoids to transfer JCL manually to the
    remote system, logon to that system and check it
    locally at this system.
  • Uses HORIZONTs standard TCP/IP architecture
  • Simple TCP/IP protocol (no Framework, no APPC)
  • Easy to install

69
V2R1 Remote Check
The Remote Check can be used in two ways
  • The ISPF dialog
  • The ISPF dialog allows you to select jobs by
    name, by range or by JOBLIST.
  • Edit macro
  • This option is useful for checking new or
    modified jobs immediately before a manual submit.

70
V2R1 Remote Check
-------------------------- SmartJCL Remote JCL
Check -------------- Command gt


Primary commands
(top)
OPT Browse TCP/IP parameters

JOBLIST Edit joblist
JOBLIB Edit
joblibraries


Select one of the following options and press
ENTER. Member
gt ________ - ________
Specify one member (left)
to check a single job, or specify
two members (from member-to member) to check
a range of members. Joblist gt
P390G.JCK.JOBLIST___________________________
If you do not specify any
member, the Joblist will be used for
selection.
Joblibs gt
P390A.OPG.CNTL______________________________
Submit gt E S submit job, E
edit before submit

Seclect a valid server name
with S
_ CPU1
_ CPU2


Bottom of data


Remote Check ISPF Dialog
71
V2R1 Remote Check
EDIT P390A.OPG.CNTL(TESTJCK) -
01.00 Command gt JCK SRVCPU1
Scroll gt CSR
Top of Data 000001
//P390KX JOB 'SMARTJCL',000002 //
MSGCLASST, 000002 //
NOTIFYSYSUID, 000004 //
REGION6M 000005 //
000006 //ADUNL EXEC
PGMOPUIAD4, 000007 //
PARM'/PWRFKEFZR', 000008 //
REGION4M 000009 //SYSPRINT DD SYSOUT
000010 //OPUTEXT DD DSNOPUTEXT, 000011 //
DISP(NEW,PASS), 000012 //
SPACE(TRK,(1,1)), 000013 //
DCB(RECFMFB,LRECL80,BLKSIZE80), 000014 //
UNITSYSDA 000015 //OPUDAT DD
DSNOPUDAT1, 000016 //
DISP(NEW,PASS), 000017 //
SPACE(CYL,(1,1)), 000018 //
DCB(RECFMFB,LRECL406,BLKSIZE16240)
Specify Target CPU
------- SmartJCL - Remote check -------

Enter password _________
Specify password
72
V2R1 Remote Check
EDIT P390A.OPG.CNTL(TESTJCK) -
01.00 Command gt JCK SRVCPU1
Scroll gt CSR
Top of Data NOTE
MESSAGE SUMMARY AND COUNTS E00001, W00000,
I00000NOTE LABEL MSG.NO. ERROR MESSAGE
NOTE
------ -------- ----------------------------------
-------- NOTE .HAAA JCK0440E PROGRAM OPUIAD4
NOT FOUND ON SEARCH PATH 000001 //P390KX JOB
'SMARTJCL',000002 // MSGCLASST,
000002 //
NOTIFYSYSUID, 000004 // REGION6M
000005 //
000006 //ADUNL EXEC PGMOPUIAD4,
000007 // PARM'/PWRFKEFZR', 00
0008 // REGION4M 000009
//SYSPRINT DD SYSOUT 000010 //OPUTEXT DD
DSNOPUTEXT, 000011 //
DISP(NEW,PASS), 000012 //
SPACE(TRK,(1,1)), 000013 //
DCB(RECFMFB,LRECL80,BLKSIZE80), 000014 //
UNITSYSDA
The JCL is physically validated at the production
system, but the results are shown in the editor
on the test system
73
V2R1 Remote Check Overview
PROD
TEST
TCP/IP
//DD SYSPRINT
TCP/IP
SmartJCL
Procedures
DSN2
Catalog-Check
DSN3
74
V2R1 Change Facility
In addition to the REXX interface SmartJCL has a
comfortable new change function.
  • No coding
  • In opposite to the REXX interface no coding is
    needed.
  • Simply use CHANGE, DELETE and INSERT commands in
    connection with wildcards.
  • Applicable for
  • JCL statements and JCL parameter
  • Comments (//)
  • In stream data
  • More complexe logic requires REXX
  • The Change Facility is not a replacement for zthe
    REXX interface, but an addition.

75
V2R1 Change Facility
In addition to the REXX Interface SmartJCL has an
integrated change facility. It allows you to
perform simple changes fast and easily. Some
examples
  • CHANGE PARMDSN,VALUEPROD,NEWVALTEST
  • DELETE PARMUNIT
  • DELETE JOBABC,PGMIDCAMS,PARMUNIT,VALUETAPE4

76
V2R1 Access Check 1
  • Check file access authorisation
  • For all files that are used in DD statement and
    IDCAM commands the file access authorisation is
    checked.
  • The needed rights (read, udate,alter) is taken
    from the DISP parameter or IDCAMS command.
  • The check can also be done for any other user.

77
V2R1 Access Check 2
  • User sequence
  • The JCL check is performed with the Userid that
    is specified in the jobcard.
  • If no Userid is specified in the jobcard, it is
    taken from the ACUID parameter.
  • If the ACUID parameter is missing, the Userid of
    the job submitter is taken into account.

78
V2R1 Access Check 3
  • RACF-Audit Profil
  • Since earlier versions SmartJCL has a parameter
    to specify if access violations should be written
    to the SYSLOG (RAYN)
  • The parameter "RACF-AUDIT RAN" is protected by
    profile 'HORIZONT.SMARTJCL.AUTHCHK.NOLOG' in
    class FACILITY. The user must have READ
    authorization for this profile to accept the RAN
    setting. If the user has lower access rights than
    READ, the setting RAN is ignored and changed to
    RAY

79
V2R1 More enhancements 1
Additional enhancements
  • Validation of Catalog Entries
  • Checks if a dataset really exists
  • ASA
  • ASA characters are written to file JCKDTLO
    (optional).
  • SmartJCL messages can be replaced
  • The SmartJCL message number, return code and text
    can be replaced.

80
V2R1 More enhancements 2
  • Procedures
  • Called procedures are inserted after the EXEC
    PROC statement as "NOTE" lines.
  • The "NOTE" lines show JCL overrides and
    replaced symbolic parameters.
  • Validate fields
  • Check the accounting information against a list
    of valid values.
  • Check the SCHENV parameter against a list of
    valid values.
  • Limit error messages
  • Abort check of a JCL member if a limit of
    messages is reached.

81
V2R1 More enhancements 3
  • New header and footer for JCKDTLO and JCKSUMO
  • The header contains the program version and the
    start date and time of the check.
  • The footer contains a statistic about JCL errors.
  • Format of JCKSUMO
  • Format of the file JCKSUMO is now identical for
    JCKJCLI and JUPJInnn.
  • Suppress job output in JCKDTLO
  • Jobs without errors are not written to JCKDTLO
    (optional).

82
Any Questions about SmartJCL 2.1?
Info_at_Horizont-it.com
File Edit Confirm Menu Utilities Compilers
Test Help --------------------------------------
------------------------------------- EDIT
P390H.SPFTEMP1.CNTL
Columns 00001 00072 Command gt JCK
Scroll gt 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',MSGCLASST, 000002 //
NOTIFYSYSUID,REGION6M NOTE --
NOTIFYP390H,REGION6M 000003 // 000004
//
000005 // UNLOAD OPC-VSAM
DSNP390A.OPCESA.V2R0M0.AD
000006 //
000007 //ADUNL
EXEC PGMOPUIAD5,
.HAAB // PARM('DEP(0),ER(0)/'

NOTE JUP0008E 00, ,00009,INVALID JCL
STATEMENT ' NOTE JCK0002E 00,
,00000,INVALID STMT ' IN ROUTINE JCKJOB 000009
// 'OIN PCOS2 ODN EXY PWRNCECLI')

File Edit Confirm Menu Utilities Compilers
Test Help --------------------------
--------------------------------------------
EDIT P390A.HUP.PLI.DEV(C1) - 01.02
Columns 000 Command gt
Scroll
Top of Data
NOTEgt SmartJCL
JCL XREF LISTING NOTEgt -------------------------
-------------------------------------- 000003
//JCLCHECK JOB ,'HORIZONT/DIRNBERGER',MSGCLASST,C
LASSA, 000004 // NOTIFYSYSUID
NOTEgt
JCK1234I JOB FOUND IN APPLICATION STTMONTH01
NOTEgt JCK1234I PREDECESSOR
STTMONTH00 JCLCHK01 NOTEgt
JCK1234I PREDECESSOR STTMONTH00 JCLCHK02
NOTEgt JCK1234I SUCCESSOR -
NOTEgt
JCK1234I SPECRES INITA
NOTEgt JCK1234I SPECRES STT
000011 //

000012 //PROCS JCLLIB ORDER(P390A.ROSE.PL
I.CNTL) 000013 //

000014 //DEL EXEC PGMIDCAMS
000015 //SYSPRINT DD

000016 DEL P390A.STT.DATA.VALCURVE
000017 //
-------------------------------- SmartJCL
------------------------------- Command gt
__________________________________________________
______

Command ENTER Start RES Reset parameters
Selection
Jobname
gt ________ Operation Number gt ___
Application ID gt MYAPP_______
Workstation ID gt ____ From
gt 20010601 0600 Group
gt ________ To gt
20010701 0559 Owner gt
____________ YYYYMMDD
HHMM Simulation
Simulation
Type gt FULL___ OPC Subsystem gt
OP6C Use JCL from a private JCL
Library for Simulation gt N (Y/N)

Output
Datasets
SmartJCL Output DSN gt
P390G.HCLCHECK.HCL__________________________
SmartJCL Sysprint gt P390G.HCLCHECK.SYSPRI
NT_____________________ EQQMLOG
gt P390G.HCLCHECK.EQQMLOG_________________
_____
83
V2R0 Release Notes
V2R0 is available since April 2007. It has
following major new functions
  • REXX Interface
  • Check user standards
  • Perform mass updates
  • Reformat as an Edit Macro
  • Integration of Control-M Auto-Edit function
  • Checking procedures
  • Check for existing DB2/IMS programs
  • Utilities (DD-Names)
  • Generates commands to recall migrated datasets

84
V2R0 - REXX Interface
REXX is flexible, available and well known. A
Function Package allows to access JCL
structures from SmartJCL.
  • All JCL statements can be accessed for
    verification and modification
  • The Function Package contains special functions
    for JCL handling, e.g. Qualifier("USER.PROD.TYPE"
    , LAST)"TYPE
  • The Function Package contains SET functions to
    delete, insert or modify all statements, even
    complete steps

85
V2R0 - REXX Interface
File Edit Confirm Menu Utilities Compilers
Test Help ---------------------------
-------------------------------------- EDIT
P390A.JCK.SCL(XMP1)
01.02 COMMAND gt
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 with SmartJCL Function Package
86
V2R0 - REXX Interface
Modification
Member1
REXX
//DD SYSPRINT
Member2
REXX
MemberX
etc.
Verification
87
V2R0 Reformat Edit Macro
EDIT P390A.OPG.CNTL(TESTJCK) - 01.00
Columns 00001 00072 Command gt
Scroll gt CSR
Top of Data
000001 //P390KX JOB
,'SMARTJCL',MSGCLASST,
000002 // NOTIFYSYSUID,REGION6M
000003 //
000004 //ADUNL EXEC PGMOPUIAD4,
000005 // PARM'/PWRFKEFZR',REGION4M
000006 //SYSPRINT DD SYSOUT
000007 //OPUTEXT DD DISP(NEW,PASS),DSNOPUTEX
T,000008 // SPACE(TRK,(1,1)), 000009 //
DCB(RECFMFB,LRECL80,BLKSIZE80),UNITSYSDA
000010 //OPUDAT DD DISP(NEW,PASS),DSNOP
UDAT1, 000011 //
UNITSYSDA,SPACE(CYL,(1,1)),
000012 // DCB(RECFMFB,LRECL406,BLKSIZE
16240) 000013 //

Bottom of Data
JREF
Type JREF
88
V2R0 Reformat Edit Macro
EDIT P390A.OPG.CNTL(TESTJCK) - 01.00
REFORMAT WAS SUCCESSFUL Command gt
Scroll gt CSR
Top of Data
000001 //P390KX JOB
'SMARTJCL',000002 // MSGCLASST,
000002 //
NOTIFYSYSUID, 000004 // REGION6M
000005 //
000006 //ADUNL EXEC PGMOPUIAD4,
000007 // PARM'/PWRFKEFZR', 00
0008 // REGION4M 000009
//SYSPRINT DD SYSOUT 000010 //OPUTEXT DD
DSNOPUTEXT, 000011 //
DISP(NEW,PASS), 000012 //
SPACE(TRK,(1,1)), 000013 //
DCB(RECFMFB,LRECL80,BLKSIZE80), 000014 //
UNITSYSDA 000015 //OPUDAT DD
DSNOPUDAT1, 000016 //
DISP(NEW,PASS), 000017 //
SPACE(CYL,(1,1)), 000018 //
DCB(RECFMFB,LRECL406,BLKSIZE16240)
to get reformatted JCL that is much more easy to
read!
89
V2R0 - Utilities
File Edit Confirm Menu Utilities Compilers
Test Help ----------------------------
-------------------------------------- EDIT
P390A.HUP.PLI.DEV(C1) - 01.02 COMMAND gt

Top of Data
000001 //E5MS130S JOB
(ACCOUNT),'HORIZONT',CLASS3,MSGCLASST
000002 //
000003 //DUMP EXEC
PGMICEMAN,PARM'ABEND,HIPRMAX0' 000004
//SORTIN DD DSNP390C.TEMP.SMF2.,DISPSHR
000005 //SYSOUT DD SYSOUT
000006 //SYSIN DD
000007
SORT FIELDSCOPY,SKIPREX770000,STOPAFT785000
NOTE JCKxxxxE 00,E5MS130S,SORTOUT DD
STATEMENT MISSING
Bottom of Data
  • IEBGENER
  • IEBCOPY
  • IDCAMS
  • SORT

Check DD names and syntax of utility programs
90
V2R0 - DB2 Programs
File Edit Confirm Menu Utilities Compilers
Test Help ---------------------------
---------------------------------- EDIT
P390A.HUP.PLI.DEV(C1) - 01.02 COMMAND
gt
Top of Data
NOTE P01//DB2TSO PROC

NOTE P01//DB2TSO EXEC PGMIKJEFT01,REGION4
000K NOTE
P01//STEPLIB DD DSNDSN510.SDSNLOAD,
NOTE P01//
DISPSHR
NOTE P01//SYSPRINT DD SYSOUT
NOTE
P01//SYSTSPRT DD SYSOUT
NOTE P01//SYSUDUMP DD
SYSOUT
NOTE P01//SYSDBOUT DD SYSOUT
NOTE
P01//SYSOUT DD SYSOUT
NOTE P01/SYSTSIN DD

NOTE P01DSN SYSTEM(DSN1)
NOTE
P01RUN PROGRAM(XXRICPTS) PLAN(XXRICPTS)
NOTE P01PARM('DEP(0),ER(
0)/DB2SSIDDSN1')
NOTE P01LIBRARY('P390A.XINFO.LOAD')
NOTE
JCKxxxxE 00,XXRJCPT1,00000,PROGRAM XXRICPTS NOT
FOUND NOTE P01/CPTTO DD
DSNP390A.XINFO.DATA.TABLES,
Check if DB2 Program exists
91
V2R0 IMS Programs
File Edit Confirm Menu Utilities Compilers
Test Help ----------------------------
--------------------------------- EDIT
P390A.HUP.PLI.DEV(C1) - 01.02 COMMAND
gt
Top of Data
000001 //IMS JOB
(BVAV90100000SAHG0N), 000002 //
MSGCLASSX,CLASSR
000003 /JOBPARM SANY,LINECT0
000004
//
000005 //BAH04029 ---- JOBDOK
-------------------------- 000006
//
000007 //G EXEC PGMDFSRRC00,REGION
4200K, .HAAA //
PARM'DLI,A387,BVAHLES,,0000,,0,,N,,,IMS1,,Y,N,IRL
M' MSGgt JCK0440E PROGRAM DFSRRC00
NOT FOUND ON SEARCH PATH
000009 // ! ! !!!! !
!_______MONITOR 000010 //
PROGRAMM_! ! !!!! !__________SRCH
000011 // PSBNAME_______!
!!!!_____________RST
000012 // SPIE_________________!!!____________
__EXCPVR 000013 //
TEST__________________!
.HAAB //STEPLIB DD
DSNRZR.IMS.USERDC,DISPSHR
.HAAC // DD DSNRZR.IMS.RESLIB,DI
SPSHR
Check if IMS program exists
92
V2R0 Recall Commands
File Edit Confirm Menu Utilities Compilers
Test Help ---------------------------
---------------------------------- EDIT
P390A.JCK.JCKMIG0 - 01.00 COMMAND gt

Top of Data
HRECALL
'P390A.JCK.DATA.MIGGDG.G0001V00'/ MIGGDG00
MIGRAT / HRECALL 'P390A.JCK.DATA.MIGGDG.G0002
V00'/ MIGGDG00 MIGRAT / HRECALL
'P390A.JCK.DATA.MIGGDG.G0003V00'/ MIGGDG00
MIGRAT / HRECALL 'P390A.JCK.DATA.MIGGDG.G0004
V00'/ MIGGDG00 MIGRAT / HRECALL
'P390A.JCK.DATA.MIGGDG.G0005V00'/ MIGGDG00
MIGRAT / HRECALL 'P390A.JCK.DATA.MIG.DS02'
/ MIGGDG01 MIGRAT / HRECALL
'P390A.JUP.DATA.KSDSTEST' / MIGVSAM0
MIGRAT / HRECALL 'P390A.JCK.DATA.MIG.DS04'
/ MIG01 MIGRAT / HRECALL
'P390A.JCK.DATA.MIG.DS05' / MIG01
MIGRAT / HRECALL 'P390A.JUP.DATA.KSDSTEST.DAT
A' / MIG06 MIGRAT /
The names of migrated data sets are written to
file JCKMIGO
93
Any Questions about SmartJCL 2.0?
Info_at_Horizont-it.com
File Edit Confirm Menu Utilities Compilers
Test Help --------------------------------------
------------------------------------- EDIT
P390H.SPFTEMP1.CNTL
Columns 00001 00072 Command gt JCK
Scroll gt 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',MSGCLASST, 000002 //
NOTIFYSYSUID,REGION6M NOTE --
NOTIFYP390H,REGION6M 000003 // 000004
//
000005 // UNLOAD OPC-VSAM
DSNP390A.OPCESA.V2R0M0.AD
000006 //
000007 //ADUNL
EXEC PGMOPUIAD5,
.HAAB // PARM('DEP(0),ER(0)/'

NOTE JUP0008E 00, ,00009,INVALID JCL
STATEMENT ' NOTE JCK0002E 00,
,00000,INVALID STMT ' IN ROUTINE JCKJOB 000009
// 'OIN PCOS2 ODN EXY PWRNCECLI')

File Edit Confirm Menu Utilities Compilers
Test Help --------------------------
--------------------------------------------
EDIT P390A.HUP.PLI.DEV(C1) - 01.02
Columns 000 Command gt
Scroll
Top of Data
NOTEgt SmartJCL
JCL XREF LISTING NOTEgt -------------------------
-------------------------------------- 000003
//JCLCHECK JOB ,'HORIZONT/DIRNBERGER',MSGCLASST,C
LASSA, 000004 // NOTIFYSYSUID
NOTEgt
JCK1234I JOB FOUND IN APPLICATION STTMONTH01
NOTEgt JCK1234I PREDECESSOR
STTMONTH00 JCLCHK01 NOTEgt
JCK1234I PREDECESSOR STTMONTH00 JCLCHK02
NOTEgt JCK1234I SUCCESSOR -
NOTEgt
JCK1234I SPECRES INITA
NOTEgt JCK1234I SPECRES STT
000011 //

000012 //PROCS JCLLIB ORDER(P390A.ROSE.PL
I.CNTL) 000013 //

000014 //DEL EXEC PGMIDCAMS
000015 //SYSPRINT DD

000016 DEL P390A.STT.DATA.VALCURVE
000017 //
-------------------------------- SmartJCL
------------------------------- Command gt
__________________________________________________
______

Command ENTER Start RES Reset parameters
Selection
Jobname
gt ________ Operation Number gt ___
Application ID gt MYAPP_______
Workstation ID gt ____ From
gt 20010601 0600 Group
gt ________ To gt
20010701 0559 Owner gt
____________ YYYYMMDD
HHMM Simulation
Simulation
Type gt FULL___ OPC Subsystem gt
OP6C Use JCL from a private JCL
Library for Simulation gt N (Y/N)

Output
Datasets
SmartJCL Output DSN gt
P390G.HCLCHECK.HCL__________________________
SmartJCL Sysprint gt P390G.HCLCHECK.SYSPRI
NT_____________________ EQQMLOG
gt P390G.HCLCHECK.EQQMLOG_________________
_____
94
V1R1 Release Notes
SmartJCL V1R1 is available since June 2003. It
has following major new functions
  • Exclude datasets from catalog check
  • Include/exclude list for jobs (Batch Mode)
  • Individual control of each message
  • Display TWS data
  • Reformat (jobs and procedures)
  • Control-M variable substitution
  • Messages are written to several output files

95
V1R1 - Reformat
EDIT P390A.OPG.CNTL(TESTJCK) - 01.00
Columns 00001 00072 Command gt
Scroll gt CSR
Top of Data
000001 //P390KX JOB
,'SMARTJCL',MSGCLASST,
000002 // NOTIFYSYSUID,REGION6M
000003 //
000004 //ADUNL EXEC PGMOPUIAD4,
000005 // PARM'/PWRFKEFZR',REGION4M
000006 //SYSPRINT DD SYSOUT
000007 //OPUTEXT DD DISP(NEW,PASS),DSNOPUTEX
T,000008 // SPACE(TRK,(1,1)), 000009 //
DCB(RECFMFB,LRECL80,BLKSIZE80),UNITSYSDA
000010 //OPUDAT DD DISP(NEW,PASS),DSNOP
UDAT1, 000011 //
UNITSYSDA,SPACE(CYL,(1,1)),
000012 // DCB(RECFMFB,LRECL406,BLKSIZE
16240) 000013 //

Bottom of Data
Unformatted JCL is difficult to read
96
V1R1 - Reformat
  • Reformatted JCL is
  • easier to read
  • helps to avoid mistakes
  • reduces costs

EDIT P390A.OPG.CNTL(TESTJCK) - 01.00
Columns 00001 00072 Command gt
Scroll gt CSR
Top of Data
000001 //P390KX JOB
'SMARTJCL',000002 // MSGCLASST,
000002 //
NOTIFYSYSUID, 000004 // REGION6M
000005 //
000006 //ADUNL EXEC PGMOPUIAD4,
000007 // PARM'/PWRFKEFZR', 00
0008 // REGION4M 000009
//SYSPRINT DD SYSOUT 000010 //OPUTEXT DD
DSNOPUTEXT, 000011 //
DISP(NEW,PASS), 000012 //
SPACE(TRK,(1,1)), 000013 //
DCB(RECFMFB,LRECL80,BLKSIZE80), 000014 //
UNITSYSDA 000015 //OPUDAT DD
DSNOPUDAT1, 000016 //
DISP(NEW,PASS), 000017 //
SPACE(CYL,(1,1)), 000018 //
DCB(RECFMFB,LRECL406,BLKSIZE16240)
97
V1R1 - Reformat
The reformat function can be adapted to users
requirements and standards, e.g.
  • The positions of keyword, value and continuation
    line can be specified individually for each JCL
    parameter
  • Flexible handling of comments
  • Reformats IF/ELSE statements

98
V1R1 - Reformat
-------------------------- SmartJCL
Reformat--------------------- Command gt



Primary commands (top)
REF Edit
reformat parameters
JOBLIST Edit joblist

JOBLIB Edit joblibraries


Select one of the following options
and press ENTER.

Member gt RFMTE1_ -
________
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
gt ____________________________________________
If you do not specify
any member, the Joblist is used for
selection.


Joblibs gt P390G.SMARTJCL.JOBLIBS_____________
_________

Submit gt E S submit job, E edit
before submit
The ISPF Dialog for the reformat function
99
V1R1 - TWS Information
File Edit Confirm Menu Utilities Compilers
Test Help ----------------------------
------------------------------------- EDIT
P390A.HUP.PLI.DEV(C1) - 01.02 COMMAND gt

Top of Data
MSGgt PREDECESSORS

MSGgt APPLICATION OPNO JOBNAME
MSGgt
------------------------------
MSGgt XINFO22
61 XXRJCM2
MSGgt XINFO22 60 XXRJCM1
MSGgt XINFO22
1
MSGgt SUCCESSORS

MSGgt APPLICATION OPNO JOBNAME
MSGgt
------------------------------
MSGgt XINFO22
64 XXRJDBLC
MSGgt SPECIAL RESOURCES
MSGgt
--------------------------------------------
MSGgt DSN1

NOTE JCL PREPARED BY
SMARTJCL/SIMJCL NOTE
END OF PREPARED JCL 000001
//XXRJCM3 JOB (ACCOUNT),'HORIZONT',MSGCLASST,CLA
SSA,
Displaying TWS-Information in the JCL!
100
V1R1 Separated Output
Display Filter View Print Options Help
--------------------
---------------------------------------------
SDSF OUTPUT DISPLAY JCKJPS2 JOB03904 DSID 105
LINE 0 CO COMMAND INPUT gt
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, DSN 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
  • The messages are written to separate files
  • JCKSUMO (Summary)
  • JCKDTLO (Detailed)

SUMMARYscroll to the left
101
V1R1 - Output, e.g. Summary
Display Filter View Print Options Help
--------------------
---------------------------------------------
SDSF OUTPUT DISPLAY JCKJPS2 JOB03904 DSID 105
LINE 0 CO COMMAND INPUT gt
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
only most interesting information
102
V1R1 - Separate Output, e.g. Detaillied
Display Filter View Print Options Help
--------------------
---------------------------------------------
SDSF OUTPUT DISPLAY JCKJPS2 JOB03904 DSID 105
LINE 0 CO COMMAND INPUT gt
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),CL
ASSP,MSGCLASST, 000002 //
TIME1440,REGION8M,TYPRUNSCAN
.HAAA JCK0416E JOB NAME HAS TO BE EQUAL WITH
MEMBER NAME
All information, including the JCL
103
V1R1 - Control-M Interface
---------------------- CTM/SimJCL Startpanel
--------------------- Command gt


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 Interface Mainpanel
104
V1R1 - Control-M Interface
------------------ CTM/SimJCL - Create Joblist
----------------- Command gt


top RESET
restore default values, JC change jobcards
Selection

Table gt ____________________
Application
gt ____________________
Group gt
____________________
Jobname gt ________
Owner
gt ______________________________


Schedule Library
DSN
gt DATA.CTM.MAN.SCHEDULE___________________

Output
files
Joblist gt
P390G.MJV.SELJOBS_______________________
Variablelist gt P390G.MJV.SETVAR_______
_________________

Submit gt S S submit
job, E edit before submit


Select Jobs by using Control-M fields
105
Any Questions about SmartJCL?
Info_at_Horizont-it.com
File Edit Confirm Menu Utilities Compilers
Test Help --------------------------------------
------------------------------------- EDIT
P390H.SPFTEMP1.CNTL
Columns 00001 00072 Command gt JCK
Scroll gt 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',MSGCLASST, 000002 //
NOTIFYSYSUID,REGION6M NOTE --
NOTIFYP390H,REGION6M 000003 // 000004
//
000005 // UNLOAD OPC-VSAM
DSNP390A.OPCESA.V2R0M0.AD
000006 //
000007 //ADUNL
EXEC PGMOPUIAD5,
.HAAB // PARM('DEP(0),ER(0)/'

NOTE JUP0008E 00, ,00009,INVALID JCL
STATEMENT ' NOTE JCK0002E 00,
,00000,INVALID STMT ' IN ROUTINE JCKJOB 000009
// 'OIN PCOS2 ODN EXY PWRNCECLI')

File Edit Confirm Menu Utilities Compilers
Test Help --------------------------
--------------------------------------------
EDIT P390A.HUP.PLI.D
Write a Comment
User Comments (0)
About PowerShow.com