You are on page 1of 25

1

JCL Example Sample Reference Code

IEFBR14 - JCL to create a PS dataset(s)


IEFBR14 - JCL to delete a PS dataset(s)
IEFBR14 - JCL to create a PDS dataset(s)
IEFBR14 - JCL to delete a PDS dataset(s)
IEBGENER - JCL to create a PDS dataset member(s)
IDCAMS - JCL to delete a PDS dataset member(s)
IDCAMS - JCL to create a GDG base(s)
IEFBR14 - JCL to create a GDG generation(s)
IDCAMS - JCL to delete a GDG base & generations(s)
IEFBR14 - JCL to delete one GDG generation(s)
IEFBR14 - JCL to delete all GDG generation(s)
IDCAMS - JCL to create a VSAM - ESDS
IDCAMS - JCL to create a VSAM - KSDS
IDCAMS - JCL to create a VSAM - RRDS
IDCAMS - JCL to create a VSAM - LDS
IDCAMS - JCL to LISTCAT a VSAM
IDCAMS - JCL REPRO – copy from PS to ESDS
IDCAMS - JCL REPRO – copy from PS to KSDS
IDCAMS - JCL REPRO – copy from KSDS to PS
IDCAMS - JCL REPRO – copy from PS to RRDS
IDCAMS - JCL REPRO – copy from ESDS to ESDS
IDCAMS - JCL REPRO – copy from RRDS to RRDS
IEBCOPY - JCL to copy all member from one PDS to another
IEBCOPY - JCL to copy all member from one PDS to another PDS using SYSUT
IEBCOPY - JCL to copy specific member from one PDS to another PDS
IEBCOPY - JCL to copy two PDS member to one PDS
IEBCOPY - JCL to copy specific member from two PDS to one PDS
IEBCOPY - JCL to rename member while copying PDS to PDS
IEBCOPY - JCL to replace member while copying PDS to PDS
IEBCOPY - JCL to exclude/omit members while copying PDS to PDS
IEBCOPY - JCL to rename and replace while copying PDS to PDS
IEBCOMPR - JCL to compare PS datasets
IEBCOMPR - JCL to compare PDS datasets
IEBEDIT - JCL to copy whole job into another dataset
IEBEDIT - JCL to copy multiple job into another dataset
IEBEDIT - JCL to copy steps using INCLUDE and EXCLUDE command
IEBEDIT - JCL to copy steps using POSITION member
IEBCOPY - JCL to merge Datasets
IEBCOPY - JCL to compress a PDS
IEHLIST - JCL to list a PDS
IEHLIST - JCL to list a VTOC
IEHPROGM - JCL to SCRATCH a dataset
IEHPROGM - JCL to UNCATALOG a dataset
SORT - JCL to SORT a single field
SORT - JCL to SORT multiple fields
SORT - JCL to SORT multiple fields using FORMAT keyword
SORT - JCL to SORT record in ascending order
2

SORT - JCL to SORT record in descending order


SORT - JCL to copy a dataset using SORT
SORT - JCL to SORT the record with INCLUDE condition
SORT - JCL to SORT the record with INCLUDE many condition
SORT - JCL to SORT the record with omit condition
SORT - JCL to SORT the record with OUTREC field
SORT - JCL to copy a dataset using SORT OUTREC with FINDREP
SORT - JCL to SORT the record and write OUTREC at specific columns
SORT - JCL to SPLIT file record based on condition
SORT - JCL to SPLIT a dataset into equal parts
SORT - JCL to SORT for Multiple copies using OUTFIL
SORT - JCL to remove duplicate record from dataset
SORT - JCL to COPY only first 100 records in dataset
SORT - JCL to Overwrite input record content
SORT - JCL to SORT with IF condition
SORT - JCL to convert a FB data set to VB
SORT - JCL to convert a VB data set to FB
ICETOOL - JCL To Copy Dataset Using ICETOOL
SORT - JCL To Omit Numeric Data
SORT - JCL To Include Numeric Data
JCL SORT - Include Uppercase characters Data(A-Z)
JCL SORT - Include lowercase characters Data(a-z)
JCL SORT - Include Both Uppercase and Lowercase characters Data(A-Z, a-z)
JCL SORT - Include Uppercase and Numeric characters Data(A-Z, 0-9)
JCL SORT - Include Lowercase and Numeric characters Data (a-z, 0-9)
JCL SORT - Include Uppercase, Lowercase and Numeric characters Data (A-Z, a-z, 0-9)
Share It On Social Med
1. JCL To Create A PS Dataset(S)
//RACFID01 JOB 1,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*******************************************************************************
//** JCL TO CREATE A PS DATASET
//*******************************************************************************
//STEP001 EXEC PGM=IEFBR14
//DD1 DD DSN=RACFID.IBMMF.PS1,
// DISP=(MOD,CATLG,DELETE),
// SPACE=(TRK,(10,100),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=800,DSORG=PS)
//*
//DD2 DD DSN=RACFID.IBMMF.PS2,
// DISP=(MOD,CATLG,DELETE),
// SPACE=(TRK,(10,100),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=800,DSORG=PS)
//*
2. JCL To Delete A PS Dataset(S)
//RACFID02 JOB 2,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*******************************************************************************
//* JCL TO DELETE A PS DATASET
//*******************************************************************************
//STEP001 EXEC PGM=IEFBR14
3

