jcl slides

184
1 Topic 1. Introduction Topic Objectives After attending this topic the student should be able to desire the need of CL and to state the different processes in JES

Upload: sreenivas-rao

Post on 26-Nov-2014

271 views

Category:

Documents


40 download

TRANSCRIPT

Page 1: JCL Slides

1

Topic 1. Introduction

Topic Objectives

After attending this topic the student should be able to desire the need ofJCL and to state the different processes in JES

Page 2: JCL Slides

2

WHAT IS JCL ?

JOB CONTROL LANGUAGE

L ANGUAGE WE USE TO

C ONTROL THE EXECUTION OF

J OB’S IN THE SYSTEM

Page 3: JCL Slides

3

ACCOUNTING

OPERATING SYSTEMPROGRAM ?

PROGRAM 1 - 2 - 3

HARDWARE

DATASETS

Page 4: JCL Slides

4

J C L STATEMENT

// JOB

// EXEC

// DD

Page 5: JCL Slides

5

JCL STATEMENT HISTORY

DDDD

DDEXEC

JOB

EDIT-EDUCBE05.JOBLIB.CNTL(TESTJOB)-01.00--COLS007078

COMMAND----> SCROLL--> PAGE

00100 // JOB00200 // EXEC00300 // DD00400 // DD00500 // DD

Page 6: JCL Slides

6

JES PROCESSORS

SYS1.PROCLIB

INPUT CONVERSION EXECUTION OUTPUTPRINT/ PUNCH

PURGE

SPOOL

INPUTQUEUE

JOBQUEUE

OUTPUTQUEUES

PRINTER

CARD PUNCH

LOCAL READER

INTERNALREADER

RJENJE

RJENJE

Page 7: JCL Slides

7

JOB SELECTION

CHECK POINTJOB QUEUE

JOB CLASS14 Z145 C146 Z1078 T2001 A2002 B

MVS JES INIT 1JOBCLASSESA,Z,B,C

INIT 2 INIT 3

JOBCLASSESS,B,A

JOBCLASSESC,Z

SPOOL

CLASS A2001CLASS B2002CLASS C145

Page 8: JCL Slides

8

PROGRAM MANAGEMENT - SEARCH SEQUENCE

JOB PACK AREA

JOBLIB - STEPLIB

FIXED LINKPACK AREA(FLPA)

MODIFIED LINKPACK AREA(MLPA)

PAGEABLE LINK PACK AREA(PLPA)

SYS1.LINKLIB(LNKLST xx)

ABEND 806

Page 9: JCL Slides

9

Topic 2. Job Control Language

Objectives

Upon completion of this unit the student should be able to :

* Demonstrate an understanding of the functions of specific parameters that can be coded on the JOB,EXEC, and DD statements.* Correct common JCL syntax and usage errors.* State the difference between DD DATA and DD.* Identify valid dataset name.* Code DD statements using specified information.

Page 10: JCL Slides

10

MVS / ESA JCL REFERENCE

MVSENERPRISE SYSTEM

ARCHITECT.

JCL

REFERENCE

GC28 - 1654

Page 11: JCL Slides

11

JCL PARAMETER FIELD

