1.
IEFBR14
·
IEFBR14 is called a dummy utility, mainly used for creation
of non-vsam data sets
·
We can also delete the non-vsam data sets using this utility
EX1.
Creation of PS file using IEFBR14
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//DD1 DD
DSN=MATE05.GRP.PS,DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(10,10),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
// VOL=SER=DEVMA0,UNIT=3390
//SYSOUT DD SYSOUT=*
//SYSIN DD *
/*
EX2.
Creation of PDS file using IEFBR14
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//DD1 DD
DSN=MATE05.GRP.PDS,DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(10,10,1),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
// VOL=SER=DEVMA0,UNIT=3390
//SYSOUT DD SYSOUT=*
//SYSIN DD *
/*
EX3.
Deletion of PDS file using IEFBR14
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//DD1 DD DSN=MATE05.GRP.PDS,DISP=(OLD,DELETE,DELETE),
// SPACE=(TRK,(10,10,1),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
// VOL=SER=DEVMA0,UNIT=3390
//SYSOUT DD SYSOUT=*
//SYSIN DD *
/*
EX4.
Deletion of PS file using IEFBR14
//MATE05AB JOB NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//DD1 DD
DSN=MATE05.GRP.PS,DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(10,10),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
// VOL=SER=DEVMA0,UNIT=3390
//SYSOUT DD SYSOUT=*
//SYSIN DD *
/*
2.
IDCAMS
IDCAMS
is a VSAM utility it also creates non-vsam files
EX1.
Creation of PS file using IDCAMS
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//DD1 DD
DSN=MATE05.GRP.PS,DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(10,10),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
// VOL=SER=DEVMA0,UNIT=3390
//SYSOUT DD SYSOUT=*
//SYSIN DD *
/*
EX.
Creation of PDS file using IDCAMS
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//DD1 DD
DSN=MATE05.GRP.PDS,DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(10,10,1),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
// VOL=SER=DEVMA0,UNIT=3390
//SYSOUT DD SYSOUT=*
//SYSIN DD *
/*
3.
IEBCOPY
Ø IEBCOPY works on the
PDS file
Ø By using IEBCOPY we
can copy the members from one PDS to another PDS
Ø Using IEBCOBY we can
also bypass or exclude the members from copy and also we can rename the
existing members

EX1. Copy all members
from PDS to PDS
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//DD1 DD
DSN=MATE05.GRP.PDS,DISP=SHR
//DD2 DD
DSN=MATE05.GRP.PDS1,DISP=SHR
//SYSIN DD *
COPY INDD=DD1,OUTDD=DD2
//SYSOUT DD SYSOUT=*
/*
EX2. Copying selected
members
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//DD1 DD
DSN=MATE05.GRP.PDS,DISP=SHR
//DD2 DD
DSN=MATE05.GRP.PDS1,DISP=SHR
//SYSIN DD *
COPY INDD=DD1,OUTDD=DD2
SELECT MEMBER=(M1,M2)
//SYSOUT DD SYSOUT=*
/*
EX3. Renaming members while copying
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//DD1 DD
DSN=MATE05.GRP.PDS,DISP=SHR
//DD2 DD
DSN=MATE05.GRP.PDS1,DISP=SHR
//SYSIN DD *
COPY INDD=DD1,OUTDD=DD2
SELECT MEMBER=((M1,A1,R),(M2,A2,R))
//SYSOUT DD SYSOUT=*
/*

EX4. Exclude the
members
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//DD1 DD DSN=MATE05.GRP.PDS,DISP=SHR
//DD2 DD
DSN=MATE05.GRP.PDS1,DISP=SHR
//SYSIN DD *
COPY INDD=DD1,OUTDD=DD2
EXCLUDE MEMBER=(M1,M2)
//SYSOUT DD SYSOUT=*
/*
EX5.
Compressing a PDS file
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//DD1 DD
DSN=MATE05.GRP.PDS,DISP=SHR
//SYSIN DD *
COPY INDD=DD1,OUTDD=DD1
//SYSOUT DD SYSOUT=*
/*
4.
IEBCOMPR
Ø By using IEBCOMPR
utility we can compare the data in two PS files and any two PDS files
Ø We cant compare PS
with PDS and PDS with PS
Ø Organization for PDS
is PO
Ø Organization of PS is
PS
Ø Syntax: COMPARE TYPORG =PS
Or
PO
Ø If two comparing
files data is equal then MAXCC = 0 if not it gives more than ‘4’
EX1.
Comparing PS files
//MATE05AB JOB NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBCOMPR
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD
DSN=MATE05.GRP.PDS,DISP=SHR
//SYSUT2 DD
DSN=MATE05.GRP.PDS1,DISP=SHR
//SYSIN DD *
COMPARE TYPORG=PS
//SYSOUT DD SYSOUT=*
/*
EX2.
Comparing PDS files
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBCOMPR
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD
DSN=MATE05.GRP.PDS,DISP=SHR
//SYSUT2 DD
DSN=MATE05.GRP.PDS1,DISP=SHR
//SYSIN DD *
COMPARE TYPORG=PO
//SYSOUT DD SYSOUT=*
/*
5.
IEBGENER
Ø Mainly used for
taking the backup of data
Ø IEBGENER works only
on PS files
Ø The possibilities in
IEBGENER are as follows
PS – PS
PS – PDS (MEMBER)
PDS
(MEMBER) – PS
PDS
(MEMBER) – PDS (MEMBER)
EX1. PS
– PS
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD
DSN=MATE05.GRP.PS1,DISP=SHR
//SYSUT2 DD
DSN=MATE05.GRP.PS2,DISP=SHR
//SYSIN DD *
//SYSOUT DD SYSOUT=*
/*
EX2. PS
– PDS (MEMBER)
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD
DSN=MATE05.GRP.PS,DISP=SHR
//SYSUT2 DD
DSN=MATE05.GRP.PDS(M1),DISP=SHR
//SYSIN DD *
//SYSOUT DD SYSOUT=*
/*
EX3.
PDS (MEMBER) – PS
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD
DSN=MATE05.GRP.PDS(M1),DISP=SHR
//SYSUT2 DD
DSN=MATE05.GRP.PS2,DISP=SHR
//SYSIN DD *
//SYSOUT DD SYSOUT=*
/*
EX4.
PDS (MEMBER) - PDS (MEMBER)
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD
DSN=MATE05.GRP.PDS(M1),DISP=SHR
//SYSUT2 DD
DSN=MATE05.GRP.PDS(M2),DISP=SHR
//SYSIN DD *
//SYSOUT DD SYSOUT=*
|
/*
//SYSUT2 DD
DSN=MATE05.GRP.PDS1,DISP=SHR
//SYSIN DD *
GENERATE MAXNAME=2
MEMBER NAME=(M3,M4)
//SYSOUT DD SYSOUT=*
/*
Ø Using ‘GENERATE’ we
can copy data from one PS to any no of members in a PDS
Ø ‘MAXNAME’ specifies
max no of members require in a PDS you may use less than that also
Ø Using IEBGENER
utility we can copy the required columns data from the input file by using
‘RECORD FIELD’
Ø SYNTAX: RECORD FIELD = (LENGTH,LOCATION
INPUT,FORMAT,LOCATION OUTPUT)
Ø Using ‘MAXFLDS’ we
can write any no of required fields into an output file
EX6.
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD
DSN=MATE05.GRP.PDS1(M2),DISP=SHR
//SYSUT2 DD
DSN=MATE05.GRP.PS2,DISP=SHR
//SYSIN DD *
GENERATE MAXFLDS=2
RECORD FIELD=(4,1,,1),FIELD=(5,6,,6)
//SYSOUT DD SYSOUT=*
/*
INPUT:
|
1001
|
RAMU
|
25000
|
0010
|
|
1002
|
KUMAR
|
32000
|
0100
|
|
1003
|
RAVI
|
42000
|
1000
|
OUTPUT:
1001 RAMU
1002 KUMAR
1003 RAVI
EX7.
Inserting literals using MAXLITS – MAX LITERALS
Ø Using MAXLITS we can
insert any no of literals in output file
EX6.
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD
DSN=MATE05.GRP.PDS1(M2),DISP=SHR
//SYSUT2 DD
DSN=MATE05.GRP.PS2,DISP=SHR
//SYSIN DD *
GENERATE MAXFLDS=3,MAXLITS=1
RECORD FIELD=(4,1,,1),FIELD=(1,*,,5),
FIELD=(5,6,,6)
//SYSOUT DD SYSOUT=*
|
/*
|
|
//MATE05AB
JOB NOTIFY=&SYSUID
//SYSUT1 DD DSN=MATE05.GRP.PS1,DISP=SHR
// DD
DSN=MATE05.GRP.PS2,DISP=SHR
//SYSUT2 DD
DSN=MATE05.GRP.PS3,DISP=SHR
//SYSIN DD *
//SYSOUT DD SYSOUT=*
/*
6.
IEBEDIT
Ø Using IEBEDIT utility
we can process any steps existed in a job
Ø In IEBEDIT we have
two possibilities. They are….
1.
INCLUDE
2.
EXCLUDE
Ø By using INTRDR –
Internal Reader, we can process any required steps in a job
EX1.
In one
PDS member
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//DD1 DD
DSN=MATE05.GRP.PS,DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(10,10),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
// VOL=SER=DEVMA0,UNIT=3390
//SYSOUT DD SYSOUT=*
//SYSIN DD *
//STEP2 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//DD1 DD
DSN=MATE05.GRP.PS,DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(10,10),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
// VOL=SER=DEVMA0,UNIT=3390
//SYSOUT DD SYSOUT=*
//SYSIN DD *
//STEP3 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD
DSN=MATE05.GRP.PDS(M1),DISP=SHR
//SYSUT2 DD
DSN=MATE05.GRP.PS2,DISP=SHR
//SYSIN DD *
//SYSOUT DD SYSOUT=*
//STEP4 EXEC PGM=IEBCOMPR
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD
DSN=MATE05.GRP.PDS,DISP=SHR
//SYSUT2 DD
DSN=MATE05.GRP.PDS1,DISP=SHR
//SYSIN DD *
COMPARE TYPORG=PS
//SYSOUT DD SYSOUT=*
Now in
a member of your JCL
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBEDIT
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD
DSN=MATE05.GRP.PDS(M2),DISP=SHR
//SYSUT2 DD
SYSOUT=(*,INTRDR)
//SYSIN DD *
EDIT
TYPE=EXCLUDE,STEPNAME=(STEP1,STEP3)
//SYSOUT DD SYSOUT=*
/*
EX2.
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBEDIT
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD
DSN=MATE05.GRP.PDS(M2),DISP=SHR
//SYSUT2 DD
SYSOUT=(*,INTRDR)
//SYSIN DD *
EDIT
TYPE=INCLUDE,STEPNAME=(STEP1,STEP3)
//SYSOUT DD SYSOUT=*
/*
7.
IEBUPDTE
Ø By using IEBUPDTE we
can change any record data existed in a member of PDS by copying the address of
the particular record
Ø SYNTAX: ./ CHANGE NAME = MEMBER NAME,UPDATE = INPLACE
./ ENDUP
Ø Inplace will update
the existing data by new data
EX
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBUPDTE
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD
DSN=MATE05.GRP.PDS1,DISP=SHR
//SYSUT2 DD SYSOUT=*
//SYSIN DD *
./ CHANGE NAME=M2,UPDATE=INPLACE
THIS IS MY LAST PROGRAM FOR TODAY
./ END UP
//SYSOUT DD SYSOUT=*
/*
EXECUTION
PROCEDURE:
STEP1:
Open
input PDS member. Copy the required record address by using the command ‘NUM
ON’. Press F11 and copy the required record address
STEP2:
Open
currently running JCL and type the command ‘NUM OFF’ and press F11 and paste
the copied address on the input record address
STEP3:
Submit
the JCL and verify the updations in output file
8.
IEBPTPCH
Ø By using IEBPTPCH –
IEBPUNCH utility we can add max two title itemsto the output fields
Ø Using record field we
can select any column data from the input file
Ø SYNTAX:
PRINT TYPORG = PS,
MAXFLDS = VALUE
TITLE ITEM = (‘INPUT
TEXT’,LOCATION IN OUTPUT)
TITLE ITEM = (‘INPUT
TEXT’,LOCATION IN OUTPUT)
EX
CASE1.
Printing the output on to the spool
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBPTPCH
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=MATE05.GRP.PS1,DISP=SHR
//SYSUT2 DD SYSOUT=*
//SYSIN DD *
PRINT TYPORG=PS,MAXFLDS=2
TITLE ITEM=('EMPLOYEE DETAILS',30)
TITLE ITEM=('ENUM ENAME ',1)
RECORD
FIELD=(4,1,,25),FIELD=(5,6,,30)
//SYSOUT DD SYSOUT=*
/*
CASE2.
Printing data into an output file
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBPTPCH
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD
DSN=MATE05.GRP.PS1,DISP=SHR
//SYSUT2 DD
DSN=MATE05.GRP.PS2,DISP=SHR
//SYSIN DD *
PRINT TYPORG=PS,MAXFLDS=2
TITLE ITEM=('EMPLOYEE DETAILS',30)
TITLE ITEM=('ENUM ENAME ',1)
RECORD FIELD=(4,1,,25),FIELD=(5,6,,30)
//SYSOUT DD SYSOUT=*
/*
SORT
AND ICEMAN
Ø By using ‘SORT’ we
can perform only sort operation but by using ‘ICEMAN’ we can perform sort and
merge
Ø SYNTAX:
SORTFIELDS=(LOCATIONINPUT,LENGTH,FORMAT,SORTSE QUENCE)
Ø Sort sequence = A –
Ascending
D – Descending
EX1.
SIMPLE SORT
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=SORT
//SYSPRINT DD SYSOUT=*
//SORTIN DD
DSN=MATE05.GRP.PS1,DISP=SHR
//SORTOUT DD
DSN=MATE05.GRP.PS2,DISP=SHR
//SYSIN DD *
SORT FIELDS=(1,5,CH,D)
//SYSOUT DD SYSOUT=*
/*
EX2.
Eliminating the duplications existing in SORT field
//MATE05AB JOB
NOTIFY=&SYSUID
//STEP1 EXEC PGM=SORT
//SYSPRINT DD SYSOUT=*
//SORTIN DD
DSN=MATE05.GRP.PS1,DISP=SHR
//SORTOUT DD
DSN=MATE05.GRP.PS2,DISP=SHR
//SYSIN DD *
SORT FIELDS=(1,5,CH,D)
SUM FIELDS=NONE
//SYSOUT DD SYSOUT=*
/*
EX.
SKIPREC, STOPAFT
Ø By using ‘SKIPREC’ we
can bypass any no of records from the beginning
Ø Using ‘STOPAFT’ we
can stop the process of sort operation
//MATE05AB
JOB NOTIFY=&SYSUID
//STEP1
EXEC PGM=SORT
//SYSPRINT
DD SYSOUT=*
//SORTIN
DD DSN=MATE05.GRP.PS1,DISP=SHR
//SORTOUT
DD DSN=MATE05.GRP.PS2,DISP=SHR
//SYSIN
DD *
SORT FIELDS=(1,5,CH,D)
SKIPREC = 4,STOPAFT = 4
//SYSOUT
DD SYSOUT=*
/*
EX4.
INREC, OUTREC
Ø By using ‘INREC’
fields we can bypass any no of columns from sort field
Ø Using ‘OUTREC’ after
successful sort we can print any required field data from the output file
Ø SYNTAX1.
INREC
FIELDS = (LOCATION OUTPUT:LOCATIONINPUT,LENGTH)
Ø SYNTAX2.
OUTREC
FIELDS = (LOCATION OUTPUT:LOCATIONINPUT,LENGTH)
No comments:
Post a Comment