Top Banner
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
184
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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//