`//JNAME////STEP1//SYSIN//SYSPRINT

JOB

EXECDDDD

(ACCT-NR,ACCT-INFO), ‘PRG NAME’,NOTIFY=USERIDX THIS IS A CONT.CARDPGM=TESTDSN=(USERIDX.EDUC.CNTL)SYSOUT = A

IBENTIFIER

NAME FIELDOPERATION PARAMETER FIELD

Page 12: JCL Slides

12

IDENFIER FIELD

// JCL

// DELIMITER OR JES2 CONTROL STATEMENTS

// COMMENT OR JES3 CONTROL STATEMENTS

COL 1

Page 13: JCL Slides

13

NAME FIELD

//TSOIOXXA JOB ………………

//#STEPA EXEC ………………

//INDATA DD……………...

Page 14: JCL Slides

14

OPERATION FIELD

// TSOIOXXA JOB …………….

//# STEPA EXEC ……………..

//INDATA DD ………………

//INTEST IF

//LIB JCLLIB

Page 15: JCL Slides

15

PARAMETER FIELD

// RUN1 JOB D69A , DOE , MSGCLASS = S

//ST1 EXEC PGM = ADVJCL

//INDD DD DSN = JCL.CLASS,DISP = SHR

Page 16: JCL Slides

16

COMMENT FIELD

// ST1 EXEC PGM = ADVJCL STEP1

//INDD DD DSN = JCL.CLASS, IN DATA

Page 17: JCL Slides

17

CONTINUATION OF STATEMENTS

POS

1 71

//NAME OPERATION PARAMETER,

// PARAMETER , PARAMETER

Page 18: JCL Slides

18

//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) VALID

//SYSUT1 DD DSN=BE05MST.MY.DATA,DISP=(NEW,CATLG,CATLG) DCB=(LRECL=80,BLKSIZE=3120,RECFM=FB) NOTVALID

Page 19: JCL Slides

19

CONTINUATION THE COMMENT FIELD

POS.

1 2 71 72

//ST1 EXEC BJCL THIS STMNT C

// CALLS THE BASIC JCL

//* PROCEDURE

Page 20: JCL Slides

20

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

Page 21: JCL Slides

21

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

Page 22: JCL Slides

22

POSITIONAL AND KEYWORD SUBPARAMETERS

DISP = OLD

DISP = (NEW , KEEP , KEEP )

DISP = ( , KEEP , KEEP)

DCB = (RECFM = FB , LRECL = 80)

DCB = (LRECL = 80 , RECFM = FB )

Page 23: JCL Slides

23

JOB STATEMENT

/ / JOBNAME JOB . . . . .

ACCT FIELD CLASS

PGMER NAME NOTIFY MSG LEVEL TYPRUN MSG CLASS PRTY COND RESTART USER REGION

Page 24: JCL Slides

24

POSITIONAL PARAMETERS ON THE JOB STMNT.

// RUNA JOB DEPT6 9 A , DOE , . . . . .

// RUNB JOB ‘ D 6 9 ,B 2 ‘,’ J DOE ‘, . . . . .

// RUNC JOB (‘ D/ 30 ‘, B 62) , JDOE , . . . . .

// RUND JOB DEPT 6 9 , ‘ MURTHY.D.SINGAM‘, . . . . .

Page 25: JCL Slides

25

KEYWORD PARAMETERS ON THE JOB STMNT.

// RUNA JOB 3 MACH 369AC56W , DAVIS ,

// MSGLEVEL = (1 ,1) , MSGCLASS = S ,

// CLASS = E , NOTIFY = TSOIO50 ,

// TYPRUN = SCAN

Page 26: JCL Slides

26

RESTART PARAMETER

S T E P 1

S T E P 2

S T E P 3

S T E P 4

RESTART

Page 27: JCL Slides

27

JOB ENTRY SUBSYSTEM

E

J S

2

3

Page 28: JCL Slides

28

JES 2 CONTROL STATEMENTS

$ COMMAND OUTPUT SIGNOFF

JOBPARM PRIORITY SIGNON

MESSAGE ROUTE XEQ

NETACCT SETUP XMIT

NOTIFY

Page 29: JCL Slides

29

// [ name ] COMMAND ‘ command command - operand ‘

//C1 COMMAND ‘ S RMT1 ‘

//C2 COMMAND ‘ SEND ‘ ‘ THE COMPILE STEP IS NOW COMPLETE ‘ ‘, USER = BE 05 ‘

7 1 16

Page 30: JCL Slides

30

JES 3 CONTROL STATEMENTS

DATASET NETACCT

ENDDATASET OPERATOR

ENDPROCESS PAUSE

FORMAT PROCESS

MAIN ROUTE

NET SIGNOFF

SIGNON

Page 31: JCL Slides

31

//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

JES JOB LOG -----SYSTEM K158 ----NOD11.53.43 JOB 9019 IEF4521 JOBFAIL JOB NOT RUN --JCL ERROR------------- JES2 JOB STATISTICS --------- 9 CARDS READ 15 SYSOUT PRINT RECORDS 0 SYSOUT OUNCH RECORDS 1 SYSOUT SPOOL KBYTES 0. 00 MINUTES EXEXCUTION TIME 1 //RUN1 JOB 3MACHE369AC56W, ‘MURTHY SD’,NOTIFY=TSOISDG, // MSGCLASS=A,CLAS=A,MSGLEVEL=(1,1) ***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 1 IEF6301 UNIDENTIFIED KEYWORD CLAS

Page 32: JCL Slides

32

JES2 JOB LOG ----- SYSTEM K158 ----- NOD

14.13.45 JOB 9432 IEF4521 RUN2 JOB NOT RUN - JCL ERROR14.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

1 IEF6431 UNIDENTIFIED POSITIONSL PARAMETER IN THE MSGLEVEL FIELD

Page 33: JCL Slides

33

JES2 JOB LOG -------- SYSTEM K158 ----- NOD

11.54.49 JOB 9024 IEF4521 RUN3 JOB NOT RUN --- JCL ERROR11.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

1 IEF6401 EXCESSIVE NUMBER OF POSITIONAL PARAMETERS ON THE JOB STATEMENTS.

Page 34: JCL Slides

34

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

1 IEF6321 FORMAT ERROR IN THE MSGCLASS FIELD

Page 35: JCL Slides

35

EXEC STATEMENT

// STEPNAME EXEC . . . . .

PGM = CONDPROC = DPRTYPROCNAME = DYNAMNBR PARM PERFORM RD ACCT REGION ADDRSPC TIME

Page 36: JCL Slides

36

POSITIONAL PARAMETERS ON THE EXEC STMNT

// STEPNAME EXEC PGM = IEBGENER

// STEPNAME EXEC PROC = BASICJCL

// STEPNAME EXEC BASICJCL

Page 37: JCL Slides

37

KEYWORD PARAMETERS ON THE EXEC STMNT.

//RUNA JOB . . . . . . . .

//STEP 2 EXEC PGM = TEST ,

// COND = (4 , EQ , STEP 1 ) , REGION = 1 0M

// TIME = ( 30. 00 ) , PERFORM = 60 , PARM = T1 ,

// DPRTY = ( 15 , 15 ) , ACCT = ( acct info ……….) ,

// DYNAMNBR = 10, RD = NC , ADDRSPC = REAL

Page 38: JCL Slides

38

TIME PARAMETER

TIME [ . PROCSTEPNAME ] = { ( [ MINUTES] [ , SECONDS])}

{ 1440 } { NOLIMIT }

{ MAXIMUM }

Page 39: JCL Slides

39

TIME PARAMETER

// IF [ ( ] relational - expression [ ) ] THEN . . action when relational - expression is true

// [ name] ELSE . . action when relational - expression is false .

// [ name] ENDIF

Page 40: JCL Slides

40

TIME PARAMETER

//BEO5JOB JOB ………………….

//STEP0 EXEC PGM = UPDATE

//STEP1 EXEC PGM = VALIDATE

//IFTEST IF (STEP0 . RC>4 & STEP1 .RC > 20) THEN//STEPA EXEC PGM = . . . . .// ELSE //STEPB EXEC PGM = ……..//IFTEST ENDIF

Page 41: JCL Slides

41

Operators on IF/THEN/ELSE/ENDIF Statement Construct

OPERATOR OPERATION ORDER OF EVALUATION

NOT operator:NOT or not first

Comparison operators:GT or > Greater than secondLT or < Less than secondNG or = Not greater than secondNL or = Not less than secondEQ or = Equal secondNE or = Not equal secondGE or >= Greater than or equal to secondLE or <= Less than or equal to second

Logical operators :AND or & AND thirdOR or I OR third

Page 42: JCL Slides

42

CONDITIONAL EXECUTION OF JOB STEPS

COND =TRUE

FALSE

BYPASS

EXECUTE

Page 43: JCL Slides

43

VALID COMPARISON OPERATORS for COND = parm.

GOLD

Page 44: JCL Slides

44

JES2 JOB LOG --------SYSTEM K158 ----- NOD

14.21.40 JOB 9460 IEF4521 RUN6 JOB NOT RUN --- JCL ERROR14.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

2 IEF6471 FIRST CHARACTER OF NAME NOT ALPHABETIC OR NOT NATIONAL

Page 45: JCL Slides

45

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

1 IEF6321 FORMAT ERROR IN THE MSGCLASS FIELD 2 IEF6051 UNIDENTIFIED OPERATION FIELD

Page 46: JCL Slides

46

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

2 IEF6051 UNIDENTIFIED OPERATION FIELD 3 IEF6051 UNIDENTIFIED OPERATION FIELD

JES2 JOB LOG ----- SYTEM K158 ----NOD

Page 47: JCL Slides

47

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

2 IEF6051 UNIDENTIFIED OPERATION FIELD 6 IEF6051 JOB HAS NO STEPS

JES2 JOB LOG -----SYSTEM K158 -----NOD

Page 48: JCL Slides

48

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

2 IEF6051 INCORRECT USE OF MINUS ON THE EXEC STATEMENT

JES2 JOB LOG ----- SYSTEM K158 --- NOD

Page 49: JCL Slides

49

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

2 IEF6051 UNIDENTIFIED OPERATION FIELD 6 IEF6071 JOB HAS NO STEPS

JES2 JOB LOG -------- SYSTEM K158 ---- NOD

Page 50: JCL Slides

50

14.21.59 JOB 9462 IEF4521 RUN13 JOB NOT RUN -- JCL ERROR14.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

2 IEF6421 EXCESSIVE PARAMETER LENGTH ON THE EXEC STATEMENT

JES2 JOB LOG ---- SYSTEM K158 --- NOD

Page 51: JCL Slides

51

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

2 IEF6071 JOB HAS NO STEPS

JES2 JOB LOG ------ SYSTEM K158 --- NOD

Page 52: JCL Slides

52

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

2 IEF6071 JOB HAS NO STEPS

JES2 JOB LOG ----- SYSTEM K158 --- NOD

Page 53: JCL Slides

53

DD Statement

Subtopic objectives

After attending this subtopic the student should be able to :

* Code a DD statement and use different parameters* Recognise when different parameters are needed* Find errors in a DD statement

Page 54: JCL Slides

54

DD ( Data Definition ) STATEMENT

/ / DDNAME DD . . . .

* DSN VOL DCBDATA DISP SPACE SYSOUT

DUMMY UNIT LABEL

Page 55: JCL Slides

55

DESCRIBING THE DATA

USERPROGRAM

DDNAME= DD1

VTOC

D C B (DATA CONTROL; BLOCK)

// JOB/ / EXEC/ / DD1 DD DSN=/ ./ DCB =/ / DD2 DD

Page 56: JCL Slides

56

POSITIONAL PARAMETERS ON THE DD STMNT.

/ / INDATA DD * DATA

, DLM =

instream data for input

/* OR // * OR // ( end of data )

or two character delimiter

// INDATA DD DUMMY

Page 57: JCL Slides

57

KEYWORD PARAMETERS ON THE DD STATEMENT

/ / SYSUT 2 DD DSN = OUTTAPE ,

/ / DISP = ( , CATLG ) , UNIT = TAPE ,

/ / VOL = SER = TAPE 01 ,

/ / LABEL = ( , NSL , RETPD = 99001 )

Page 58: JCL Slides

58

KEYWORD PARAMETERS ON THE DD STATEMENT

/ / SYSUT 2 DD DSN = OUTDATA

/ / DISP = ( , CATLG ) , UNIT = SYSDA ,

/ / VOL = SER = EDPAK 5 , SPACE = (TRK ,1 ) ,

/ / DCB = (LRECL = 80 , BLKSIZE = 800 ) ,

/ / RECFM = FB

Page 59: JCL Slides

59

DDNAME FIELD ON THE DD STATEMENT

/ / PRINT DD DSN = JCLCLASS

/ / DD 1 DD DSN = TESTDATA

/ / SYSUT 2 DD DSN = BASIC . JCL 85

/ / DD DSN = BASIC . JCL 86

Page 60: JCL Slides

60

DEFINITION OF CONCATENATION

C

O

N

C

A

T

E

N

AT

I

O

N

Page 61: JCL Slides

61

RULES OF CONCATENATION

RULES

Page 62: JCL Slides

62

RULES FOR CODING CONCATENATION

EDUC . C

EDUC . A EDUC . B

EDUC.A EDUC.B EDUC.C

Page 63: JCL Slides

63

SIMPLE DATA SET NAME

DSN = A

DSNAME = # X 2

DSN = $ A B C

DSN = A 1 2 3 4 5 6 7 8 CHARS

Page 64: JCL Slides

64

QUALIFIED DATA SET NAME

DSNAME = TSOIO99 . DATA

DSN = ‘ ENTRY . OPED ‘ ‘S . DAY ‘

DSN = TSOI O 99 . MORE .OPED . DATA

Page 65: JCL Slides

65

PATITIONED DATA SET ( PDS ) NAME

DSN = ENTRY ( TEST 2 )

DSN = TSO I O 99 . DATA ( MEM 1) 44 CHAR. 8 CHAR.

Page 66: JCL Slides

66

TEMPORARY DATA SET NAME

DSN = & & SORTOUT

DSN = & & TEMP ( MEM 1 ) 8.CHARS. 8.CHARS.

Page 67: JCL Slides

67

DEFINITION OF REFERBACKS

/ / TSOIO XX JOB

/ / STEP 1 EXEC

/ / OUT 2 DD DSN =

/ / STEP 5 EXEC

/ / NEWOUT DD DSN = *. STEP 1 . OUT 2

Page 68: JCL Slides

68

DATA SET REFERENCED FROM A PREVIOUS STEP

/ / STEP 2 DD DSN = * . STEP 1 . DD4 ,

/ / DISP = ( OLD , DELETE )

Page 69: JCL Slides

69

DISP PARAMETER ON THE DD STATEMENT

INITIAL NORMAL ABNORMAL

DISP = ( NEW , DELETE , DELETE)

OLD , KEEP , KEEP

SHR , PASS , CATLG

MOD , CATLG , UNCATLG , UNCATLG

Page 70: JCL Slides

70

UNIT PARAMETER

UNIT = ( DEV ADDRESS , UNIT COUNT , DEFER )

DEV TYPE

GROUP NAME

Page 71: JCL Slides

71

VOLUME OR VOL PARAMETER

VOL = SER = EDPAK 5

VOL = REF = DSNAME

VOL = REF = * . DDNAME

Page 72: JCL Slides

72

SPACE PARAMETER

SPACE = ( TRK , ( pqty , sqty , dir ) , RLSE)

CYL

blklgth

Page 73: JCL Slides

73

VOLUME LABEL ON TAPE

STANDARD LABEL

TAPEMARK

TAPEMARK

EOF 2 EOF 1 TAPEMARK

DATASET 2 HDR2 HDR1

TAPEMARK

EOF 2EOF 1TAPE MARKDATASET 1

TAPEMARK

HDR 2 HDR 1 VOLUME LABEL

NOLABEL

DATASET 1TAPEMARKDATASET 2TA

PEMARK

TAPE MARK

Page 74: JCL Slides

74

LABEL PARAMETER

LABEL = ( SEQ # , SL , RETPD = nnnn )

, SUL , EXPDT = yyddd)

, AL , AUL

, NSL , NL

, BLP , LTM

Page 75: JCL Slides

75

DCB PARAMETER

DCB = ( RECFM = RECORD FORMAT ,

LRECL = LOGICAL RECORD LENGTH ,

BLKSIZE = LGTH OF BLK )

Page 76: JCL Slides

76

SYSOUT PARAMETER

SYSOUT = ( CLASS NAME )

/ /SYSUT 2 DD SYSOUT = A

/ /SYSPRINT DD SYSOUT = *

Page 77: JCL Slides

77

PARAMETERS FOR EXISTING CATALOGED DATA SET

/ /DDNAME DD . . . .

DSN =

DISP =

Page 78: JCL Slides

78

PARAMETERS FOR EXISTING NONCATALOGED DATA SET

/ /DDNAME DD . . . . .

DSN =

DISP = VOL =

UNIT =

Page 79: JCL Slides

79

PARAMETERS FOR CREATING A DATA SET

/ /DDNAME DD . . . .

DSN = VOL =

DISP = SPACE =

UNIT DCB =

Page 80: JCL Slides

80

SPECIAL DDNAMES

/ /JOBLIB

/ /STEPLIB

/ /SYSABEND

/ /SYSUDUMP

/ /SYSCHK

Page 81: JCL Slides

81

Topic 3. IBM Utilities

ObjectivesUpon 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.

Page 82: JCL Slides

82

MVS / ESADATA ADMINISTRATION

U T I L I T I E S

M A

N

U

A

L

SC26 - 4599

Page 83: JCL Slides

83

WHAT IS A

UTILITY

Page 84: JCL Slides

84

SYSTEM UTILITY DATA SET UTILITYPROGRAMS PROGRAMS

• IEHATLAS

• IEHINITT

• IEHLIST

• IEHMOVE

• IEHPROGM

• IFHSTATR

• IEBCOMPR

• I EBCOPY

• IEBDG

• IEBEDIT

• IEBGENER

• IEBIMAGE

• IEBISAM

• IEBPTPCH

• IEBUPDTE

INDEPENDENT UTILITY PROGRAMS• ICAPRTBL

Page 85: JCL Slides

85

UTILITY CONTROL STATEMENT CODING RULES

/ /STEPNAME EXEC PGM =

/ /SYSIN DD *

(COL.4) (COL.7 2)

LISTVTOC DSNAME = dsname , X VOL = device = serial , FORMAT/* (COL.16)

Page 86: JCL Slides

86

IEHPROGM PROGRAM

• SCRATCHES RENAMES CATALOGS

• UNCATALOGS

Page 87: JCL Slides

87

JCL STATEMENTS for IEHPROGM

/ /JOBNAME JOB/ /STEPNAME EXEC PGM = IEHPROGM

/ /SYSPRINT DD SYSOUT = */ /ANYNAME 1 DD UNIT = device ,

/ / VOL = SER = serial ., DISP = SHR/ /ANYNAME 2 DD UNIT = ,VOL = ,DISP =

/ /SYSIN DD * UTILITY CONTROL STATEMENT/*

Page 88: JCL Slides

88

UTILITY CONTROL STATEMENTS for IEHPROGM

SCRATCH DSNAME = dsname , X

VOL = device = serial

UNCATLG DSNAME = dsname

Page 89: JCL Slides

89

IEHLIST PROGRAM

• LIST CATALOG

• LIST PDS

• LIST VTOC

Page 90: JCL Slides

90

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 *

UTILITY CONTROL STATEMENT/*

Page 91: JCL Slides

91

UTILITY CONTROL STATEMENTS for IEHLIST

LISTPDS DSNAME = dsname , X

VOL = device = serial , format

LISTVTOC DSNAME = dsname , X

VOL = device = serial , format

Page 92: JCL Slides

92

IEBGENER PROGRAM

IEBGENER

Page 93: JCL Slides

93

JCL STATEMENTS for IEBGENER

/ /JOBNAME JOB/ /STEPNAME EXEC PGM = IEBGENER

/ /SYSPRINT DD SYSOUT = */ /SYSUT 1 DD ………….

/ /SYSUT 2 DD …………./ /SYSIN DD *

UTILITY CONTROL STATEMENT

/*

Page 94: JCL Slides

94

CODING the SYSUT 1 STATEMENTS

/ /SYSUT 1 DD ( card input )

/ /SYSUT 1 DD DSN = dsname , DISP = SHR

/ /SYSUT 1 DD DSN = dsname (member) ,

/ / DISP = SHR

Page 95: JCL Slides

95

CODING the SYSUT 2 STATEMENTS

/ /SYSUT 2 DD SYSOUT = P, DCB = BLKSIZE = 80

/ /SYSUT 2 DD SYSOUT = *, DCB = BLKSIZE = 133

/ /SYSUT 2 DD DSN = dsname , DISP = . . . . . .

/ /SYSUT 2 DD DSN = dsname ( member ) ,DISP = . . . . . .

Page 96: JCL Slides

96

UTILITY CONTROL STATEMENTS for IEBGENER

GENERATE MAXNAME = n

MEMBER NAME = name

Page 97: JCL Slides

97

IEBCOPY

DIRECTORY M1 M2

MEMBER 1

MEMBER 2

DIRECTORY M1 M2

MEMBER 1

MEMBER 2

PDS 1 PDS 2

Page 98: JCL Slides

98

IEBCOPY

COPY

ALTERMOD

COPYMOD

SELECT

EXCLUDE

Page 99: JCL Slides

99

IEBCOMPR

Page 100: JCL Slides

100

IEHMOVE

COPY

MOVE

Page 101: JCL Slides

101

IEHMOVE UTILITY CONTROL STATEMENTS

COPY

MOVE

SELECT

EXCLUDE

INCLUDE

REPLACE

Page 102: JCL Slides

102

Topic 4 . VSAM Concepts

Objectives

Upon completion of this unit the student should be able to :

* Discuss the similarities and differences between the four types of VSAM data sets* Define, Delete, Copy, and Print VSAM data sets using AMS(IDCAMS).* Obtain catalog information about VSAM data sets.

Page 103: JCL Slides

103

VSAM

?? ?

?

? ? ?

?

Page 104: JCL Slides

104

WHY USE VSAM

VSAM

Page 105: JCL Slides

105

WHEN TO USE VSAM

DATA

BASE

MASTERCATALOG

USERDATA

USERCATALOG

Page 106: JCL Slides

106

VSAM MANAGES . . . . .

CATALOGS DATA

Page 107: JCL Slides

107

CATALOGS

DATASET NAME

RECORD SIZE

FREE SPACE

Page 108: JCL Slides

108

TYPES OF VSAM DATASETS

KSDS ESDS RRDS LINEAR

Page 109: JCL Slides

109

KEY - SEQUENCED DATA SETS

KSDS

MURTHY SD NAME

174167

SERIAL

Page 110: JCL Slides

110

INSERTING RECORDS INTO A KSDS

MURTHY SD SINGH KL

SACHIN T 396437

174167 746123

Page 111: JCL Slides

111

ENTRY - SEQUENCED DATA SETS

ESDS

R 1 R 2

R 3

Page 112: JCL Slides

112

RELATIVE RECORD DATA SETS

R R D S

1 2 3 ( E ) 4

* E = EMPTY SLOT

Page 113: JCL Slides

113

LINEAR DATA SET

LINEAR DATASET

DATA OBJECT

VITUALSTORAGE

MAP

Page 114: JCL Slides

114

COTROL INTERVALS

Page 115: JCL Slides

115

FIELDS IN CONTROL INTERVALS

R1 R 2 R n FREE SPACE

RDFn

RDF1

RDF2

CIDF

R CD IF D F

Page 116: JCL Slides

116

ADDING RECORDS IN A CONTROL INTERVAL

R 2

R 1 FREE SPACE

RDF1

CIDF

Page 117: JCL Slides

117

MORE ON CONTROL INTERVALS

R 1 R 2 FS RDF2

RDF1

CIDF

Page 118: JCL Slides

118

ANSWER TO QUIZ

R 1 R 2 R 3 R 4 F S

R R CD D IF F D2 1 F

Page 119: JCL Slides

119

CONTROL INTERVAL SPLITR 5 R 6

R1 R2 R3 R4 FSRDF2

RDF1

CIDF

R1 R2 R3 FSRDF2

RDF1

CIDF

R4 R5 R6 FSRD RD CIF2 F1 DF

Page 120: JCL Slides

120

CONTROL AREAS

CONTROL INTERVAL

CONTROL INTERVAL

CONTROL INTERVAL

CONTROL INTERVAL

Page 121: JCL Slides

121

THE VSAM UTILITY

ACCESS METHOD SERVICES

IDCAMS

Page 122: JCL Slides

122

INVOKING IDCAMS

//stepname EXEC PGM=IDCAMS

//SYSPRINT DD SYSOUT=A

//ddname DD DSN=clustername

//SYSIN DD *

AMS statements

/*

Page 123: JCL Slides

123

CONTROL STATEMENTS

COL 2

STATEMENT - STATEMENT

Page 124: JCL Slides

124

DEFINING A CLUSTER

DATA

INDEX

Page 125: JCL Slides

125

CLUSTER INFORMATION

DEFINE - CLUSTER -

(NAME (BE05JCL.FILE) - VOLUMES (VOL001) -

TRACKS (1,1) -

Page 126: JCL Slides

126

DATA COMPONENT

DATA -

(NAME (BE05JCL.FILE.DATA) - RECORDSIZE (200,200) -

KEYS (10 ,5) -

Page 127: JCL Slides

127

INDEX COMPONENT

INDEX -

(NAME (BE05JCL.FILE.INDEX))

Page 128: JCL Slides

128

CLUSTER

DATA

INDEX

Page 129: JCL Slides

129

DELETING DATA SETS

DELETE -

TEST. FILE -

CLUSTER - PURGE -

ERASE

Page 130: JCL Slides

130

REPRO STATEMENT

REPRO -

INFILE (ddname) -

OUTFILE (ddname) -

Page 131: JCL Slides

131

PRINTING VSAM DATA SETS

PRINT -

INDATASET (BE05JCL.FILE) -

CHAR

Page 132: JCL Slides

132

LISCAT STATEMENT

LISTCAT -

ENTRIES (BE05JCL .FILE)

Page 133: JCL Slides

133

Topic 5. Generation Data Groups.

ObjectivesUpon completion of this unit the student should be able to:

* Discuss the uses of generation data sets.

* Define and use a generation data set.

* Delete a generation data set.

Page 134: JCL Slides

134

GDGs

Page 135: JCL Slides

135

NAMING CONVENTION

ABSOLUTE NAME RELATIVENAME CHRONOLOGICAL ORDER

GEN.GOOO6VOO GEN(O) CURRENT

GEN.GOOO5VOO GEN(-1)

GEN.GOOO4VOO GEN(-2) OLDEST

Page 136: JCL Slides

136

ALLOCATE GDG BASE

GDG BASE

CATALOG

Page 137: JCL Slides

137

DEFINE MODEL DSCB

CATALOG

VTOC. . . . . . .

MODEL DSCB . . . . . .

Page 138: JCL Slides

138

CREATE GDS

0

IEFBR14

+1

-2

-1

0

Page 139: JCL Slides

139

DELETING GDG CATALOG ENTRIES

-2

Page 140: JCL Slides

140

Topic 6. JCL Procedures

Objectives

Upon completion of this unit the student should be able to :

* Disciss the usage of procedures

* Define an instream procedure

* Use the three methods of modifying a procedure at run time.

Page 141: JCL Slides

141

PROCEDURES

PROC

Page 142: JCL Slides

142

TYPE OF PROCEDURES

PROC

PEND

PROC

INSTREAM

CATALOGUED

Page 143: JCL Slides

143

//[name] JCLLIB ORDER=(Library[,library] …)

//MYLIB JCLLIB ORDER=(BE05.JCL.PROCLIB,// BE05.JCL.PROCLIB1)

Page 144: JCL Slides

144

//[name] INCLUDE MEMBER=name

//BE05JCL JOB . . . . .//LIBRARY JCLLIB ORDER=BE05MST.JCL.PROCLIB//STEP1 EXEC PGM=PRINT//DD1 INCLUDE MEMBER=SYSOUT1//STEP2 EXEC PGM=DELETE . . .

Page 145: JCL Slides

145

INVOKING A PROCEDURE

// EXEC Procname

// EXEC PROC=procname

Page 146: JCL Slides

146

SPECIFYING AN INSTREAM PROC.

PROC•

PEND

Page 147: JCL Slides

147

Procedure C://C PROC//C51 EXEC PGM=GHI

//C PEND

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

Job Stream://JOB1 JOB . . . . .//STEP1 EXEC PROC=A .//STEP2 EXEC PGM=JKL . . .

Page 148: JCL Slides

148

//JOB1 JOB . . . . . level 0

//CS1 EXEC PGM=GHI level 3

.

//BS2 EXEC PGM=DEF level 2

.

//AS2 EXEC PGM=ABC level 1 .

//STEP2 EXEC PGM=JKL level 0

Page 149: JCL Slides

149

MODIFYING A PROCEDURE

PROC

REVISED

Page 150: JCL Slides

150

OVERRIDING DD STATEMENTS IN A PROCEDURE

//MYPROC PROC

//STEP1

//IN DD DSN=A// PEND

// EXEC MYPROC//STEP1.IN DD DSN=B

Page 151: JCL Slides

151

ORDERING THE OVERRIDE STATEMENTS

//MYPROC PROC//S1 EXEC ---------//DD1 DD ----------//S2 EXEC ----------//DD2 DD ----------//RUN EXEC MYPROC//S1.SYSIN DD *

----------- -----------//S2.SYSIN DD * ------------ -----------/*

Page 152: JCL Slides

152

SYMBOLIC PARAMETERS

//MYPROC PROC U=SYSDA

//DD1 DD DSN=……., UNIT= &U,…….//DD2 DD DSN=……., VOL=SER= &P,…..

// EXEC MYPROC,P=EDPAK3

Page 153: JCL Slides

153

//[name] SET symbolic-parameter=value

//SP1 SET PARM3=‘3400-6’

//SP2 SET PARM4=123456

Page 154: JCL Slides

154

MODIFYING THE EXEC STATEMENT

PROC=_______

COND=

REGION=

Page 155: JCL Slides

155

Topic 7. Introduction to DFSMS

Objectives

The purpose of this unit is to introduce SMS concepts.

Page 156: JCL Slides

156

STORAGE MANAGEMENT SUBSYSTEM

NON SMS

193

1D3

5CB

240 978

3350

3380

3380J

3380

3380K

3380E 3380

3380JMVSRES

3380KPAST

CACHE

DSN=EndDISP=UserUNIT=VOL=SER=DCB=TRKCYLRECFMLRECLEXPDTRETPD

PERFORMANCE UTILIZATION

DC

SC

MC

DSN=

DISP=

SMS

FUTURE

DASDSTORAGE

Page 157: JCL Slides

157

DATASET

WHAT ARE THE SERVICES ?

SELECTION ROOTWHATDOESITLOOKLIKE

WHATARETHESERVICES

SELECTIO RN O U T I N E

DATACLASS

MANAGEMENT CLASSSTORAG CE L A S S STORAGE GROUP

SELECTION ROUTINE

SELECTION R O U T I N E

WHERE IS IT PLACED ?

Page 158: JCL Slides

158

WHAT DOES IT LOOK LIKE ?

Data Class Attributes----Data set type----Record length

----Space Information----EXPDT / RETPD

----VSAM Keys----VSAM subparameters

DATACLASS

D C

Page 159: JCL Slides

159

WHAT IS THE SERVICE ?

Storage Class Attributes

---- Performance

---- Continuous availability

STORAGECLASS

SC

Page 160: JCL Slides

160

HOW IS IT MANAGED ?

M CManagement Class Attributes

----Recovery capability

----Space occupancy

Page 161: JCL Slides

161

WHERE IS IT PLACED ?

Storage Group Attributes

----- Volume management

NOT visible to users !

S C

Page 162: JCL Slides

162

Automatic Class Selection Environment

DATACLASSROUTINE

STORAGECLASSROUTINE

ManagementCLASSROUTINE

STORAGECLASSROUTINE

SC=xxx

notsystemmanaged

sc=null

systemmanaged

Page 163: JCL Slides

163

SMS can manage

• PHYSICAL SEQUENTIAL• PARTITIONED• VSAM• BDAM• GENERATION DATA GROUPS (GDG)• TEMPORARY• VIO

Page 164: JCL Slides

164

Overview JCL Changes

* PROMOTED KEYWORDS

* SUPPORT OF SMS SPECIFICATIONS

* NEW WAYS TO REFERENCE ‘MODEL’

* VSAM DEFINITIONS VIA JCL

Page 165: JCL Slides

165

New JCL Keywords

ALL DATA SETS SMS MANAGED

DATACLASRECORGAVGRECKEYOFFLIKEREFDDSECMODEL

STORCLASMGMCLAS

Page 166: JCL Slides

166

JCL Data Class

* SPECIFIES DATA CLASS FOR NEW SYSTEM - or NON-SYSTEM -MANAGED DASD DATA SETS

* DATA CLASS IS A NAMED LIST OF DEFAULT ALLOCATION ATTRIBUTES RECORG KEYOFF RECFM RETPD / EXPDT LRECL SPACE KEYLEN VOLUME COUNT

VSAM OPTIONS (IMBED , REPLICATE , CISIZE , FREESPACE, SHAREOPTIONS)

Page 167: JCL Slides

167

JCL Storage Class

* SPECIFICATIONS STORAGE CLASS FOR NEW SYSTEM- MANAGED DATA SETS

* STORAGE CLASS IS A NAMED LIST OF OBJECTIVES PERFORMANCE AVAILABILITY

* REQUEST FOR SERVICE, NOT FOR RESOURCE

Page 168: JCL Slides

168

JCL Management Class

* SPECIFIES MANAGEMENT CLASS FOR NEW SYSTEM- MANAGED DATA SETS

* NAMED LIST OF AVAILABILITY AND SPACE MANAGEMENT ATTRIBUTES

------PARTIAL RELEASE ------BACKUP ------RETENTION ------MIGRATION

* SPECIFICATIONS DIRECT ‘DFHSM’ ACTIVITIES

Page 169: JCL Slides

169

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

Page 170: JCL Slides

170

NEW JCL LIKE PARAMETER

* SPECIFIES PROPERTIES OF AN EXISTING CATALOGED DATA SET TO BE USED TO ALLOCATE A NEW DATA SET

RECORG LRECL RECFM KEYLEN SPACE KEYOFF* REPLACES DCB = dsname* INCONSISTENCIES BETWEEN JCL AND TSO LIKE

----BLKSIZE, EXPDT COPIED FOR TSO LIKE ,NOT NOT SO FOR JCL LIKE

----JCL LIKE COPIES DIRECTORY SIZE, TSO PROMPTS FOR IT

Page 171: JCL Slides

171

VSAM DATA SET via JCL

//NEWVSAM DD DSN =MY.NEW.VSAM,DISP=(NEW,CATLG)// LRECL=120,// SPACE=(120,(1000,500)),// AVGREC=K,// RECORG=KS,// KEYLEN=17,// KEYOFF=6

Page 172: JCL Slides

172

CATALOGING PERMANENT SMS DATA SET

* ALL PERMANENT SMS DATA SETS ARE

* CATALOGED AT TIME OF SPACE ALLOCATION * UNCATALOGED WHEN DATA SET IS SCRATCHED

* ALLOCATION OF NON-VSAM DATA SETS CAUSES

* THE CREATION OF A BCS ENTRY * THE CREATION OF A VVDS ENTRY

* UNCATALOGED DATA SETS CANNOT BE SMS MANAGED

Page 173: JCL Slides

173

CATALOGING TEMPORARY VSAM DATA SETS

* CATALOGING TEMPORARY VSAM DATA SETS ----NO BCS ENTRY IS CREATED ----ONLY VVR(s) ARE BUILT ----STANDARD TEMPORARY DATA SET NAME

* LIMITATIONS ----NO AIX or PATH SUPPORT ----SHAREOPTIONS(1) ONLY ----SINGLE VOLUME ONLY

* TEMPORARY NON-VSAM DATA SETS REMAIN UNCATALOGED

Page 174: JCL Slides

174

GDG PROCESSING

* SMS-managed GDG consists of cataloged sequential and / or direct data sets residing on DASD volumes* SMS-managed GDG may contain both SMS-and non-SMS- -managed GDGs* GDSs in a GDG can have like or unlike data set attributes and data set organisations* SMS affects GDG processing due to its implementation of mandatory cataloging.Changes are : ---Allocation without pattern DSCB ---Allocation of new generation ---AMS ALTER command usage ---Disposition processing of new generations

Page 175: JCL Slides

175

Topic 8. Open Edition

Objectives

The purpose of this unit is to introduce the student to edition

Page 176: JCL Slides

176

FILE NAMING CONVENTIONS

C program . . .open(char “ / dir1 /DIR2 / FILEname “, Int O_RDONLY);

ROOT DIRECTORY

DXFILE1FILE2

DIR2

FILEname

Page 177: JCL Slides

177

FILE NAMING CONVENTIONS WITH PATH =

OPENEDITION DD STATEMENT://DD1 DD PATH=‘/ dir1 / DIR2 / FILEname// . . ROOT DIRECTORY

DX

FILE1FILE2

dir1

dir2

FILEname

Page 178: JCL Slides

178

NEW JCL KEYWORDS

New JCL keywords for HFS files:

PATH = HFS file namePATHOPTS= HFS file access and status modePATHMODE= HFS file access attributesPATHDISP= HFS file disposition

Commands and macros affected by this change:

ALLOCATE TSO / E CommandDYNALLOC Macro

Page 179: JCL Slides

179

MODIFIED JCL PARAMETERS

Modified JCL Parameter :

DSNTYPE =[HFS] {PIPE}

Page 180: JCL Slides

180

DATA ACCESS

TRADITIONAL

2) DCB

DCB a.b.c

A.B.C1)dname

//SYSPRINT DD DSN =A,B,C

DDNAME

POSIX2)FILEDESCRIPTOR

23=/a/b/c

a/b/c1) PATHNAME

MYDATA = a/b/c

Symbolic link

Page 181: JCL Slides

181

NON-POSIX CALLABLE SERVICES

RMF

1101

UMTUNMOUNT()

MNTMOUNT()

MKNMKNOD()

CHACHAUDLTL()

FCHFCHAUDIT()

QSEQUIESCE()

UQSUNQUIESCE()

GMNW-GETMNTENT()

STFW-STATFS()

MPC

MVS

LPA

EXMexecmvs()

MSDmvsunsigsetup()

MSSmvssigsetup()

PTRptrace()

RMG resource()

HW

IOClootl()

Page 182: JCL Slides

182

BATCH ENVIRONMENT

MVS batct job :

START OF JOB

MVS BATCH PROGRAM

OPEN MVS BATCH PROG.

MVS BATCH PROGRAM

END OF JOB

//OPENBATC JOB

//S1 EXEC PGM=MVSPROG1

//S2 EXEC PGM=BPXBATCH,// PARM=‘pgm cprog a1 a2’

//S3 EXEC PGM=MVSPROG2

//

Page 183: JCL Slides

183

JCL EXAMPLE - SHELL SCRIPT

Open MVS batch execution of a shell script :

//OMVSSHELL JOB USER=username//OMVSEXEC EXEC PGM=BPXBATCH//STDIN DD PATH=‘/DIR1/DIR2/SHELL.SCRIPT//STDOUT DD PATH=‘DIR1/DIR2/STD.OUTPUT’,// PATHOPTS=(OWONLY,OCREATE),// PATHMODE=(SIRWXV),// PATHDISP=KEEP//STDERR DD PATH=‘DIR1/DIR2/STD.ERROR’,// PATHOPTS=(OWONLY,OCREATE),// PATHMODE=(SIRWXV),// PATHDISP=KEEP

Page 184: JCL Slides

184

JCL EXAMPLE - C PROGRAM

OPEN MVS BATCH EXECUTION OF C PROGRAM

//OMVSCPGM JOB USER=username//OMVSEXEC EXEC PGM=BPXBATCH,// PARM=‘pgm cporg a1 a2’//STDOUT DD PATH=‘/DIR1/DIR2/STD.OUTPUT’,// PATHOPTS=(OWONLY,OCREATE),// PATHMODE=(SIRWXV),// PATHDISP=KEEP//STDERR DD PATH=‘DIR1/DIR2/STD.ERROR’,// PATHOPTS=(OWONLY,OCREATE),// PATHMODE=(SIRWXV),// PATHDISP=KEEP//