0% found this document useful (0 votes)
467 views184 pages

Topic 1. Introduction

This document provides information on Job Control Language (JCL) including what JCL is, the different JCL statements, and parameters that can be used on each statement. It describes the JOB, EXEC, and DD statements as well as positional and keyword parameters. It also discusses JES2 and JES3 control statements.

Uploaded by

Sreenivas Rao
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
467 views184 pages

Topic 1. Introduction

This document provides information on Job Control Language (JCL) including what JCL is, the different JCL statements, and parameters that can be used on each statement. It describes the JOB, EXEC, and DD statements as well as positional and keyword parameters. It also discusses JES2 and JES3 control statements.

Uploaded by

Sreenivas Rao
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 184

Topic 1.

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 ?

JOB CONTROL LANGUAGE

L ANGUAGE WE USE TO

C ONTROL THE EXECUTION OF

J OB’S IN THE SYSTEM

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

JOB PACK AREA

PAGEABLE LINK PACK


AREA(PLPA)

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

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.

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

//TSOIOXXA JOB ………………

//#STEPA EXEC ………………

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

13
OPERATION FIELD

// TSOIOXXA JOB …………….

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

//INDATA DD ………………

//INTEST IF

//LIB JCLLIB

14
PARAMETER FIELD

// RUN1 JOB D69A , DOE , MSGCLASS = S

//ST1 EXEC PGM = ADVJCL

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

15
COMMENT FIELD

// ST1 EXEC PGM = ADVJCL STEP1

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

16
CONTINUATION OF STATEMENTS

POS

1 71

//NAME OPERATION PARAMETER,

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

//ST1 EXEC BJCL THIS STMNT C

// CALLS THE BASIC JCL

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

DISP = (NEW , KEEP , KEEP )

DISP = ( , KEEP , KEEP)

DCB = (RECFM = FB , LRECL = 80)

DCB = (LRECL = 80 , RECFM = FB )

22
JOB STATEMENT

/ / JOBNAME JOB . . . . .

ACCT FIELD CLASS

PGMER NAME NOTIFY


MSG LEVEL TYPRUN
MSG CLASS PRTY
COND RESTART
USER REGION

23
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‘, . . . . .

24
KEYWORD PARAMETERS ON THE JOB STMNT.

// RUNA JOB 3 MACH 369AC56W , DAVIS ,

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

// CLASS = E , NOTIFY = TSOIO50 ,

// TYPRUN = SCAN

25
RESTART PARAMETER

STEP1

STEP2

STEP3
RESTART
STEP4

26
JOB ENTRY SUBSYSTEM

E 2

J S 3

27
JES 2 CONTROL STATEMENTS

$ COMMAND OUTPUT SIGNOFF

JOBPARM PRIORITY SIGNON

MESSAGE ROUTE XEQ

NETACCT SETUP XMIT

NOTIFY

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

//C1 COMMAND ‘ S RMT1 ‘

//C2 COMMAND ‘ SEND ‘ ‘ THE COMPILE STEP


IS NOW COMPLETE ‘ ‘, USER = BE 05 ‘

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

JES JOB LOG -----SYSTEM K158 ----NOD


11.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 31
1 IEF6301 UNIDENTIFIED KEYWORD CLAS
JES2 JOB LOG ----- SYSTEM K158 ----- NOD

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

1 IEF6431 UNIDENTIFIED POSITIONSL PARAMETER IN THE MSGLEVEL FIELD

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

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

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

1 IEF6321 FORMAT ERROR IN THE MSGCLASS FIELD

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

// STEPNAME EXEC PGM = IEBGENER

// STEPNAME EXEC PROC = BASICJCL

// STEPNAME EXEC BASICJCL

36
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

37
TIME PARAMETER

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

{ 1440 }

{ NOLIMIT }

{ MAXIMUM }

38
TIME PARAMETER

// IF [ ( ] relational - expression [ ) ] THEN


.
.
action when relational - expression is true

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

// [ name] ENDIF

39
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
40
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 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

2 IEF6471 FIRST CHARACTER OF NAME NOT ALPHABETIC OR NOT NATIONAL

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

1 IEF6321 FORMAT ERROR IN THE MSGCLASS FIELD


2 IEF6051 UNIDENTIFIED OPERATION FIELD

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

2 IEF6051 UNIDENTIFIED OPERATION FIELD


3 IEF6051 UNIDENTIFIED OPERATION FIELD

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

2 IEF6051 UNIDENTIFIED OPERATION FIELD


6 IEF6051 JOB HAS NO STEPS

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

2 IEF6051 INCORRECT USE OF MINUS ON THE EXEC STATEMENT

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

2 IEF6051 UNIDENTIFIED OPERATION FIELD