//DD1 DD DSN=RACFID.IBMMF.PS1,
// DISP=(OLD,DELETE,DELETE)
//*
//DD2 DD DSN=RACFID.IBMMF.PS2,
// DISP=(OLD,DELETE,DELETE)
//*
3. JCL To Create A PDS Dataset(S)
//RACFID03 JOB 3,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*******************************************************************************
//* JCL TO CREATE A PDS DATASET
//*******************************************************************************
//STEP001 EXEC PGM=IEFBR14
//DD1 DD DSN=RACFID.IBMMF.PDS1,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(CYL,(10,100,4),RLSE),
// DCB=(LRECL=80,BLKSIZE=800,RECFM=FB,DSORG=PO)
//*
//STEP002 EXEC PGM=IEFBR14
//DD2 DD DSN=RACFID.IBMMF.PDS2,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(CYL,(10,100,4),RLSE),
// DCB=(LRECL=80,BLKSIZE=800,RECFM=FB,DSORG=PO)
//*
4. JCL To Delete A PDS Dataset(S)
//RACFID04 JOB 4,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*******************************************************************************
//* JCL TO DELETE A PDS DATASET
//*******************************************************************************
//STEP001 EXEC PGM=IEFBR14
//DD1 DD DSN=RACFID.IBMMF.PDS1,
// DISP=(OLD,DELETE,DELETE)
//*
//STEP002 EXEC PGM=IEFBR14
//DD1 DD DSN=RACFID.IBMMF.PDS2,
// DISP=(OLD,DELETE,DELETE)
//*
5. JCL To Create A PDS Dataset Member(S)
//RACFID05 JOB 5,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*******************************************************************************
//* JCL TO CREATE A PDS DATASET MEMBER
//*******************************************************************************
//STEP001 EXEC PGM=IEBGENER
//SYSUT1 DD *
//SYSUT2 DD DSN=RACFID.IBMMF.PDS(MEMBER1),
// DISP=SHR
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//*
//STEP002 EXEC PGM=IEBGENER
//SYSUT1 DD *
4

