Topic 1. Introduction
Topic 1. Introduction
Introduction
Topic Objectives
After attending this topic the student should be able to desire the need of
JCL and to state the different processes in JES
1
WHAT IS JCL ?
L ANGUAGE WE USE TO
2
ACCOUNTING
OPERATING
PROGRAM ? SYSTEM HARDWARE
DATA
PROGRAM
SETS
1-2-3
3
JCL STATEMENT
// JOB
// EXEC
// DD
4
JCL STATEMENT HISTORY
DD
DD
EDIT-EDUCBE05.JOBLIB.CNTL(TESTJOB)-01.00--COLS007078
DD
EXEC COMMAND----> SCROLL--> PAGE
JOB
00100 // JOB
00200 // EXEC
00300 // DD
00400 // DD
00500 // DD
5
JES PROCESSORS
SYS1.PROCLIB
PRINT/
INPUT CONVERSION EXECUTION OUTPUT PURGE
PUNCH
SPOOL
RJE PRINTER
NJE
INTERNAL
INPUT JOB
READER OUTPUT
QUEUE QUEUE
QUEUES CARD PUNCH
6 RJE
NJE
JOB SELECTION
CHECK POINT
JOB QUEUE
MVS JES INIT 1 INIT 2 INIT 3
JOB
CLASSES JOB JOB
JOB CLASS A,Z,B,C
CLASSES CLASSES
14 Z S,B,A C,Z
145 C
146 Z
1078 T
2001 A SPOOL
2002 B
CLASS A
2001
CLASS B
2002
CLASS C
145
7
PROGRAM MANAGEMENT - SEARCH SEQUENCE
JOBLIB - STEPLIB
SYS1.LINKLIB
(LNKLST xx)
FIXED LINK
PACK AREA(FLPA)
ABEND 806
MODIFIED LINK
PACK AREA(MLPA)
8
Topic 2. Job Control Language
Objectives
9
MVS / ESA JCL REFERENCE
MVS
ENERPRISE JCL
SYSTEM
REFERENCE
ARCHITECT.
GC28 - 1654
10
JCL PARAMETER FIELD
IBENTIFIER
NAME FIELD
OPERATION PARAMETER FIELD
`
//JNAME JOB (ACCT-NR,ACCT-INFO), ‘PRG NAME’,
// NOTIFY=USERIDX THIS IS A CONT.CARD
//STEP1 EXEC PGM=TEST
//SYSIN DD DSN=(USERIDX.EDUC.CNTL)
//SYSPRINT DD SYSOUT = A
11
IDENFIER FIELD
// JCL
// DELIMITER OR
JES2 CONTROL STATEMENTS
// COMMENT OR
JES3 CONTROL STATEMENTS
COL 1
12
NAME FIELD
//INDATA DD……………...
13
OPERATION FIELD
//INDATA DD ………………
//INTEST IF
//LIB JCLLIB
14
PARAMETER FIELD
15
COMMENT FIELD
16
CONTINUATION OF STATEMENTS
POS
1 71
// PARAMETER , PARAMETER
17
//SYSUT1 DD DSN = BE05MST.MY.DATA,DISP = (NEW,CATLG,CATLG),
// DCB=(LRECL=80, BLKSIZE=3120, RECFM=FB) VALID
//SYSUT1 DD DSN=BE05MST.MY.DATA,DISP=(NEW,CATLG,CATLG)
DCB=(LRECL=80,BLKSIZE=3120,RECFM=FB) NOTVALID
18
CONTINUATION THE COMMENT FIELD
POS.
1 2 71 72
//* PROCEDURE
19
POSITIONAL PARAMETERS
//NAME OPERATION P1 , P2 , P3 , K1 = A
//NAME OPERATION , P2 , K1 = A
//NAME OPERATION P1 , K1 = A , K2 = B
//NAME OPERATION K1 = A , K3 = C , K2 = B
20
KEYWORD PARAMETERS
//NAME OPERATION K1 = A , K2 = B , K3 = C
//NAME OPERATION P1 , K2 = B
//NAME OPERATION , P2 , K3 = C , K1 = A
//NAME OPERATION P1 , P2
21
POSITIONAL AND KEYWORD SUBPARAMETERS
DISP = OLD
22
JOB STATEMENT
/ / JOBNAME JOB . . . . .
23
POSITIONAL PARAMETERS ON THE JOB STMNT.
24
KEYWORD PARAMETERS ON THE JOB STMNT.
// TYPRUN = SCAN
25
RESTART PARAMETER
STEP1
STEP2
STEP3
RESTART
STEP4
26
JOB ENTRY SUBSYSTEM
E 2
J S 3
27
JES 2 CONTROL STATEMENTS
NOTIFY
28
// [ name ] COMMAND ‘ command command - operand ‘
29
71
16
JES 3 CONTROL STATEMENTS
DATASET NETACCT
ENDDATASET OPERATOR
ENDPROCESS PAUSE
FORMAT PROCESS
MAIN ROUTE
NET SIGNOFF
SIGNON
30
//RUN1 JOB 3MACHE369AC56W, ‘ MURTHY’ ,NOTIFY=TSOISDG,
// MSGCLASS=A,CLASS=A,MSGLEVEL=(1,1)
/*ROUTE PRINT RMT86
/*ROUTE PRINT DALVM1. DEVISDG
//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=TSO1023.JCLERRS.CNTL(PROBLEM1),DISP=SHR
//SYSUT2 DD SYSOUT=*
//SYSIN DD *
SPLIT SCREEN
14.13.45 JOB 9432 IEF4521 RUN2 JOB NOT RUN - JCL ERROR
14.13.45 JOB 9432 $HASP396 RUN2 TERMINATED
------------------------- JES2 JOB STATISTICS -------------------------------
09 DEC 85 JOB EXECUTION DATE
10 CARDS READ
24 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
1 SYSOUT SPOOL KYBTES
0.00 MINUTES EXECUTION TIME
1 //RUN2 JOB 3MACHE369AC56W,’MURTHY SD’,MSGCLASS=A,
// MSGLEVEL=(1,2),NOTIFY=TSOISDG
***ROUTE PRINT RMT86
***ROUTE PRINT DALVM1.DEVISDG
2 //STEP10 EXEC PGM=IEBGENER
3 //SYSPRINT DD SYSOUT=*
4 //SYSUT1 DD DSN=TSOISDG.TEST.DATA(BASE),DISP=SHR
5 //SYSUT2 DD DSN=TSOISDG.NEW.DATA,DISP=(CATLG,DELETE),
// SPACE=(TRK(1,1),RLSE), VOL=SER=EDPAK5
8 //SYSIN NO. MESSAGE
32
JES2 JOB LOG -------- SYSTEM K158 ----- NOD
11.54.49 JOB 9024 IEF4521 RUN3 JOB NOT RUN --- JCL ERROR
11.54.49 JOB 9024 $HASP396 RUN3 TERMINATED
------------------------ JES2 JOB STATISTICS ------------------------
09 DEC 85 JOB EXECUTION DATE
8 CARDS READ
22 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
1 SYSOUT SPOOL KBYTES
0.00 MINUTES EXEXCUTION TIME
1 //RUN3 JOB 3MACHE369AC56W,’MURTHY SD’,MSGCLASS=A
***ROUTE PRINT RMT86
***ROUTE PRINT DALVM1.DEVISDG
2 //STEP1 EXEC PGM=IEBGENER
3 //SYSPRINT DD SYSOUT=*
4 //SYSUT1 DD DSN=TSOIO23.JCLERRS.CNTL(PROBLEM1),DISP+SHR
5 //SYSUT2 DD SYSOUT=*
STMT NO. MESSAGE
33
JES2 JOB LOG -----------SYSTEM K158 ---- NOD
11.55.43 JOB 9026 IEF4521 JOBFAIL JOB NOT RUN ---- JCL ERROR
-------------------JES2 JOB STATISTICS-------------------------------------------
8 CARDS READ
14 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
1 SYSOUT SPOOL KBYTES
0.00 MINUTES EXECUTION TIME
1 //RUN4 JOB 3MACHE369AC56W,’MURTHY SD’,MSGCLASS=A,
// MSGLEVEL(1,2)
***ROUTE PRINT RMT86
***ROUTE PRINT DALVM1.DEVISDG
2 //STEP1 EXEC PGM=IEBGENER
3 //SYSPRINT DD SYSOUT=*
4 //SYSUT1 DD DSN=TSOIO23.JCLERRS.CNTL(PROBLEM1),DISP=SHR
5 //SYSUT2 DD SYSOUT=*
6 //SYSIN DD *
STMT NO. MESSAGE
34
EXEC STATEMENT
// STEPNAME EXEC . . . . .
PGM = COND
PROC = DPRTY
PROCNAME = DYNAMNBR
PARM
PERFORM
RD
ACCT REGION
ADDRSPC TIME
35
POSITIONAL PARAMETERS ON THE EXEC STMNT
36
KEYWORD PARAMETERS ON THE EXEC STMNT.
37
TIME PARAMETER
{ 1440 }
{ NOLIMIT }
{ MAXIMUM }
38
TIME PARAMETER
// [ name] ELSE
.
.
action when relational - expression is false
.
// [ name] ENDIF
39
TIME PARAMETER
NOT operator:
NOT or not first
Comparison operators:
GT or > Greater than second
LT or < Less than second
NG or = Not greater than second
NL or = Not less than second
EQ or = Equal second
NE or = Not equal second
GE or >= Greater than or equal to second
LE or <= Less than or equal to second
Logical operators :
AND or & AND third
OR or I OR third
41
CONDITIONAL EXECUTION OF JOB STEPS
TRUE
COND = BYPASS
FALSE
EXECUTE 42
VALID COMPARISON OPERATORS for COND = parm.
GOLD
43
JES2 JOB LOG --------SYSTEM K158 ----- NOD
14.21.40 JOB 9460 IEF4521 RUN6 JOB NOT RUN --- JCL ERROR
14.21.40 JOB 9460 $HASP396 RUN6 TERMINATED
-----------------JES2 JOB STATISTICS ----------------------------
09 DEC 85 JOB EXECUTION DATE
10 CARDS READ
24 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
1 SYSOUT SPOOL KBYTES
0.00 MINUTES EXECUTION TIME
1 //RUN6 JOB 3MACHE369AC56W,’MURTHY SD’,MSGCLASS=A,
// MSGLEVEL=(1,1),NOTIFY=TSOISDG
***ROUTE PRINT RMT86
***ROUTE PRINT DALVM1.DEVISDG
2 //1 EXEC PGM=IEBGENER
3 //SYSPRINT DD SYSOUT=*
4 //SYSUT1 DD DSN=TSOISDG.TEST.DATA(BASE),DISP=SHR
5 //SYSUT2 DD DSN=TSOISDG.NEW.DATA,DISP=(,CATLG,DELETE),
// SPACE=(TRK,(1,1),RLSE),VOL=SER=EDPAKS5
6 //SYSIN DD *
STMT NO. MESSAGE
44
JES2 JOB LOG ----- SYSTEM K158 ----- NOD
11.57.56 JOB 9033 IEF4521 JOBFAIL JOB NOT RUN -- JCL ERROR
--------------- JES2 JOB STATISTICS -------------------------
9 CARDS READ
16 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
1 SYSOUT SPOOL KBYTES
0.00 MINUTES EXECUTION TIME
1 //RUN7 JOB 3MACHE369AC56W,’MURTHY SD’,MSGCLASS=A,
MSGLEVEL(1,1)
2 // MSGCLASS=S,NOTIFY=TSOISDG
***ROUTE PRINT RMT86
***ROUTE PRINT DALVM1.DEVISDG
3 //STEP1 EXEC PGM=IEBGENER
4 //SYSPRINT DD SYSOUT=*
5 //SYSUT1 DD DSN=TSOIO23.JCLERRS.CNTL(PROBLEM1),DISP=SHR
6 //SYSUT2 DD SYSOUT=*
7 //SYSIN DD *
STMT NO. MESSAGES
45
JES2 JOB LOG ----- SYTEM K158 ----NOD
12.01.04 JOB 9043 IEF4521 JOBFAIL JOB NOT RUN -- JCL ERROR
--------------- JES2 JOB STATISTICS -------------------------
14 CARDS READ
21 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
1 SYSOUT SPOOL KBYTES
0.00 MINUTES EXECUTION TIME
1 //TSOISDGA JOB 3MACHE369AC56W,
// TSOISDG, **JOB STATEMENT GENERATED BY SUMMIT**
// NOTIFY=TSOISDG ,CLASS=A,USER=TSOISDG,
// PASSWORD= ,
// MSGLEVEL=(1,1)
2 //RUN9 CLASS=A, JOB 3MACHE369AC56W,’MURTHY SD’,MSGCLASS=A,
3 // MSGLEVEL=(1,1),MSGCLASS=S,NOTIFY=TSOISDG
***ROUTE PRINT RMT86
***ROUTE PRINT DALVM1.DEVISDG
4 //STEP1 EXEC PGM=IEBGENER
5 //SYSPRINT DD SYSOUT=*
6 //SYSUT1 DD DSN=TSOIO23.JCLERRS.CNTL(PROBLEM1),DISP=SHR
7 //SYSUT2 DD SYSOUT=*
8 //SYSIN DD *
STMT NO. MESSAGES
46
JES2 JOB LOG -----SYSTEM K158 -----NOD
12.02.30 JOB 9046 IEF4521 RUN10 JOB NOT RUN -- JCL ERROR
--------------- JES2 JOB STATISTICS -------------------------
9 CARDS READ
16 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
1 SYSOUT SPOOL KBYTES
0.00 MINUTES EXECUTION TIME
1 //RUN10 JOB 3MACHE369AC56W,’MURTHY SD’,MSGCLASS=A,
// MSGLEVEL=(1,1),NOTIFY=TSOISDG
***ROUTE PRINT RMT86
***ROUTE PRINT DALVM1.DEVISDG
2 //STEP1 EXEC PGM=IEBGENER
3 //SYSPRINT DD SYSOUT=*
4 //SYSUT1 DD DSN=TSOIO23.JCLERRS.CNTL(PROBLEM1),DISP=SHR
5 //SYSUT2 DD SYSOUT=*
6 //SYSIN DD *
STMT NO. MESSAGES
47
JES2 JOB LOG ----- SYSTEM K158 --- NOD
12.02.50 JOB 9047 IEF4521 RUN11 JOB NOT RUN -- JCL ERROR
--------------- JES2 JOB STATISTICS -------------------------
9 CARDS READ
15 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
1 SYSOUT SPOOL KBYTES
0.00 MINUTES EXECUTION TIME
1 //RUN11 JOB 3MACHE369AC56W,’MURTHY SD’,MSGCLASS=A,
// MSGLEVEL=(1,1),NOTIFY=TSOISDG
***ROUTE PRINT RMT86
***ROUTE PRINT DALVM1.DEVISDG
2 //STEP1 EXEC PGM=IEBGENER
3 //SYSPRINT DD SYSOUT=*
4 //SYSUT1 DD DSN=TSOIO23.JCLERRS.CNTL(PROBLEM1),DISP=SHR
5 //SYSUT2 DD SYSOUT=*
6 //SYSIN DD *
STMT NO. MESSAGES
48
JES2 JOB LOG -------- SYSTEM K158 ---- NOD
12.04.05 JOB 9049 IEF4521 RUN12 JOB NOT RUN -- JCL ERROR
--------------- JES2 JOB STATISTICS -------------------------
9 CARDS READ
16 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
1 SYSOUT SPOOL KBYTES
0.00 MINUTES EXECUTION TIME
1 //RUN12 JOB 3MACHE369AC56W,’MURTHY SD’,MSGCLASS=A,
// MSGLEVEL=(1,1),NOTIFY=TSOISDG
***ROUTE PRINT RMT86
***ROUTE PRINT DALVM1.DEVISDG
2 //STEP1 EXEC PGM=IEBGENER
3 //SYSPRINT DD SYSOUT=*
4 //SYSUT1 DD DSN=TSOIO23.JCLERRS.CNTL(PROBLEM1),DISP=SHR
5 //SYSUT2 DD SYSOUT=*
6 //SYSIN DD *
STMT NO. MESSAGE
49
JES2 JOB LOG ---- SYSTEM K158 --- NOD
14.21.59 JOB 9462 IEF4521 RUN13 JOB NOT RUN -- JCL ERROR
14.21.59 JOB 9462 $HASP396 RUN13 TERMINATED
--------------- JES2 JOB STATISTICS ------------------------
09 DEC 85 JOB EXECUTION DATE-
10 CARDS READ
24 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
1 SYSOUT SPOOL KBYTES
0.00 MINUTES EXECUTION TIME
1 //RUN13 JOB 3MACHE369AC56W,’MURTHY SD’,MSGCLASS=A,
// MSGLEVEL=(1,1),NOTIFY=TSOISDG
***ROUTE PRINT RMT86
***ROUTE PRINT DALVM1.DEVISDG
2 //EXAMPLE13 EXEC PGM=IEBGENER
3 //SYSPRINT DD SYSOUT=*
4 //SYSUT1 DD DSN=TSOISDG.TEST.DATA(BASE),DISP=SHR
5 //SYSUT2 DD DSN=TSOISDG.NEW.DATA,DISP=(,CATLG,DELETE),
// SPACE=(TRK,(1,1),RLSE),VOL=SER=EDPAK5
6 //SYSIN DD *
STMT NO. MESSAGES
50
JES2 JOB LOG ------ SYSTEM K158 --- NOD
12.07.01 JOB 9059 IEF4521 RUN16 JOB NOT RUN -- JCL ERROR
-------------- JES2 JOB STATISTICS ------------------------
9 CARDS READ
15 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
1 SYSOUT SPOOL KBYTES
0.00 MINUTES EXECUTION TIME
1 //RUN16 JOB 3MACHE369AC56W,’MURTHY SD’,MSGCLASS=A,
// MSGLEVEL=(1,1),NOTIFY=TSOISDG
***ROUTE PRINT RMT86
***ROUTE PRINT DALVM1.DEVISDG
2 //SYSIN DD * GENERATED STATEMENT
3 //SYSPRINT DD SYSOUT=*
4 //SYSUT1 DD DSN=TSOIO23.JCLERRS.CNTL(PROBLEM),DISP=SHR
5 //SYSUT2 DD SYSOUT=*
6 //SYSIN DD *
STMT NO. MESSAGE
51
JES2 JOB LOG ----- SYSTEM K158 --- NOD
2.08.49 JOB 9065 IEF4521 RUN18 JOB NOT RUN -- JCL ERROR
-------------- JES2 JOB STATISTICS ------------------------
9 CARDS READ
15 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
1 SYSOUT SPOOL KBYTES
0.00 MINUTES EXECUTION TIME
1 //RUN18 JOB 3MACHE369AC56W,’MURTHY SD’,MSGCLASS=A,
// MSGLEVEL=(1,1),NOTIFY=TSOISDG
***ROUTE PRINT RMT86
***ROUTE PRINT DALVM1.DEVISDG
***STEP10 EXEC PGM=IEBGENER
2 //SYSPRINT DD SYSOUT=*
4 //SYSUT1 DD DSN=TSOIO23.JCLERRS.CNTL(PROBLEM),DISP=SHR
5 //SYSUT2 DD SYSOUT=*
6 //SYSIN DD *
STMT NO. MESSAGES
52
DD Statement
Subtopic objectives
53
DD ( Data Definition ) STATEMENT
/ / DDNAME DD ....
54
DESCRIBING THE DATA
USER
PROGRAM
// JOB
// EXEC
/ / DD1 DD DSN= VTOC
/ ./ DCB =
DDNAME= / / DD2 DD
DD1
55
POSITIONAL PARAMETERS ON THE DD STMNT.
/ / INDATA DD * , DLM =
DATA
/* OR // * OR // ( end of data )
// INDATA DD DUMMY
56
KEYWORD PARAMETERS ON THE DD STATEMENT
57
KEYWORD PARAMETERS ON THE DD STATEMENT
// RECFM = FB
58
DDNAME FIELD ON THE DD STATEMENT
/ / DD 1 DD DSN = TESTDATA
59
DEFINITION OF CONCATENATION
C
O
A N
T
O
E
I
N
T
A
60
RULES OF CONCATENATION
RULES
61
RULES FOR CODING CONCATENATION
EDUC . C
EDUC . A
EDUC . B
62
SIMPLE DATA SET NAME
DSN = A
DSNAME = # X 2
DSN = $ A B C
DSN = A1234567
8 CHARS
63
QUALIFIED DATA SET NAME
64
PATITIONED DATA SET ( PDS ) NAME
65
TEMPORARY DATA SET NAME
66
DEFINITION OF REFERBACKS
/ / TSOIO XX JOB
/ / STEP 1 EXEC
/ / OUT 2 DD DSN =
/ / STEP 5 EXEC
67
DATA SET REFERENCED FROM A PREVIOUS STEP
68
DISP PARAMETER ON THE DD STATEMENT
69
UNIT PARAMETER
DEV TYPE
GROUP NAME
70
VOLUME OR VOL PARAMETER
71
SPACE PARAMETER
CYL
blklgth
72
VOLUME LABEL ON TAPE
TAPE
TA DATASET 2 MARK DATASET 1
PE
MA
RK
TAPE MARK
NO
LABEL
73
LABEL PARAMETER
, AL
, AUL
, NSL
, NL
, BLP
, LTM
74
DCB PARAMETER
75
SYSOUT PARAMETER
/ /SYSUT 2 DD SYSOUT = A
/ /SYSPRINT DD SYSOUT = *
76
PARAMETERS FOR EXISTING CATALOGED DATA SET
/ /DDNAME DD . . . .
DSN =
DISP =
77
PARAMETERS FOR EXISTING
NONCATALOGED DATA SET
/ /DDNAME DD . . . . .
DSN =
DISP =
VOL =
UNIT =
78
PARAMETERS FOR CREATING A DATA SET
/ /DDNAME DD . . . .
DSN = VOL =
DISP = SPACE =
UNIT DCB =
79
SPECIAL DDNAMES
/ /JOBLIB
/ /STEPLIB
/ /SYSABEND
/ /SYSUDUMP
/ /SYSCHK
80
Topic 3. IBM Utilities
Objectives
Upon completion of this unit the student should be able to :
* Understand what an IBM Utility Program is and how they are used
* List the three classes of IBM Utility Programs
* State what two types of statements utilities use.
*Describe the general format and code statements for various utility prog.
*Identify and code the JCL required for various utility programs.
* Understand how to use the IBM Utilities Manual.
* Code a utility program to perform the following.
- List the VTOC for a data set on DASD.
- List information about a partitioned data set on DASD.
- Scratch and uncatalog a data set on DASD.
- Copy a data set from one device to another.
- Print a data set.
81
MVS / ESA
DATA ADMINISTRATION
U M
T A
I N
L
I U
T A
I
E L
S SC26 - 4599
82
WHAT IS
UTILITY
83
SYSTEM UTILITY DATA SET UTILITY
PROGRAMS PROGRAMS
• IEHMOVE • IEBEDIT
• IEHPROGM • IEBGENER
• IFHSTATR • IEBIMAGE
/ /SYSIN DD *
(COL.4) (COL.7 2)
(COL.16)
85
IEHPROGM PROGRAM
• SCRATCHES
RENAMES
CATALOGS
• UNCATALOGS
86
JCL STATEMENTS for IEHPROGM
/ /JOBNAME JOB
/ /STEPNAME EXEC PGM = IEHPROGM
/ /SYSPRINT DD SYSOUT = *
/ /ANYNAME 1 DD UNIT = device ,
/ /SYSIN DD *
UTILITY CONTROL STATEMENT
/*
87
UTILITY CONTROL STATEMENTS for IEHPROGM
88
IEHLIST PROGRAM
• LIST CATALOG
• LIST PDS
• LIST VTOC
89
JCL STATEMENTS for IEHLIST
/ /JOBNAME JOB
/ /STEPNAME EXEC PGM = IEHLIST
/ /SYSPRINT DD SYSOUT = *
/ /ANYNAME 1 DD UNIT = device ,
// VOL = SER = serial , DISP =SHR
/ /ANYNAME 2 DD UNIT = ,VOL = ,DISP =
/ / SYSIN DD *
90
UTILITY CONTROL STATEMENTS for IEHLIST
91
IEBGENER PROGRAM
IEBGENER
92
JCL STATEMENTS for IEBGENER
/ /JOBNAME JOB
/ /STEPNAME EXEC PGM = IEBGENER
/ /SYSPRINT DD SYSOUT = *
/ /SYSUT 1 DD ………….
/ /SYSUT 2 DD ………….
/ /SYSIN DD *
/*
93
CODING the SYSUT 1 STATEMENTS
/ /SYSUT 1 DD
( card input )
// DISP = SHR
94
CODING the SYSUT 2 STATEMENTS
95
UTILITY CONTROL STATEMENTS for IEBGENER
GENERATE MAXNAME = n
96
IEBCOPY
DIRECTORY DIRECTORY
M1 M2 M1 M2
MEMBER 1 MEMBER 1
MEMBER 2 MEMBER 2
PDS 1 PDS 2
97
IEBCOPY
COPY
ALTERMOD
COPYMOD
SELECT
EXCLUDE
98
IEBCOMPR
99
IEHMOVE
COPY
MOVE
100
IEHMOVE UTILITY CONTROL STATEMENTS
COPY
MOVE
SELECT
EXCLUDE
INCLUDE
REPLACE
101
Topic 4 . VSAM Concepts
Objectives
102
? ?
?
? VSAM ?
? ?
?
103
WHY USE VSAM
V
S
A
M
104
WHEN TO USE VSAM
DATA
BASE
MASTER
CATALOG
USER
CATALOG
USER
DATA
105
VSAM MANAGES . . . . .
CATALOGS DATA
106
CATALOGS
DATASET NAME
RECORD SIZE
FREE SPACE
107
TYPES OF VSAM DATASETS
108
KEY - SEQUENCED DATA SETS
KSDS
MURTHY SD 174167
NAME
SERIAL
109
INSERTING RECORDS INTO A KSDS
SACHIN T 396437
110
ENTRY - SEQUENCED DATA SETS
ESDS
R3
R1 R2
111
RELATIVE RECORD DATA SETS
RRDS
1 2 3(E) 4
* E = EMPTY SLOT
112
LINEAR DATA SET
LINEAR DATASET
VITUAL
STORAGE
DATA
OBJECT MAP
113
COTROL INTERVALS
114
FIELDS IN CONTROL INTERVALS
R R R C
R1 R2 Rn FREE D D D I
SPACE F F F D
n 2 1 F
R C
D I
F D
F
115
ADDING RECORDS IN A CONTROL INTERVAL
R2
R C
D I
R1 FREE SPACE F D
1 F
116
MORE ON CONTROL INTERVALS
R R C
R1 R2 FS D D I
F F D
2 1 F
117
ANSWER TO QUIZ
R R C
D D I
R1 R2 R3 R4 F S
F F D
2 1 F
118
CONTROL INTERVAL SPLIT
R5 R6
RD RD CI
R1 R2 R3 R4 FS F2 F1 DF
RD RD CI
R1 R2 R3 FS F2 F1 DF
RD RD CI
R4 R5 R6 FS F2 F1 DF
119
CONTROL AREAS
CONTROL INTERVAL
CONTROL INTERVAL
CONTROL INTERVAL
CONTROL INTERVAL
120
THE VSAM UTILITY
ACCESS METHOD
SERVICES
IDCAMS
121
INVOKING IDCAMS
//SYSPRINT DD SYSOUT=A
//ddname DD DSN=clustername
//SYSIN DD *
AMS statements
/*
122
CONTROL STATEMENTS
COL
2
STATEMENT -
STATEMENT
123
DEFINING A CLUSTER
DATA
INDEX
124
CLUSTER INFORMATION
DEFINE -
CLUSTER -
(NAME (BE05JCL.FILE) -
VOLUMES (VOL001) -
TRACKS (1,1) -
125
DATA COMPONENT
DATA -
(NAME (BE05JCL.FILE.DATA) -
RECORDSIZE (200,200) -
126
INDEX COMPONENT
INDEX -
(NAME (BE05JCL.FILE.INDEX))
127
CLUSTER
DATA
INDEX
128
DELETING DATA SETS
DELETE -
TEST. FILE -
CLUSTER -
PURGE -
ERASE
129
REPRO STATEMENT
REPRO -
INFILE (ddname) -
OUTFILE (ddname) -
130
PRINTING VSAM DATA SETS
PRINT -
INDATASET (BE05JCL.FILE) -
CHAR
131
LISCAT STATEMENT
LISTCAT -
132
Topic 5. Generation Data Groups.
Objectives
Upon completion of this unit the student should be able to:
133
GDGs
134
NAMING CONVENTION
GEN.GOOO5VOO GEN(-1)
135
ALLOCATE GDG BASE
CATALOG
GDG BASE
136
DEFINE MODEL DSCB
CATALOG
VTOC MODEL
....... DSCB ......
137
CREATE GDS
IEFBR14
-2
-1
+1 0
138
DELETING GDG CATALOG ENTRIES
-2
139
Topic 6. JCL Procedures
Objectives
140
PROCEDURES
PROC
141
TYPE OF PROCEDURES
INSTREAM
CATALOGUED
PR
OC
PR
OC
PE
ND
142
//[name] JCLLIB ORDER=(Library[,library] …)
143
//[name] INCLUDE MEMBER=name
//BE05JCL JOB . . . . .
//LIBRARY JCLLIB ORDER=BE05MST.JCL.PROCLIB
//STEP1 EXEC PGM=PRINT
//DD1 INCLUDE MEMBER=SYSOUT1
//STEP2 EXEC PGM=DELETE
.
.
.
144
INVOKING A PROCEDURE
// EXEC Procname
// EXEC PROC=procname
145
SPECIFYING AN INSTREAM PROC.
PROC
•
PEND
146
Procedure C:
Job Stream:
//C PROC
//JOB1 JOB . . . . .
//C51 EXEC PGM=GHI
//STEP1 EXEC PROC=A
.
//C PEND
//STEP2 EXEC PGM=JKL
.
Procedure B:
.
//B PROC
.
//B51 EXEC PROC=C
.
//B52 EXEC PGM=DEF
//B PEND
Procedure A:
//A PROC
//AS1 EXEC PROC=B
.
//AS2 EXEC PGM=ABC
.
//A PEND
147
//JOB1 JOB ..... level 0
148
MODIFYING A PROCEDURE
PROC
REVISED
149
OVERRIDING DD STATEMENTS IN A PROCEDURE
//MYPROC PROC
//STEP1
//IN DD DSN=A
// PEND
// EXEC MYPROC
//STEP1.IN DD DSN=B
150
ORDERING THE OVERRIDE STATEMENTS
//MYPROC PROC
//S1 EXEC ---------
//DD1 DD ----------
//S2 EXEC ----------
//DD2 DD ----------
//RUN EXEC MYPROC
//S1.SYSIN DD *
-----------
-----------
//S2.SYSIN DD *
------------
-----------
/*
151
SYMBOLIC PARAMETERS
// EXEC MYPROC,P=EDPAK3
152
//[name] SET symbolic-parameter=value
153
MODIFYING THE EXEC STATEMENT
PR
OC
=_
___
_ __
COND=
REGION=
154
Topic 7. Introduction to DFSMS
Objectives
155
STORAGE MANAGEMENT SUBSYSTEM
NON SMS
SMS
193 5CB
DSN=End
3350 DISP=User
1D3 3380J
CACHE UNIT=
VOL=SER= DC
3380 DASD
DCB= DSN=
240 TRK SC STORAGE
3380 978
CYL DISP=
3380K RECFM MC
LRECL
EXPDT
RETPD
3380E
3380
PERFORMANCE
UTILIZATION FUTURE
DC
Data Class Attributes
----Data set type
----Record length
DATA
----Space Information CLASS
----EXPDT / RETPD
----VSAM Keys
----VSAM subparameters
158
WHAT IS THE SERVICE ?
SC
Storage Class Attributes
159
HOW IS IT MANAGED ?
----Recovery capability
----Space occupancy
160
WHERE IS IT PLACED ?
SC
Storage Group Attributes
161
Automatic Class Selection Environment
DATA
CLASS
not
ROUTINE
system
managed
STORAGE sc=null
CLASS
ROUTINE
SC=xxx
Management system
CLASS managed
ROUTINE
STORAGE
CLASS
ROUTINE
162
SMS can manage
• PHYSICAL SEQUENTIAL
• PARTITIONED
• VSAM
• BDAM
• GENERATION DATA GROUPS (GDG)
• TEMPORARY
• VIO
163
Overview JCL Changes
* PROMOTED KEYWORDS
164
New JCL Keywords
DATACLAS STORCLAS
RECORG MGMCLAS
AVGREC
KEYOFF
LIKE
REFDD
SECMODEL
165
JCL Data Class
RECORG KEYOFF
RECFM RETPD / EXPDT
LRECL SPACE
KEYLEN VOLUME COUNT
166
JCL Storage Class
167
JCL Management Class
------PARTIAL RELEASE
------BACKUP
------RETENTION
------MIGRATION
168
JCL SPACE INFORMATION
* SPACE= ( , ( , ,dir) )
OVERIDE NUMBER OF DIRECTORY BLOCKS
SPECIFIED IN DATA CLASS
* AVGREC = U /K /M
SPECIFIES SCALE MODIFICATION TO AVERAGE
RECORD LENGTH REQUEST ,
SPACE = ( reclgth ,( prim -qty , sec - qty))
-- U -- multiply by 1
-- k -- multiply by 1024
-- M -- multiply by 1048576
169
NEW JCL LIKE PARAMETER
RECORG LRECL
RECFM KEYLEN
SPACE KEYOFF
* REPLACES DCB = dsname
* INCONSISTENCIES BETWEEN JCL AND TSO LIKE
170
VSAM DATA SET via JCL
171
CATALOGING PERMANENT SMS DATA SET
172
CATALOGING TEMPORARY VSAM DATA SETS
* LIMITATIONS
----NO AIX or PATH SUPPORT
----SHAREOPTIONS(1) ONLY
----SINGLE VOLUME ONLY
173
GDG PROCESSING
174
Topic 8. Open Edition
Objectives
175
FILE NAMING CONVENTIONS
C program .
.
.
open(char “ / dir1 /DIR2 / FILEname “, Int O_RDONLY);
ROOT DIRECTORY
DX
FILE1
FILE2
DIR2
FILEname
176
FILE NAMING CONVENTIONS WITH PATH =
OPENEDITION DD STATEMENT:
//DD1 DD PATH=‘/ dir1 / DIR2 / FILEname
// .
.
ROOT DIRECTORY
DX dir1
FILE1
FILE2
dir2
FILEname
177
NEW JCL KEYWORDS
178
MODIFIED JCL PARAMETERS
DSNTYPE =[HFS]
{PIPE}
179
DATA ACCESS
2)FILE
TRADITIONAL DESCRIPTOR POSIX
23=/a/b/c
2) DCB
DCB
a.b.c
1)dname 1) PATHNAME
A.B.C a/b/c
180
NON-POSIX CALLABLE SERVICES
IOC 181
lootl()
BATCH ENVIRONMENT
// END OF JOB
182
JCL EXAMPLE - SHELL SCRIPT
Open MVS batch execution of a shell script :
183
JCL EXAMPLE - C PROGRAM
OPEN MVS BATCH EXECUTION OF C PROGRAM
184