6 IEF6071 JOB HAS NO STEPS

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

2 IEF6421 EXCESSIVE PARAMETER LENGTH ON THE EXEC STATEMENT

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

2 IEF6071 JOB HAS NO STEPS

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

2 IEF6071 JOB HAS NO STEPS

52
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

53
DD ( Data Definition ) STATEMENT

/ / DDNAME DD ....

* DSN VOL DCB


DATA DISP SPACE SYSOUT

DUMMY UNIT LABEL

54
DESCRIBING THE DATA

USER
PROGRAM

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

D C B (DATA CONTROL; BLOCK)

55
POSITIONAL PARAMETERS ON THE DD STMNT.

/ / INDATA DD * , DLM =
DATA

instream data for input

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

or two character delimiter

// INDATA DD DUMMY

56
KEYWORD PARAMETERS ON THE DD STATEMENT

/ / SYSUT 2 DD DSN = OUTTAPE ,

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

// VOL = SER = TAPE 01 ,

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

57
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

58
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

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.A EDUC.B EDUC.C

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

DSNAME = TSOIO99 . DATA

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

DSN = TSOI O 99 . MORE .OPED . DATA

64
PATITIONED DATA SET ( PDS ) NAME

DSN = ENTRY ( TEST 2 )

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


44 CHAR. 8 CHAR.

65
TEMPORARY DATA SET NAME

DSN = & & SORTOUT

DSN = & & TEMP ( MEM 1 )


8.CHARS. 8.CHARS.

66
DEFINITION OF REFERBACKS

/ / TSOIO XX JOB

/ / STEP 1 EXEC

/ / OUT 2 DD DSN =

/ / STEP 5 EXEC

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

67
DATA SET REFERENCED FROM A PREVIOUS STEP

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

// DISP = ( OLD , DELETE )

68
DISP PARAMETER ON THE DD STATEMENT

INITIAL NORMAL ABNORMAL

DISP = ( NEW , DELETE , DELETE)

OLD , KEEP , KEEP

SHR , PASS , CATLG

MOD , CATLG , UNCATLG


, UNCATLG

69
UNIT PARAMETER

UNIT = ( DEV ADDRESS , UNIT COUNT , DEFER )

DEV TYPE

GROUP NAME

70
VOLUME OR VOL PARAMETER

VOL = SER = EDPAK 5

VOL = REF = DSNAME

VOL = REF = * . DDNAME

71
SPACE PARAMETER

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

CYL

blklgth

72
VOLUME LABEL ON TAPE

TA HDR 2 HDR 1 VOLUME LABEL


PE
MA
RK

TAPE MARK EOF 1 EOF 2


STANDARD DATASET 1 TA
PE
LABEL MA
RK
TAPE TAPE TAPE
EOF 2 EOF 1 DATASET 2 HDR2 HDR1
MARK MARK MARK

TAPE
TA DATASET 2 MARK DATASET 1
PE
MA
RK
TAPE MARK
NO
LABEL

73
LABEL PARAMETER

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

, SUL , EXPDT = yyddd)

, AL
, AUL

, NSL
, NL

, BLP
, LTM

74
DCB PARAMETER

DCB = ( RECFM = RECORD FORMAT ,

LRECL = LOGICAL RECORD LENGTH ,

BLKSIZE = LGTH OF BLK )

75
SYSOUT PARAMETER

SYSOUT = ( CLASS NAME )

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

• IEHATLAS • IEBCOMPR • IEBISAM

• IEHINITT • I EBCOPY • IEBPTPCH

• IEHLIST • IEBDG • IEBUPDTE

• IEHMOVE • IEBEDIT

• IEHPROGM • IEBGENER

• IFHSTATR • IEBIMAGE

INDEPENDENT UTILITY PROGRAMS


• ICAPRTBL
84
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)

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 ,

/ / VOL = SER = serial ., DISP = SHR


/ /ANYNAME 2 DD UNIT = ,VOL = ,DISP =