//SYSUT2 DD DSN=RACFID.IBMMF.PDS(MEMBER1),
// DISP=SHR
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//*
6. JCL To Delete A PDS Dataset Member(S)
//RACFID06 JOB 6,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*******************************************************************************
//* JCL TO DELETE A PDS DATASET MEMBER
//*******************************************************************************
//STEP001 EXEC PGM=IDCAMS
//DD1 DD DSN=RACFID.IBMMF.PDS,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE 'RACFID.IBMMF.PDS(MEMBER1)' FILE(DD1)
/*
//STEP002 EXEC PGM=IDCAMS
//DD1 DD DSN=RACFID.IBMMF.PDS,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE 'RACFID.IBMMF.PDS(MEMBER2)' FILE(DD1)
/*
7. JCL To Create A GDG Base(S)
//RACFID07 JOB 7,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*******************************************************************************
//* JCL TO DELETE A PDS DATASET MEMBER
//*******************************************************************************
//STEP001 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE GDG(NAME(RACFID.IBMMF.BASE1) -
LIMIT(7) -
NOEMPTY -
SCRATCH
/*
//STEP002 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE GDG(NAME(RACFID.IBMMF.BASE2) -
LIMIT(7) -
NOEMPTY -
SCRATCH
/*
8. JCL To Create A GDG Generation(S)
//RACFID08 JOB 8,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*******************************************************************************
//* JCL TO CREATE A GDG GENERATION
//*******************************************************************************
5

//STEP001 EXEC PGM=IEFBR14


//SYSPRINT DD SYSOUT=*
//DD1 DD DSN=RACFID.IBMMF.GDG(+1),
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(100,100),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=800,DSORG=PS)
//*
//DD2 DD DSN=RACFID.IBMMF.GDG(+1),
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(100,100),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=800,DSORG=PS)
//*
9. JCL To Delete A GDG Base(S)
//RACFID09 JOB 9,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*******************************************************************************
//* JCL TO DELETE A GDG BASE
//*******************************************************************************
//STEP001 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE (RACFID.IBMMF.BASE1) -
GDG -
FORCE
/*
//STEP002 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE (RACFID.IBMMF.BASE2) -
GDG -
FORCE
/*
10. JCL To Delete One GDG Generation(S)
//RACFID10 JOB 10,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO DELETE A ONE GDG GENERATION
//********************************************************************************
//STEP001 EXEC PGM=IEFBR14
//DD1 DD DSN=RACFID.IBMMF.BASE1.G0001V00,
// DISP=(OLD,DELETE,DELETE)
//*
//DD2 DD DSN=RACFID.IBMMF.BASE2.G0001V00,
// DISP=(OLD,DELETE,DELETE)

11. JCL To Delete All GDG Generation(S)


//RACFID11 JOB 11,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO DELETE A ONE GDG GENERATION
//********************************************************************************
//STEP001 EXEC PGM=IEFBR14
6

//DD1 DD DSN=RACFID.IBMMF.BASE1,
// DISP=(OLD,DELETE,DELETE)
//*
//DD2 DD DSN=RACFID.IBMMF.BASE2,
// DISP=(OLD,DELETE,DELETE)
12. JCL To Create A VSAM - ESDS
//RACFID12 JOB 12,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO CREATE a VSAM - ESDS
//********************************************************************************
//STEP001 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE CLUSTER ( -
NAME(RACFID.IBMMF.ESDS) -
NONINDEXED -
RECSZ(200 200) -
FREESPACE(10 10) -
CISZ(8192) -
TRACKS(20 20) -
VOLUME(IBMSYS)
/*
13. JCL To Create A VSAM - KSDS
//RACFID13 JOB 13,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO CREATE a VSAM - KSDS
//********************************************************************************
//STEP001 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE CLUSTER( -
NAME(RACFID.IBMMF.KSDS) -
INDEXED -
KEYS(5 0) -
RECSZ(200 200) -
FREESPACE(10 20) -
TRACKS(50 30) -
CISZ(4096) -
VOLUME(IBMSYS))
/*
14. JCL To Create A VSAM - RRDS
//RACFID14 JOB 14,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO CREATE a VSAM - RRDS
//********************************************************************************
//STEP001 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE CLUSTER ( -
NAME(RACFID.IBMMF.RRDS) -
7

NUMBERED -
RECSZ(200 200) -
CISZ(4096) -
TRACKS(20 20) -
FREESPACE(10 10) -
VOLUME(IBMSYS))
/*
15. JCL To Create A VSAM - LDS
//RACFID15 JOB 15,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO CREATE a VSAM - LDS
//********************************************************************************
//STEP001 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE CLUSTER ( -
NAME(RACFID.IBMMF.LDS) -
LINEAR -
CISZ(4096) -
TRACKS(20 20) -
VOLUME(IBMSYS)
/*
16. JCL To LISTCAT A VSAM
//RACFID16 JOB 16,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO LISTCAT A VSAM
//********************************************************************************
//STEP001 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
LISTCAT ENTRY(RACFID.IBMMF.ESDS) -
ALL
/*
17. JCL REPRO – Copy From PS To ESDS
//RACFID17 JOB 17,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL REPRO – COPY FROM PS TO ESDS
//********************************************************************************
//STEP001 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//*
//PSFILE DD DSN=RACFID.IBMMF.PS,
// DISP=SHR
//ESDSFILE DD DSN=RACFID.IBMMF.ESDS,
// DISP=SHR
//SYSIN DD *
REPRO INFILE(PSFILE) -
OUTFILE(ESDSFILE)
/*
18. JCL REPRO - Copy From PS TO KSDS
8

//RACFID18 JOB 18,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID


//********************************************************************************
//* JCL REPRO - COPY FROM PS TO KSDS
//********************************************************************************
//STEP001 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//*
//PSFILE DD DSN=RACFID.IBMMF.PS,
// DISP=SHR
//KSDSFILE DD DSN=RACFID.IBMMF.KSDS,
// DISP=SHR
//SYSIN DD *
REPRO INFILE(PSFILE) -
OUTFILE(KSDSFILE)
/*
19. JCL REPRO - Copy From KSDS TO PS
//RACFID19 JOB 19,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL REPRO - COPY FROM KSDS TO PS
//********************************************************************************
//STEP001 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//*
//KSFILE DD DSN=RACFID.IBMMF.KSDS,
// DISP=SHR
//PSFILE DD DSN=RACFID.IBMMF.PS,
// DISP=SHR
//*
//SYSIN DD *
REPRO INFILE(KSFILE) -
OUTFILE(PSFILE)
/*
20. JCL REPRO - Copy From PS To RRDS
//RACFID20 JOB 20,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL REPRO - COPY FROM PS TO RRDS
//********************************************************************************
//STEP001 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//*
//PSFILE DD DSN=RACFID.IBMMF.PS,
// DISP=SHR
//RRDSFILE DD DSN=RACFID.IBMMF.RRDS,
// DISP=SHR
//*
//SYSIN DD *
REPRO INFILE(PSFILE) -
OUTFILE(RRDSFILE)
/*
9

21. JCL REPRO – Copy From ESDS To ESDS


//RACFID21 JOB 21,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL REPRO - COPY FROM ESDS TO ESDS
//********************************************************************************
//STEP001 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//*
//ESDS1 DD DSN=RACFID.IBMMF.ESDS1,
// DISP=SHR
//ESDS2 DD DSN=RACFID.IBMMF.ESDS2,
// DISP=SHR
//*
//SYSIN DD *
REPRO INFILE(ESDS1) -
OUTFILE(ESDS2)
/*
22. JCL REPRO – Copy From RRDS To RRDS
//RACFID22 JOB 22,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL REPRO - COPY FROM RRDS TO RRDS
//********************************************************************************
//STEP001 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//*
//RRDS1 DD DSN=RECFID.IBMMF.RRDS1,
// DISP=SHR
//RRDS2 DD DSN=RECFID.IBMMF.RRDS2,
// DISP=SHR
//*
//SYSIN DD *
REPRO INFILE(RRDS1) -
OUTFILE(RRDS2)
/*
23. JCL To Copy All Member From One PDS To Another PDS
//RACFID23 JOB 23,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COPY ALL MEMBER FROM ONE PDS TO ANOTHER PDS
//********************************************************************************
//STEP001 EXEC PGM=IEBCOPY
//DD1 DD DSN=RACFID.IBMMF.PDS1,DISP=SHR <--- INPUT DATASET
//DD2 DD DSN=RACFID.IBMMF.PDS2,DISP=SHR <--- OUTPUT DATASET
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
COPY INDD=DD1
OUTDD=DD2
10

/*
24. JCL To Copy All Member From One PDS To Another PDS Using SYSUT
//RACFID24 JOB 24,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COPY ALL MEMBER FROM ONE PDS TO ANOTHER PDS USING SYSUT
//********************************************************************************
//STEP001 EXEC PGM=IEBCOPY
//SYSUT1 DD DSN=RACFID.IBMMF.PDS1,DISP=SHR <--- INPUT DATASET
//SYSUT2 DD DSN=RACFID.IBMMF.PDS2,DISP=SHR <--- OUTPUT DATASET
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD DUMMY
25. JCL To Copy Specific Member From One PDS To Another PDS
//RACFID25 JOB 25,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COPY SPECIFIC MEMBER FROM ONE PDS TO ANOTHER PDS
//********************************************************************************
//STEP001 EXEC PGM=IEBCOPY
//DD1 DD DSN=RACFID.IBMMF.PDS1,DISP=SHR <--- INPUT DATASET
//DD2 DD DSN=RACFID.IBMMF.PDS2,DISP=SHR <--- OUTPUT DATASET
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
COPY INDD=DD1
OUTDD=DD2
SELECT MEMBER=(MEMBER8,MEMBER3,MEMBER4)
/*
26. JCL To Copy Two PDS Member To One PDS
//RACFID26 JOB 26,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COPY TWO PDS MEMBER TO ONE PDS
//********************************************************************************
//STEP001 EXEC PGM=IEBCOPY
//DD1 DD DSN=RACFID.IBMMF.PDS1,DISP=SHR <--- INPUT DATASET
//DD2 DD DSN=RACFID.IBMMF.PDS2,DISP=SHR <--- INPUT DATASET
//DD3 DD DSN=RACFID.IBMMF.PDS3,DISP=SHR <--- OUTPUT DATASET
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
COPY INDD=DD1
INDD=DD2
OUTDD=DD3
/*
27. JCL To Copy Specific Member From Two PDS To One PDS
//RACFID27 JOB 27,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COPY SPECIFIC MEMBER FROM TWO PDS TO ONE PDS
11

//********************************************************************************
//STEP001 EXEC PGM=IEBCOPY
//DD1 DD DSN=RACFID.IBMMF.PDS1,DISP=SHR <--- INPUT DATASET
//DD2 DD DSN=RACFID.IBMMF.PDS2,DISP=SHR <--- INPUT DATASET
//DD3 DD DSN=RACFID.IBMMF.PDS3,DISP=SHR <--- OUTPUT DATASET
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
COPY INDD=DD1
INDD=DD2
OUTDD=DD3
SELECT MEMBER=(MEMBER1,MEMBER5,MEMBER9)
/*
28. JCL To Rename Member While Copying PDS To PDS
//RACFID28 JOB 28,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO RENAME MEMBER WHILE COPYING PDS TO PDS
//********************************************************************************
//STEP001 EXEC PGM=IEBCOPY
//DD1 DD DSN=RACFID.IBMMF.PDS1,DISP=SHR <-- INPUT DATASET
//DD2 DD DSN=RACFID.IBMMF.PDS2,DISP=SHR <-- INPUT DATASET
//DD3 DD DSN=RACFID.IBMMF.PDS3,DISP=SHR <-- OUTPUT DATASET
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
COPY INDD=DD1
INDD=DD2
OUTDD=DD3
SELECT MEMBER=((MEMBER1,NEW1),MEMBER2)
/*
29. JCL To Replace Member While Copying PDS To PDS
//RACFID29 JOB 29,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO REPLACE MEMBER WHILE COPYING PDS TO PDS
//********************************************************************************
//STEP001 EXEC PGM=IEBCOPY
//DD1 DD DSN=RACFID.IBMMF.PDS1,DISP=SHR <-- INPUT DATASET
//DD2 DD DSN=RACFID.IBMMF.PDS2,DISP=SHR <-- INPUT DATASET
//DD3 DD DSN=RACFID.IBMMF.PDS3,DISP=SHR <-- OUTPUT DATASET
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
COPY INDD=DD1
INDD=DD2
OUTDD=DD3
SELECT MEMBER=((MEMBER2,,R))
/*
30. JCL To Exclude/Omit Members While Copying PDS To PDS
12

//RACFID30 JOB 30,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID


//********************************************************************************
//* JCL TO EXCLUDE/OMIT MEMBERS WHILE COPYING PDS TO PDS
//********************************************************************************
//STEP001 EXEC PGM=IEBCOPY
//DD1 DD DSN=RACFID.IBMMF.PDS1,DISP=SHR <-- INPUT DATASET
//DD2 DD DSN=RACFID.IBMMF.PDS2,DISP=SHR <-- OUTPUT DATASET
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
COPY INDD=DD1
OUTDD=DD2
EXCLUDE MEMBER=(MEMBER6,MEMBER3)
/*

31. JCL To Rename And Replace While Copying PDS To PDS


//RACFID31 JOB 31,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO RENAME AND REPLACE WHILE COPYING PDS TO PDS
//********************************************************************************
//STEP001 EXEC PGM=IEBCOPY
//DD1 DD DSN=RACFID.IBMMF.PDS1,DISP=SHR <-- INPUT DATASET
//DD2 DD DSN=RACFID.IBMMF.PDS2,DISP=SHR <-- OUTPUT DATASET
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
COPY INDD=DD1
OUTDD=DD2
SELECT MEMBER=((MEMBER1,MEMBER2,R))
/*
32. JCL To Compare PS Datasets
//RACFID32 JOB 32,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COMPARE PS DATASETS
//********************************************************************************
//STEP001 EXEC PGM=IEBCOMPR
//SYSUT1 DD DSN=RACFID.IBMMF.PS1,DISP=SHR <--- DATASETS TO COMPARE
//SYSUT2 DD DSN=RACFID.IBMMF.PS2,DISP=SHR <--- DATASETS TO COMPARE
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
COMPARE TYPORG=PS
/*
33. JCL To Compare PDS Datasets
//RACFID33 JOB 33,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COMPARE PDS DATASETS
13

//********************************************************************************
//STEP001 EXEC PGM=IEBCOMPR
//SYSUT1 DD DSN=RACFID.IBMMF.PDS1,DISP=SHR <--- DATASETS TO COMPARE
//SYSUT2 DD DSN=RACFID.IBMMF.PDS2,DISP=SHR <--- DATASETS TO COMPARE
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
COMPARE TYPORG=PO
/*
34. JCL To Copy Whole Job Into Another Dataset
//RACFID34 JOB 34,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COPY WHOLE JOB INTO ANOTHER DATASET
//********************************************************************************
//STEP001 EXEC PGM=IEBEDIT
//SYSUT1 DD DSN=RACFID.IBMMF.PS1,DISP=SHR
//SYSUT2 DD DSN=RACFID.IBMMF.PS2,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
EDIT START=COPY1
/*
35. JCL To Copy Multiple Job Into Another Dataset
//RACFID35 JOB 35,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COPY MULTIPLE JOB INTO ANOTHER DATASET
//********************************************************************************
//STEP001 EXEC PGM=IEBEDIT
//SYSUT1 DD DSN=RACFID.IBMMF.PS1,DISP=SHR
//SYSUT2 DD DSN=RACFID.IBMMF.PS2,DISP=SHR
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
EDIT START=COPY1
EDIT START=COPY2
/*
36. JCL To Copy Steps Using INCLUDE And EXCLUDE Command
//RACFID36 JOB 36,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COPY STEPS USING INCLUDE and EXCLUDE command
//********************************************************************************
//STEP001 EXEC PGM=IEBEDIT
//SYSUT1 DD DSN=RACFID.IBMMF.PS1,DISP=SHR
//SYSUT2 DD DSN=RACFID.IBMMF.PS2,DISP=SHR
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
14

EDIT START=COPY1,TYPE=EXCLUDE,STEPNAME=STEPB
EDIT START=COPY2,TYPE=INCLUDE,STEPNAME=STEPA
/*
37. JCL To Copy Steps Using POSITION Member
//RACFID37 JOB 37,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COPY STEPS USINF POSITION MEMBER
//********************************************************************************
//STEP001 EXEC PGM=IEBEDIT
//SYSUT1 DD DSN=RACFID.IBMMF.PS1,DISP=SHR
//SYSUT2 DD DSN=RACFID.IBMMF.PS2,DISP=SHR
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
EDIT START=COPY1,TYPE=POSITION,STEPNAME=STEPC
/*
38. JCL To Merge Datasets
//RACFID38 JOB 38,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO MERGE DATASETS
//********************************************************************************
//STEP001 EXEC PGM=IEBCOPY
//DD1 DD DSN=RACFID.IBMMF.PDS1,DISP=SHR <-- INPUT DATASET
//DD2 DD DSN=RACFID.IBMMF.PDS2,DISP=SHR <-- INPUT DATASET
//DD3 DD DSN=RACFID.IBMMF.PDS3,DISP=SHR <-- OUTPUT DATASET
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
COPY OUTDD=DD3
INDD=DD1
INDD=DD2
/*
39. JCL To Compress A PDS
//RACFID39 JOB 39,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COMPRESS A PDS
//********************************************************************************
//STEP001 EXEC PGM=IEBCOPY
//DD1 DD DSN=RACFID.IBMMF.PDS,DISP=SHR <-- DATASET TO COMPRESS
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
COPY INDD=DD1
OUTDD=DD1
/*
40. JCL To List A PDS
//RACFID40 JOB 40,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO LIST A PDS
15

//********************************************************************************
//STEP001 EXEC PGM=IEHLIST
//DD1 DD UNIT=DISK,VOLUME=SER=IBMMFVOL,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
LISTPDS DSNAME=RACFID.IBMMF.PDS,
VOLUME=DISK=IBMMFVOL
/*

41. JCL To List A VTOC


//RACFID41 JOB 41,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO LIST A VTOC
//********************************************************************************
//STEP001 EXEC PGM=IEHLIST
//DD1 DD UNIT=DISK,VOLUME=SER=IBMMFVOL,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
LISTVTOC FORMAT,
VOLUME=DISK=IBMMFVOL
/*
42. JCL To SCRATCH A Dataset
//RACFID42 JOB 42,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO SCRATCH A DATASET
//********************************************************************************
//STEP001 EXEC PGM=IEHPROGM
//DD1 DD UNIT=DISK,VOLUME=SER=IBMMFVOL,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SCRATCH DSNAME=RACFID.IBMMF.PS,VOL=DISK=IBMMFVOL
/*
43. JCL To UNCATALOG A Dataset
//RACFID43 JOB 43,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO UNCATALOG a dataset
//********************************************************************************
//STEP001 EXEC PGM=IEHPROGM
//DD1 DD UNIT=DISK,VOLUME=SER=IBMMFVOL,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
UNCATLG DSNAME=RACFID.IBMMF.PS
/*
44. JCL To Sort A Single Field
//RACFID44 JOB 44,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
16

//********************************************************************************
//* JCL TO SORT A SINGLE FIELD
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,
// DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(1,10,CH,A)
/*
45. JCL To Sort Multiple Fields
//RACFID45 JOB 45,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO SORT A MULTIPLE FIELD
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,
// DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(1,10,CH,A,30,5,CH,D)
/*
46. JCL To SORT Multiple Fields Using FORMAT Keyword
//RACFID46 JOB 46,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO SORT MULTIPLE FIELDS USING FORMAT KEYWORD
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,
// DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FORMAT=CH,FIELDS=(1,10,D,30,5,D)
/*
47. JCL To Sort Record In Ascending Order
//RACFID47 JOB 47,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO SORT RECORD IN ASSCENDING ORDER
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,
17

// DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(1,10,CH,A)
/*
48. JCL To Sort Record In Descending Order
//RACFID48 JOB 48,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO SORT RECORD IN DESCENDING ORDER
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,
// DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(40,5,CH,D)
/*
49. JCL To Copy A Dataset Using SORT
//RACFID49 JOB 49,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COPY A DATASET USING SORT
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,
// DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
/*
50. JCL To Sort The Record With INCLUDE Condition
//RACFID40 JOB 40,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO SORT THE RECORD WITH INCLUDE CONDITION
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,
// DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
18

//SYSIN DD *
SORT FIELDS=(1,10,CH,A)
INCLUDE COND=(20,5,CH,EQ,C'IBMMF')
/*

51. JCL To Sort The Record With INCLUDE Many Condition


//RACFID51 JOB 51,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO SORT THE RECORD WITH INCLUDE MANY CONDITION
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,
// DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(1,10,CH,A)
INCLUDE COND=(25,4,CH,EQ,C'2020',OR,50,1,CH,NE,C'F')
/*
52. JCL To Sort The Record With Omit Condition
//RACFID52 JOB 52,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO SORT THE RECORD WITH OMIT CONDITION
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,
// DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(1,10,CH,A)
INCLUDE COND=(1,2,CH,EQ,C'NY',OR,1,2,CH,EQ,C'NJ')
/*
53. JCL To Sort The Record With OUTREC Field
//RACFID53 JOB 53,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO SORT THE RECORD WITH OUTREC FIELDS
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,
// DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
19

//SYSIN DD *
SORT FIELDS=(10,4,BI,D)
OUTREC FIELDS=(1,20,30,50)
/*
54. JCL To Copy A Dataset Using SORT OUTREC With FINDREP
//RACFID54 JOB 54,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COPY A DATASET USING SORT OUTREC WITH FINDREP
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,
// DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
OUTREC FINDREP=(IN=C'MAINFRAME TUTORIAL',OUT=C'IBMMAINFRAMER')
/*
55. JCL To Sort The Record And Write OUTREC At Specific Columns
//RACFID55 JOB 55,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO SORT THE RECORD AND WRITE OUTREC AT SPECIFIC COLUMNS
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,
// DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(1,4,BI,A)
OUTREC BUILD=(20:2,4,30:10,70)
/*
56. JCL To SPLIT File Record Based On Condition
//RACFID56 JOB 56,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO SPLIT FILE RECORD BASED ON CONDITION
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,DISP=SHR
//SORTOF01 DD DSN=RACFID.IBMMF.NY,DISP=SHR
//SORTOF02 DD DSN=RACFID.IBMMF.PL,DISP=SHR
//SORTOF03 DD DSN=RACFID.IBMMF.NJ.DISP=SHR
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
20

OPTION COPY
OUTFIL FILES=01,INCLUDE=(23,2,CH,EQ,C'NY')
OUTFIL FILES=02,INCLUDE=(23,2,CH,EQ,C'PL')
OUTFIL FILES=03,INCLUDE=(23,2,CH,EQ,C'NJ')
/*
57. JCL To SPLIT A Dataset Into Equal Parts
//RACFID57 JOB 57,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO SPLIT A DATASET INTO EQUAL PARTS
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,DISP=SHR
//SORTOF01 DD DSN=RACFID.IBMMF.OUTPUT1,DISP=SHR
//SORTOF02 DD DSN=RACFID.IBMMF.OUTPUT2,DISP=SHR
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
OUTFIL FILES=(01,02),SPLIT
/*
58. JCL To SORT For Multiple Copies Using OUTFIL
//RACFID58 JOB 58,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL SORT FOR MULTIPLE COPIES USING OUTFIL
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD DSN=RACFID.IBMMF.INPUT,DISP=SHR
//SORTOF01 DD DSN=RACFID.IBMMF.OUT1,DISP=SHR
//SORTOF02 DD DSN=RACFID.IBMMF.OUT2,DISP=SHR
//SORTOF03 DD DSN=RACFID.IBMMF.OUT3.DISP=SHR
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
OUTFIL FILES=(01,02,03)
/*
59. JCL To Remove Duplicate Record From Dataset
//RACFID59 JOB 59,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO REMOVE DUPLICATE RECORD FROM DATASET
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=RACFID.IBMMF.INPUT,DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,DISP=SHR
//SYSIN DD *
SORT FIELDS=(1,15,ZD,A)
SUM FIELDS=NONE
21

/*
60. JCL To COPY Only First 100 Records In Dataset
//RACFID60 JOB 60,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO Copy ONLY FIRST 100 RECORDS IN DATASET
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=RECFID.IBMMF.INPUT,DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,DISP=SHR
//SYSIN DD *
OPTION COPY,STOPAFT=50
/*
61. JCL To Overwrite Input Record Content
//RACFID61 JOB 61,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO OVERWRITE INPUT RECORD CONTENT
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=RECFID.IBMMF.INPUT,DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,DISP=SHR
//SYSIN DD *
OPTION COPY
INREC OVERLAY=(47:1,6)
/*
62. JCL SORT IF Condition
//RACFID61 JOB 61,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL SORT IF CONDITION
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SORTIN DD *
123456789012345 ---> Column
HEADRselect
DETAL
TRIALselect
/*
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=(NEW,CATLG,DELETE),
// DCB=*.SYSUT1,SPACE=(CYL,(50,1),RLSE)
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
INREC IFTHEN=(WHEN=(6,1,CH,NE,C' '),BUILD=(1:1,15),
IFTHEN=(WHEN=(6,1,CH,EQ,C' '),BUILD=(1:1,5,7:C'RECORD')
OPTION COPY
/*
63. JCL To Convert A FB Dataset To VB
//RACFID63 JOB 63,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
22

//********************************************************************************
//* JCL TO CONVERT A FB DATASET TO VB
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=RACFID.IBMMF.FBIN,DISP=SHR
//VBOUT DD DSN=RACFID.IBMMF.VBOUT,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,SPACE=(CYL,(5,5))
//SYSIN DD *
OPTION COPY
OUTFIL FNAMES=VBOUT,FTOV
/*
64. JCL To Convert A VB Dataset To FB
//RACFID64 JOB 64,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO CONVERT A VB DATASET TO FB
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=RACFID.IBMMF.VBIN,DISP=SHR <-- LRECL=104
//FBOUT DD DSN=RACFID.IBMMF.FBOUT,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,SPACE=(CYL,(5,5))
//SYSIN DD *
OPTION COPY
OUTFIL FNAMES=FBOUT,VTOF,OUTREC=(5,100)
/*
65. JCL To Copy Dataset Using ICETOOL
//RACFID65 JOB 65,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL TO COPY DATASET USING ICETOOL
//********************************************************************************
//STEP001 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//*
//INPUT DD DSN=RACFID.IBMMF.INPUT,DISP=SHR
//OUTPUT DD DSN=RACFID.IBMMF.OUTPUT,DISP=(NEW,CATLG),
// DCB=(*.INPUT1)
//*
//TOOLIN DD *
COPY FROM(INPUT) TO(OUTPUT)
/*
66. JCL SORT - Omit Numeric Data
//RACFID66 JOB 66,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL SORT - OMIT NUMERIC DATA
//********************************************************************************
//STEP001 EXEC PGM=SORT
23

//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=RACFID.IBMMF.INPUT,DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,SPACE=(CYL,(5,5))
//SYSIN DD *
OPTION COPY
INCLUDE COND=(1,3,FS,NE,NUM)
/*
If the value in the field (1,3,FS) is not equal (NE) to numerics(NUM), those records will be included in output dataset.
The record in the output data set will be those in which the field has non-numerics(a character other than 0 to 9
somewhere in the field).
67. JCL SORT - Include Numeric Data
//RACFID66 JOB 67,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL SORT - INCLUDE NUMERIC DATA
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=RACFID.IBMMF.INPUT,DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,SPACE=(CYL,(5,5))
//SYSIN DD *
OPTION COPY
INCLUDE COND=(1,3,FS,EQ,NUM)
/*
If the value in the field (1,3,FS) is equal (EQ) to numerics(NUM), those records will be included in output dataset.
68. JCL SORT - Include Uppercase Characters Data(A-Z)
//RACFID68 JOB 68,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL SORT - INCLUDE UPPERCASE CHARACTERS DATA (A-Z)
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=RACFID.IBMMF.INPUT,DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,SPACE=(CYL,(5,5))
//SYSIN DD *
OPTION COPY
INCLUDE COND=(5,10,BI,EQ,UC)
/*
INCLUDE statement includes records which have uppercase character(A-Z) in postions 5 to 15.
69. JCL SORT - Include Lowercase Characters Data(A-Z)
//RACFID68 JOB 69,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL SORT - INCLUDE LOWERCASE CHARACTERS DATA (a-z)
//********************************************************************************
//STEP001 EXEC PGM=SORT
24

//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=RACFID.IBMMF.INPUT,DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,SPACE=(CYL,(5,5))
//SYSIN DD *
OPTION COPY
INCLUDE COND=(5,10,BI,EQ,LC)
/*
INCLUDE statement includes records which have lowercase characters(a-z) in postions 5 to 15.
70. JCL SORT - Include Both Uppercase And Lowercase Characters Data(A-Z, A-Z)
//RACFID68 JOB 70,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL SORT - INCLUDE UPPERCASE & LOWERCASE CHARACTERS DATA (A-Z, a-z)
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=RACFID.IBMMF.INPUT,DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,SPACE=(CYL,(5,5))
//SYSIN DD *
OPTION COPY
INCLUDE COND=(5,10,BI,EQ,MC)
/*
INCLUDE statement includes records which have uppercase and lowercase characters(A-Z, a-z) in postions 5 to 15.

71. JCL SORT - Include Uppercase And Numeric Characters Data(A-Z, 0-9)
//RACFID68 JOB 71,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL SORT - INCLUDE UPPERCASE & NUMERIC CHARACTERS DATA (A-Z, 0-9)
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=RACFID.IBMMF.INPUT,DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,SPACE=(CYL,(5,5))
//SYSIN DD *
OPTION COPY
INCLUDE COND=(5,10,BI,EQ,UN)
/*
INCLUDE statement includes records which have uppercase and numeric characters(A-Z, 0-9) in postions 5 to 15.
72. JCL SORT - Include Lowercase And Numeric Characters Data (A-Z, 0-9)
//RACFID68 JOB 72,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL SORT - INCLUDE LOWERCASE AND NUMBERIC CHARACTERS DATA (a-z, 0-9)
//********************************************************************************
//STEP001 EXEC PGM=SORT
25

//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=RACFID.IBMMF.INPUT,DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,SPACE=(CYL,(5,5))
//SYSIN DD *
OPTION COPY
INCLUDE COND=(5,10,BI,EQ,LN)
/*
INCLUDE statement includes records which have lowercase and numeric characters(a-z, 0-9) in postions 5 to 15.
73. JCL SORT - Include Uppercase, Lowercase And Numeric Characters Data (A-Z, A-Z, 0-9)
//RACFID68 JOB 73,'IBMMAINFRAMER',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//********************************************************************************
//* JCL SORT - INCLUDE UPPERCASE, LOWERCASE AND NUMERIC CHARACTERS DATA (A-Z, a-z, 0-9)
//********************************************************************************
//STEP001 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=RACFID.IBMMF.INPUT,DISP=SHR
//SORTOUT DD DSN=RACFID.IBMMF.OUTPUT,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,SPACE=(CYL,(5,5))
//SYSIN DD *
OPTION COPY
INCLUDE COND=(5,10,BI,EQ,MN)
/*
INCLUDE statement includes records which have uppercase, lowercase and numeric characters(A-Z, a-z, 0-9) in postions
5 to 15.

You might also like