Fix JCLs
Here are some invalid JCLs template with atleast 1 error. Fix the JCL and execute them successfully.
Pre requiste before you can execute below JCL's
Create a dataset with RECFM=FB,LRECL=80,BLKSIZE
to store the below REXX with name RETRC
.
/* REXX RETURN EXPECTED RC */
PARSE ARG RETCD
SAY RETCD
IF DATATYPE(RETCD) <> 'NUM' THEN RETCD = 0
EXIT RETCD
Invalid JCLs to fix
note
Replace <Your ID>
with your training id and <YOUR REXX EXEC>
with your previously create REXX EXEC dataset which have RETRC
member.
//<YOUR ID>A JOB ,NOTIFY=&SYSU1D
//COMBINE EXEC PGM=IRXJCL,PARM='RETRC 2'
//SYSEXEC DD DSN=<YOUR REXX EXEC>,DISP=SHR
//SYSTSIN DD DUMMY
//SYSTSPRT DD DSN=&SYSU1D..EXERCISE.OUTPUT1,
// DISP=(MOD,CATLG),SPACE=(CYL,(2,2)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//<YOUR ID>B JOB ,MSGLEVEL=0,1
//COMBINE EXEC PGM=IRXJCL,PARM='RETRC 2'
//SYSEXEC DD DSN=<YOUR REXX EXEC>,DISP=SHR
//SYSTSIN DD DUMMY
//SYSTSPRT DD DSN=&SYSUID..EXERCISE.OUTPUT2,
// DISP=(MOD,CATLG),SPACE=(CYL,(2,2)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//<YOUR ID>C JOB ,NOTIFY=&SYSUID
//COMBINE EXEC PARM='RETRC 2',PGM=IRXJCL
//SYSEXEC DD DSN=<YOUR REXX EXEC>,DISP=SHR
//SYSTSIN DD DUMMY
//SYSTSPRT DD DSN=&SYSUID..EXERCISE.OUTPUT3,
// DISP=(MOD,CATLG),SPACE=(CYL,(2,2)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//<YOUR ID>D JOB ,TYPRUN=SCAN,NOTIFY=&SYSUID
//COMBINE EXEC PGM=IRXJCL,PARM='RETRC 2'
//SYSEXEC DD DSN=<YOUR REXX EXEC>,DISP=SHR
//SYSTSIN DD DUMMY
//SYSTSPRT DD DSN=&SYSUID..EXERCISE.OUTPUT4,
// DISP=(MOD,CATLG),SPACE=(CYL,(2,2)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//<YOUR ID>E JOB ,TYPRUN=HOLD,NOTIFY=&SYSUID
//COMBINE EXEC PGM=IRXJCL,PARM='RETRC 2'
//SYSEXEC DD DSN=<YOUR REXX EXEC>,DISP=SHR
//SYSTSIN DD DUMMY
//SYSTSPRT DD DSN=&SYSUID..EXERCISE.OUTPUT5,
// DISP=(MOD,CATLG),SPACE=(CYL,(2,2)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//<YOUR ID>F JOB ,NOTIFY=&SYSUID
//OUTPUT1 EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
// DD1 DD DSN=&SYSUID..EXERCISE.OUTPUT6,
// DISP=(MOD,CATLG),SPACE=(CYL,(2,2)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//<YOUR ID>G JOB ,NOTIFY=&SYSUID
//OUTPUT1 EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
// DD DSN=&SYSUID..EXERCISE.OUTPUT7,
// DISP=(MOD,CATLG),SPACE=(CYL,(2,2)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//<YOUR ID>H JOB ,NOTIFY=&SYSUID
//OUTPUT1 EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//DD1 DD DSN=&SYSUID..EXERCISE,OUTPUT8,
// DISP=(MOD,CATLG),SPACE=(CYL,(2,2)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//<YOUR ID>I JOB ,NOTIFY=&SYSUID
//OUTPUT1 EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//1DD DD DSN=&SYSUID..EXERCISE.OUTPUT9,
// DISP=(MOD,CATLG),SPACE=(CYL,(2,2)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//<YOUR ID>J JOB ,TYPRUN=HOLD,NOTIFY=&SYSUID
//COMBINE EXEC PGM=IRXJCL,PARM=RETRC 2
//SYSEXEC DD DSN=<YOUR REXX EXEC>,DISP=SHR
//SYSTSIN DD DUMMY
//SYSTSPRT DD DSN=&SYSUID..EXERCISE.OUTPUTA,
// DISP=(MOD,CATLG),SPACE=(CYL,(2,2)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
TODO PAVAN FIX THIS
//<YOUR ID>K JOB ,TYPRUN=HOLD,NOTIFY=&SYSUID
//COMBINE EXEC PGM=IRXJCL,PARM='LOOP 100000',COND=(,10)
//SYSEXEC DD DSN=<YOUR REXX EXEC>,DISP=SHR
//SYSTSIN DD DUMMY
//SYSTSPRT DD DSN=&SYSUID..EXERCISE.OUTPUTB,
// DISP=(MOD,CATLG),SPACE=(CYL,(2,2)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
Create Valid DD Statements
- Create A PS with a Fixed block type and Record size 98.
- Create A PDS with Fixed type with Block size 120.
- Create A valid DSORG=PO type dataset
- Create A Dataset with Secondary quantity of 20 CYLS
- Create A Dataset on ZAPRD4 volume.
DISP for new Dataset
Sample Job to try
//<YOUR ID>J JOB ,NOTIFY=&SYSUID
//OUTPUT1 EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//DD1 DD DSN=&SYSUID..EXERDIST.OUTPUT1,
// SPACE=(CYL,(2,2)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
// <GIVE YOU DISP HERE>
Try Following DISP for the New Dataset in the Below JCL and note down your observations Note: Make sure to delete the dataset before running the job
- NO DISPOSITION
- (Only Status)
- DISP=NEW, DISP=OLD, DISP=SHR, DISP=MOD
- (Status and Normal)
- DISP=NEW,KEEP DISP=OLD,KEEP, DISP=SHR,KEEP
- DISP=NEW,CATLG DISP=OLD,CATLG
- DISP=NEW,UNCATLG DISP=MOD,UNCATLG
DISP Parameter for Existing Dataset
Sample Job to try
//<YOUR ID>J JOB ,NOTIFY=&SYSUID
//OUTPUT1 EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//DD1 DD DSN=&SYSUID..EXERDIST.OUTPUT1,
// SPACE=(CYL,(2,2)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
// <GIVE YOU DISP HERE>
Try Following DISP for the Existing Dataset in the Above JCL and note down your observations
- NO DISPOSITION
- (Only Status)
- DISP=NEW, DISP=OLD, DISP=SHR, DISP=MOD
- (Status and Normal)
- DISP=NEW,KEEP DISP=OLD,KEEP, DISP=SHR,KEEP
- DISP=NEW,CATLG DISP=OLD,CATLG
- DISP=NEW,UNCATLG DISP=MOD,UNCATLG