/ /SYSIN DD *
UTILITY CONTROL STATEMENT
/*

87
UTILITY CONTROL STATEMENTS for IEHPROGM

SCRATCH DSNAME = dsname , X

VOL = device = serial

UNCATLG DSNAME = dsname

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 *

UTILITY CONTROL STATEMENT


/*

90
UTILITY CONTROL STATEMENTS for IEHLIST

LISTPDS DSNAME = dsname , X

VOL = device = serial , format

LISTVTOC DSNAME = dsname , X

VOL = device = serial , format

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 *

UTILITY CONTROL STATEMENT

/*

93
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

94
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 = . . . . . .

95
UTILITY CONTROL STATEMENTS for IEBGENER

GENERATE MAXNAME = n

MEMBER NAME = name

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

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.

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

KSDS ESDS RRDS LINEAR

108
KEY - SEQUENCED DATA SETS

KSDS

MURTHY SD 174167
NAME
SERIAL

109
INSERTING RECORDS INTO A KSDS

SACHIN T 396437

MURTHY SD 174167 SINGH KL 746123

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

//stepname EXEC PGM=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) -

KEYS (10 ,5) -

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 -

ENTRIES (BE05JCL .FILE)

132
Topic 5. Generation Data Groups.

Objectives
Upon 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.

133
GDGs

134
NAMING CONVENTION

ABSOLUTE NAME RELATIVENAME CHRONOLOGICAL


ORDER

GEN.GOOO6VOO GEN(O) CURRENT

GEN.GOOO5VOO GEN(-1)

GEN.GOOO4VOO GEN(-2) OLDEST

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

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.

140
PROCEDURES

PROC

141
TYPE OF PROCEDURES

INSTREAM

CATALOGUED
PR
OC

PR
OC
PE
ND

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

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


// BE05.JCL.PROCLIB1)

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

//CS1 EXEC PGM=GHI level 3

//BS2 EXEC PGM=DEF level 2

//AS2 EXEC PGM=ABC level 1

//STEP2 EXEC PGM=JKL 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

//MYPROC PROC U=SYSDA

//DD1 DD DSN=……., UNIT= &U,…….


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

// EXEC MYPROC,P=EDPAK3

152
//[name] SET symbolic-parameter=value

//SP1 SET PARM3=‘3400-6’

//SP2 SET PARM4=123456

153
MODIFYING THE EXEC STATEMENT

PR
OC
=_
___
_ __

COND=

REGION=

154
Topic 7. Introduction to DFSMS

Objectives

The purpose of this unit is to introduce SMS concepts.

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

3380J 3380K 156


WHAT ARE THE SERVICES ?
W
W H
H SELECTION ROOT A
A S S
T
T E E
A
D L MANAGEMENT CLASS L
S R
O E D E
T E
E C A C
O T
S T T T
R H
I I A I
DATASET A E
T OR C O
GC S
L NO L NR
EL E
O U A O
A R
O T S U
S V
K I S STORAGE GROUP T
S I
L N I
C
I E N
E
K E
SELECTION ROUTINE S
E
WHERE IS IT PLACED ?
157
WHAT DOES IT LOOK LIKE ?

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

---- Performance STORAGE


CLASS

---- Continuous availability

159
HOW IS IT MANAGED ?

Management Class Attributes M C

----Recovery capability

----Space occupancy

160
WHERE IS IT PLACED ?

SC
Storage Group Attributes

----- Volume management

NOT visible to users !

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

* SUPPORT OF SMS SPECIFICATIONS

* NEW WAYS TO REFERENCE ‘MODEL’

* VSAM DEFINITIONS VIA JCL

164
New JCL Keywords

ALL DATA SETS SMS MANAGED

DATACLAS STORCLAS
RECORG MGMCLAS
AVGREC
KEYOFF
LIKE
REFDD
SECMODEL

165
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)

166
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

167
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

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

* 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

170
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

171
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

172
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

173
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

174
Topic 8. Open Edition

Objectives

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

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

New JCL keywords for HFS files:

PATH = HFS file name


PATHOPTS= HFS file access and status mode
PATHMODE= HFS file access attributes
PATHDISP= HFS file disposition

Commands and macros affected by this change:

ALLOCATE TSO / E Command


DYNALLOC Macro

178
MODIFIED JCL PARAMETERS

Modified JCL Parameter :

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

DDNAME Symbolic link

//SYSPRINT DD DSN =A,B,C MYDATA = a/b/c

180
NON-POSIX CALLABLE SERVICES

MNT CHA EXM


UMT MOUNT() CHAUDLTL() execmvs()
LPA
UNMOUNT() MKN MSD
MKNOD() mvsunsigsetup()
FCH
MSS MVS
FCHAUDIT()
mvssigsetup()
1101 QSE
QUIESCE() PTR
ptrace()
UQSUNQUIESCE() RMF
GMN
W-GETMNTENT() HW
STF RMG
W-STATFS() resource()
MPC

IOC 181
lootl()
BATCH ENVIRONMENT

MVS batct job :

//OPENBATC JOB START OF JOB

MVS BATCH PROGRAM


//S1 EXEC PGM=MVSPROG1

//S2 EXEC PGM=BPXBATCH, OPEN MVS BATCH PROG.


// PARM=‘pgm cprog a1 a2’

MVS BATCH PROGRAM


//S3 EXEC PGM=MVSPROG2

// END OF JOB
182
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

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

184

You might also like