z os ibm utilities
DESCRIPTION
A complete description of basic IBM utilities available for Z OS system-by rohitkapaTRANSCRIPT
Z/OS IBM UtilitiesComplete Overview
2
Course Objectives
Appreciate the use of Utilities
Know the Types of Utilities
Have an in-depth knowledge of common IBM Utilities
Know the purpose and structure of each Utility
Know the usage of the various parameters of different
Utilities
Be able to write Utilities and execute them
3
Sessions Outline
Session 1: Overview of IBM Utilities Main Types of Dataset Utilities IDCAMS
Session 2: IEBGENER, IEFBR14 , IEBCOPY
Session 3: SORT, IEBCOMPR, IKJEFT01, ADRDSSU
4
OS/390 & z/OS - Utilities
Session 1
5
Session 1 - Coverage
Introduction – Utilities
Types of Utilities
Dataset Utilities
System Utilities
Access Method Services
6
Introduction - Utilities • Frequently performed function:
Copy sequential files / partitioned datasets / VSAM
Catalog / Uncatalog datasets
Rename datasets
Compress partitioned datasets
Include / Exclude members to partitioned datasets when a copy transaction is implemented
Compare sequential and partitioned datasets
Generate generation data groups
Create/delete datasets allocate/deallocate space on datasets or code other functions on the DD statement, without having to execute a program
7
What is a UTILITY?
A UTILITY program performs a basic function, i.e., it does a routine job
which is required repeatedly in an installation.
IBM provides a number of prewritten utility programs to assist users in
organizing and maintaining data
Each utility program falls into one of the two classes, based on the
function performed and the type of control of the utility. The three
classes are:
Dataset utilities
System utilities and
Access Method Services
8
Dataset Utilities
Dataset Utility Programs,
Can be used to create, reorganize, change or compare data at
the dataset or record level.
Can be executed as jobs or be invoked as subroutines of a calling
program.
9
Dataset Utility Programs
To Create and Copy datasets
IEFBR14 (null program)
IEBGENER
IEBCOPY
SORT
10
System Utilities
System Utility Programs:
System utility programs can be used to maintain and
manipulate system and user datasets
These programs must reside in an authorized library
They can be executed as jobs or be invoked as subroutines of
an authorized program
11
Access Method Services
High performance access method to process
both VSAM and non-VSAM datasets
Virtual Storage Access Method (VSAM)
12
Session 1 - Summary
Frequently performed functions – Requirement for utilities
Types of Utilities
Dataset Utilities - Operate on the data at dataset or record level
System Utilities – Operate on the user datasets
13
Functions of Utilities
Session 2
14
Session 2 - Coverage
IEFBR14 - Null Program
IEBCOPY – Copy datasets
IEBGENER – Work on PDS members
15
IEFBR14
16
IEFBR14
Purpose:
Carries out no processing of its own
Used to Create and Catalog empty datasets
Delete datasets that are no longer required
17
IEFBR14: Create and Catalog a Dataset
Example 1:
//JOBCARD…
//STEP01 EXEC PGM=IEFBR14
//FILE1 DD DSN=XYZ.EMP.MASTER,
// DISP=(NEW,CATLG,DELETE),
// UNIT=DISK,VOL=SER=TRG001,
// SPACE=(CYL,(10,10),RLSE),
// DCB=(RECFM=FB,LRECL=500)
18
IEFBR14: Uncatalog and Delete a Dataset
Example 2:
//JOBCARD…
//STEP01 EXEC PGM=IEFBR14
//FILE1 DD DSN=XYZ.EMP.MASTER,
// DISP=(OLD,UNCATLG)
//*
//STEP02 EXEC PGM=IEFBR14
//FILE2 DD DSN=XYZ.EMP.MASTER
// DISP=(OLD,DELETE),UNIT=DISK
//
19
IEBCOPY
20
IEBCOPY
Purpose:
To perform functions on Partitioned Datasets
To copy a Partitioned Dataset to a DASD Volume
Compress Partitioned datasets
Merge datasets
Copy PDS to another PDS or PS (unloading)
Restore a PDS from a tape backup to a DASD (loading)
Select / Exclude members of a PDS in a Copy operation
21
IEBCOPY: Job Control Statements
• //JOBCARD…• //STEP01 EXEC PGM=IEBCOPY• //SYSPRINT DD Defines a sequential dataset for messages• //SYSUT1 DD or anyname1 Defines an INPUT partitioned dataset • //SYSUT2 DD or anyname2 Defines an OUTPUT partitioned dataset• //SYSUT3 DD Defines a spill dataset on a direct access device. It is
used when there is no space in virtual storage for some or all of the current directory entries of the input PDS.
• //SYSUT4 DD Defines a spill dataset on a direct access device. It is used when there is no space in virtual storage for some
or all of the current directory entries of the output PDS.• //SYSIN DD Defines the CONTROL dataset
22
IEBCOPY: Example 1 To copy members from three partitioned datasets DATASET1, DATASET2, DATASET3
to an existing partitioned dataset DATASET4.
//JOBCARD…//STEP01 EXEC PGM=IEBCOPY//SYSPRINT DD SYSOUT=A//INOUT1 DD DSN=DATASET1,DISP=OLD//INOUT2 DD DSN=DATASET2,DISP=OLD//INOUT3 DD DSN=DATASET3,DISP=OLD//INOUT4 DD DSN=DATASET4,DISP=OLD //SYSUT3 DD UNIT=SYSDA,SPACE=(TRK,(1))//SYSUT4 DD UNIT=SYSDA,SPACE=(TRK,(1))//SYSIN DD * COPYOPER COPY OUTDD=INOUT4, INDD=INOUT1, INDD=INOUT2, INDD=INOUT3/*
23
IEBCOPY: Example 2
To copy all the members of INOUT6 (PDS) to INOUT2 (PDS) replacing identically named members.
//SYSIN DD * COPYOPER COPY OUTDD=INOUT2 INDD=((INOUT6,R)) /*
24
IEBCOPY: Example 3
To copy members C,D,E,A and G from INOUT6 and INOUT2 to INOUT4.
(INOUT6, INOUT2 and INOUT4 are partitioned datasets)
//SYSIN DD * COPYOPER COPY OUTDD=INOUT4 INDD=INOUT6 INDD=INOUT2 SELECT MEMBER=(C,D,E,A,G)
25
IEBCOPY: Example 4
In example 3, if members E and G can replace identically named member of INOUT4, the control statements are as follows:
//SYSIN DD * COPYOPER COPY OUTDD=INOUT4 INDD=INOUT6,INOUT2 SELECT MEMBER=(C,D,(E,,R),A,(G,,R))
26
IEBCOPY: Example 5
In example 4 the members C and D are renamed as J and K respectively and G replaces identically named member of output PDS
E is renamed T and replaces identically named member of output PDS
//SYSIN DD * COPYOPER COPY OUTDD=INOUT4 INDD=INOUT6,INOUT2 SELECT MEMBER=((C,J),(D,K),(E,T,R),A,(G,,R))
27
IEBCOPY: Example 6
Suppose in a copy operation from INOUT1 to INOUT2, members A, B, C and D have to be excluded
//SYSIN DD * COPYOPER COPY
OUTDD=INOUT2,INDD=INOUT1 EXCLUDE MEMBER=(A,B,C,D)
/*
28
IEBCOPY: Example 7
To Compress a partitioned dataset, assign the same dataset name to INDD and OUTDD
//SYSIN DD * COPY OUTDD=DATASET1,INDD=DATASET1/*
29
IEBCOPY: Example 8 Multiple COPY operations to copy members A and B from DATASET1 and all
members of DATASET2 except C and G to DATASET3
All members copied from DATASET2 are permitted to replace identically named
members of DATASET3
//SYSIN DD *
COPYOPER COPY OUTDD=DATASET3,
INDD=DATASET1
SELECT MEMBER=(A,B)
COPY O=DATASET3,
I=(DATASET2,R)
EXCLUDE MEMBER=(C,G)
/*
30
IEBGENER
31
IEBGENER
Purpose:
To copy sequential datasets
Create a backup of a sequential dataset or a member of a partitioned dataset
Produce a partitioned dataset or a member of a partitioned dataset, from a sequential input dataset
Expand an existing partitioned dataset by creating partitioned members and merging them into the existing dataset
Produce an edited sequential of partitioned dataset
Convert data formats, rearrange input fields and change the logical record length of a dataset
32
IEBGENER: Job Control Statements
• //JOBCARD…• //STEP01 EXEC PGM=IEBGENER• //SYSPRINT DD Defines a sequential dataset for messages
(System output device / Tape volume / DASD volume)
• //SYSUT1 DD Defines the INPUT dataset (Sequential dataset / Member of a PDS)
• //SYSUT2 DD Defines the OUTPUT dataset (Sequential dataset / PDS / Member of a PDS)
• //SYSIN DD Defines the CONTROL dataset (Very often DUMMY)
33
IEBGENER: Example 1
To copy a Tape file XYZ.EMP.MASTER of VOL SER 007311, to a DASD file XYZ.EMP.MST.DISK. The Input Employee master record is 500 bytes in length
//JOBCARD…//STEP1 EXEC PGM=IEBGENER//SYSUT1 DD DSN=XYZ.EMP.MASTER,UNIT=TAPE,DISP=OLD,// VOL=SER=007311,LABEL=(,SL) //SYSUT2 DD DSN=XYZ.EMPMST.DISK,UNIT=DISK,// VOL=SER=XYZ3010,DISP=(NEW,CATLG),// SPACE=(TRK,(10,10)),DCB=(RECFM=FB,LRECL=500)//SYSPRINT DD SYSOUT=A//SYSIN DD DUMMY
34
Utility Control Statements
Used to create a copy of a dataset in which:
The fields of each record have been rearranged, omitted or
replaced by a literal, and/or
The logical record length has been changed
The Control Statements most commonly used in IEBGENER are:
GENERATE
RECORD
MEMBER
35
GENERATE, RECORD & MEMBER Statements
Generate Statement used to tell IEBGENER that editing is to be
performed
Record Statement used to define the fields and literals for editing
Member Statement identifies the names to be assigned to the
members generated in the PDS
Syntax :
GENERATE (MAXFLDS=M, MAXLITS=N, MAXNAME=X,
MAXGPS=Y)
RECORD FIELD=(l,il,,ol)
RECORD IDENT=(l,’name’,il)
MEMBER NAME=(member,alias)
36
GENERATE Statement parameters MAXFLDS – total number of field operands in the RECORD
statements
MAXLITS – total number of characters in the literals in the RECORD
statements
MAXNAME – number of member names in all subsequent MEMBER
statements
MAXGPS – number of times the IDENT parameter appears in
subsequent RECORD statements
37
Record Statement: FIELD Parameters
Length - Length in bytes of the input field or literal to be processed.
Default is 80 bytes. If a literal is to be processed, a length of 40 or less
must be specified
Input-location or literal
Specifies the starting byte of the field to be processed. Default is 1
Specifies a literal to be placed in the specified output location
Conversion: specifies a two-byte code that indicates the type of
conversion to be performed on this field. Default (NO conversion)
Output-location: Specifies the starting location of this field in the
output records. Default is 1.
38
IEBGENER: Example 2
• //JOBCARD…• //EXEC PGM=IEBGENER• //SYSIN DD *• GENERATE MAXFLDS=1• RECORD FIELD=(35,1,,1)• /*• //SYSPRINT DD SYSOUT=*• //SYSUT1 DD *• Dataset to be copied• /*• //SYSUT2 DD DSN=name,UNIT=DASD,• // DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(3,1),RLSE),• // DCB=(LRECL=35,RECFM=FB)
39
IEBGENER: Example 3
• //SYSIN DD *• GENERATE MAXFLDS=3,MAXLITS=11• RECORD FIELD=(10,'**********',,1),• FIELD=(5,1,,11,), FIELD=(1,'=',,16)• /*
40
Record Statement: IDENT Parameters
Identifies the last record of a collection of records in the input
dataset
Length: in bytes of the identifying names; cannot exceed 8
bytes
Name: Exact literal that identifies the last input record of each
record group (include in quotes)
Input-location: Starting byte of the field that contains the
identifying name in the input records
41
IEBGENER: Example 4
Create a partitioned dataset consisting of three members,
MEMBER1, MEMBER2, MEMBER3 from sequential input
The sequential input has FIRSTMEM as the first 8 characters of the
last record of the first member, and SECNDMEM for the second
member
42
IEBGENER: Example 4
• //JOBCARD…• //STEP01 EXEC PGM=IEBGENER• //SYSPRINT DD SYSOUT=A• //SYSUT1 DD DSN=INSET,DISP=OLD• //SYSUT2 DD DSN=NEWSET,UNIT=DISK,DISP=(NEW CATLG),• // VOL=SER=TRG001,SPACE=(TRK,(5,5,5)),DCB=(RECFM=FB,LRECL=80)• //SYSIN DD *• GENERATE MAXNAME=3,MAXGPS=2• MEMBER NAME=MEMBER1• GROUP1 RECORD IDENT=(8,'FIRSTMEM',1)• MEMBER NAME=MEMBER2• GROUP2 RECORD IDENT (8,'SECNDMEM',1)• MEMBER NAME=MEMBER3
43
Session 2 - Summary
IEFBR14 - Null Program
IEBCOPY – Copy datasets
IEBGENER – Work on PDS members
44
Functions of Utilities
Session 3
45
Session 3 - Coverage
Sort / Merge Utility
IEBCOMPR
IKJEFT01
ADRDSSU
46
Sort/Merge Utility
47
Sort/Merge Basics
Sort/Merge Utility used to
Sort records in ascending or descending order within a file
Merge two or more files into a single file
Select a subset of records from an input file
SUM values in records
Reformat records
48
Job Control Statements for SORT
• //JOBCARD…
• //STEPNAME EXEC PGM=SORT
• //STEPLIB DD <Defines the library containing the DFSORT pgm>
• //SYSOUT DD <Defines the message dataset>
• //SORTIN DD <Defines the INPUT dataset>
• //SORTWKnn DD <Defines a WORK storage dataset>
• //SORTOUT DD <Defines the OUTPUT dataset>
• //SYSIN DD <Contains DFSORT program control statements>•
49
SORT Statement Basics
Write the fields in parentheses, separated by commas The starting position of the key field Length of the key field in bytes A code for data format Letter 'A' for Ascending order or 'D' for Descending order
Example:
1 2......................................................71
SORT FIELDS=(110,5,CH,A)
50
Data Format Codes
• Data Format Code
• EBCDIC Character CH
• ASCII Character AC
• Binary BI
• Zoned Decimal ZD
• Packed Decimal PD
51
SORT: Example 1
Now let us consider sorting by multiple fields like COURSE
DEPARTMENT, COURSE NUMBER and BOOK TITLE. Then,
SORT FIELDS=(110,5,CH,A,115,5,CH,A,1,75,CH,A)
This is EQUIVALENT to:
SORT FIELDS=(110,10,CH,A,1,75,CH,A)
When all the control fields are of the same data format, then
SORT FIELDS=(110,10,A,1,75,A),FORMAT=CH
52
SORT JCL: Example 2
Sort the book store file records in ASCENDING order of COURSE
DEPARTMENT and COURSE NUMBER and DESCENDING order of
NUMBER IN STOCK
Assume that the program SORT is available in a partitioned dataset
IBM.UTIL.LOADLIB
53
SORT JCL: Example 2
• //JOBCARD…• //STEP01 EXEC PGM=SORT• //STEPLIB DD DSN=IBM.UTIL.LOADLIB,DISP=SHR• //SYSOUT DD SYSOUT=*• //SORTIN DD DSN= BOOK.STORE.INPUT,DISP=OLD• //SORTWK01 DD UNIT=3380,SPACE=(TRK,(1,1))• //SORTOUT DD DSN=BOOK.STORE.OUT,• // DISP=(NEW,CATLG,DELETE),UNIT=DISK,• // VOL=SER=TRG001,SPACE=(CYL,(10,1),RLSE),• // DCB=(RECFM=FB,LRECL=173,BLKSIZE=1730)• //SYSIN DD *• SORT FIELDS=(110,10,CH,A,162,4,BI,D)• /*
54
Example 3
Sample Data
MOHANK 23423423434534300 KIRANMOHANK 13342345345345300 RAJEEVARAMES 34535345325354300 SURESHSURESH 98347385385934000 PULIRAMESH 67575789769876800 MADHUKRISHN 50830948530859300 OIIEDKRISHN 30495849572938500 MADHUSURESH 98347385385934000 PULI
55
Sort JCL
• //STEP10 EXEC PGM=SORT,REGION=1024K,PARM=parameters
• //SYSOUT DD SYSOUT=* Output messages from SORT • //SORTIN DD DSN=...,DISP=SHR Input if SORT request • //SORTOUT DD DSN=... Output for SORT request • //SORTOFxx DD DSN=... OUTFILE output data sets • //SORTXSUM DD DSN=... Output eliminated by the SUM
stm• //SORTWKnn DD UNIT=SYSDA, Work files if SORT request • //SYSIN DD * Control statement input data set• SORT FIELDS=(1,3,CH,A,9,3,CH,A) • /*
56
OutputARAMES 34535345325354300 SURESHKRISHN 30495849572938500 MADHUKRISHN 50830948530859300 OIIEDMOHANK 13342345345345300 RAJEEVMOHANK 23423423434534300 KIRANRAMESH 67575789769876800 MADHUSURESH 98347385385934000 PULISURESH 98347385385934000 PULI
57
EXPLANATION
•Above syntax of SORT sorted the records, depends•on keys we have provided •(we have provided two keys in FIELDS parameter)
•FIRST KEY•1,3,CH,A - first key started at col 1 , its length is 3
•SECOND KEY•9,3,CH,A - second key started at col 9, its length is 3•In the above example,
•CH- means character we may use BI for binary•A - Ascending order•
58
MERGE Files
Files to be merged should be sorted on the same set of
keys on which they are being merged
Do not use SORTWKnn DD statement
Instead of SORTIN DD, use SORTINnn DD; one SORTINnn
DD statement for each input file nn --> 01 to 16
In Utility Control Statements, MERGE replaces SORT
59
MERGE JCL: Example 1
Merge 3 files that have been sorted in
ASCENDING order of COURSE DEPARTMENT
ASCENDING order of COURSE NUMBER
DESCENDING order of NUMBER IN STOCK
60
MERGE JCL: Example 1• //JOBCARD…• //STEP01 EXEC PGM = SORT• //STEPLIB DD DSN=IBM.UTIL.LOADLIB,DISP=SHR• //SYSOUT DD SYSOUT=*• //SORTIN01 DD DSN=BOOK.STORE.INPUT1,DISP=OLD• //SORTIN02 DD DSN=BOOK.STORE.INPUT2,DISP=OLD• //SORTIN03 DD DSN=BOOK.STORE.INPUT3,DISP=OLD• //SORTOUT DD
DSN=BOOK.STORE.OUT,DISP=(NEW,CATLG,DELETE),• //UNIT=DISK,VOL=SER=TRG001,SPACE=(CYL,
(10,1),RLSE),DCB=(RECFM=FB,LRECL=173,BLKSIZE=1730)• //SYSIN DD *• MERGE FIELDS=(110,10,CH,A,162,4,BI,D)• /*•
61
Other Sort/Merge Control Statements
INCLUDE and OMIT Improves the Sort/Merge Efficiency by letting sort or merge just
the records that need to be processed INREC and OUTREC
Improves the Sort/Merge efficiency by letting sort or merge only the fields of the input records that need to be included in the output file
SUM statement Lets you add up numeric data in sorted records that have the
same control field values and writes just one output record for each value
SUM FIELDS=NONE to eliminate duplicate records from a file
62
Tailoring the input file
Inclusion and Omission can be done by comparing the contents of a
record field with either
Another field or
A constant (Character string / Decimal Number / Hexadecimal
string)
Two or more conditions can be combined by logical 'AND' and 'OR'
Both INCLUDE and OMIT cannot be used together
63
How to write INCLUDE/OMIT statements
Syntax:
INCLUDE COND=(field,comparison,{field }, [ {AND}, ]…) {constant} {OR }
OMIT COND=(field,comparison,{field }, [ {AND}, ]…) {constant} {OR }
Write in parentheses, and separated by commas:
the position, length, and data format of the field to be compared
comparison operator
the position, length, and data format of the field compared against OR a constant
64
List of Comparison operators
OperatorsEQ Equal ToNE Not Equal ToGT Greater ThanGE Greater Than Or Equal ToLT Less ThanLE Less Than Or Equal To
65
INCLUDE statement: Example
Suppose in a Book store file we want only the books (in ascending
order of book title) for which the number of copies sold YTD that
has exceeded 250
The SORT Control statements are:
INCLUDE COND=(166,4,BI,GT,250)
SORT FIELDS=(1,75,CH,A)
66
OMIT statement: Example
Suppose only those books for which NUMBER SOLD YTD exceeds
125 and the LAST NAME of the author is MARTIN are to appear in
the descending order of Price
The corresponding SORT control statements are
OMIT COND=(166,4,BI,LE,125,OR,76,15,CH,NE,C'MARTIN')
SORT FIELDS=(170,4,BI,D)
67
Rules for padding/truncation
In a field-to-field comparison, the shorter field is padded as
appropriate with blanks or zeroes
In a field-to-constant comparison, the constant is padded or
truncated to the length of the field
Note:
The decimal constants are padded or truncated on the left
Character and Hexadecimal constants are padded or truncated
on the right
68
Reformatting
Reformatting records with OUTREC: After records are sorted they
can be reformatted by using OUTREC control statement.
Fields can be deleted
Order of the fields can be rearranged
Zeroes or blanks can be inserted BEFORE, BETWEEN or AFTER
fields
If record length gets changed in the process of using OUTREC
statement, the new record length has to be specified on the
SORTOUT DD statement
69
How to write the OUTREC statement?
Syntax:
INREC FIELDS=([c:][separation-fld,]position,length[,align,]…)
OUTREC FIELDS=([c:][separation-fld,]position,length[,align,]…)
Specify the input location and length of the fields to appear, in the desired order (data format is not specified)
Write in parentheses and separated by commas:
c: Specifies the column (byte) in which a data field or separation field should be placed, relative to the start of the record
align tells the sort/merge utility to align the field on a halfword (H), fullword (F), or doubleword (D) boundary
70
Reformatting the Output Record: Example 1
Suppose only the BOOK TITLE, NUMBER IN STOCK, are to appear in ASCENDING order of BOOK TITLE, the output record becomes 79 bytes long
The SORTOUT DD Statement becomes
//SORTOUT DD DSN=BOOK.OUTPUT, DISP=(NEW,CATLG,),
// UNIT=DISK,VOL=SER=TRG001,DCB =(RECFM=FB,
// LRECL=79,BLKSIZE=790),SPACE=(TRK,(5,))
DFSORT control statements are
//SYSIN DD *
SORT FIELDS=(1,75,CH,A)
OUTREC FIELDS=(1,75,162,4)
71
OUTREC: Example 2
If it is required to add a 4-byte Binary field between BOOK TITLE
and NUMBER IN STOCK and fill it up with ZEROES, the following
control statement has to be given:
OUTREC FIELDS=(1,75,4Z,162,4)
LRECL on the SORTOUT DD statement should be 83
72
OUTREC: Example 3
Suppose a 20 character blank field is to be prefixed to the output
records, the following control statement has to be given:
OUTREC FIELDS=(20X,1,75,4Z,162,4)
LRECL on the SORTOUT DD statement should be 103
73
Reformatting records with INREC
The INREC control statement allows to reformat the input records
before they are processed
Reformatting is performed before SORT/MERGE
Note:
If reformatting using INREC changes the location of key fields,
the new location has to be specified in the SORT statement
74
INREC: Example
If only the BOOK TITLE and NUMBER SOLD YTD are to appear in
descending order of NUMBER SOLD YTD the following control
statement has to be given:
//SYSIN DD *
INREC FIELDS=(1,75,166,4)
SORT FIELDS=(76,4,BI,D)
/*
75
A dataset can be uncataloged using the UNCATLG statement. Syntax:
//SYSIN DD * UNCATLG DSN=data-set-name/*//
SYSUT2 is not coded
IEHPROGM
76
ADRDSSU
77
ADRDSSU
Purpose: To move huge data from one volume to another
78
ADRDSSU Example:
INDD is the input, or the volume from which the datasets need to be moved OUTDD is the output volume The include option can be used to mention different qualifiers (say HLQ.** or
HLQ.NEXT.** or ** - for all)//MOVE01 EXEC PGM=ADRDSSU,REGION=0M //SYSPRINT DD SYSOUT=* //INDD DD VOL=SER=Y2KZ02,UNIT=3390,DISP=SHR //OUTDD DD VOL=SER=DEVZ20,UNIT=3390,DISP=SHR //SYSIN DD * COPY DS(INCLUDE(**)) - LIDD(INDD) - OUTDD(OUTDD) - ALLDATA(*) - CATALOG DELETE //
79
Session 3 - Summary
Sort / Merge Utility
IEBCOMPR – Compare datasets
IKJEFT01 – Issue TSO Commands
ADRDSSU – Move Volumes of data
80
Course Summary
Purpose of Utilities
Main Types of Utilities
Functions of each type of Utility
IEBGENER, IEFBR14, IEBCOPY
Sort/Merge Operations
INCLUDE/OMIT and INREC/OUTREC Control Statements
81
References
Murach’s OS/390 and z/OS JCL by Raul Menendez and Dough Lowe
System 390 Job Control Language by Gary DeWard Brown
82
THANK YOU