IBM mainframe utility programs
From Wikipedia, the free encyclopedia
IBM mainframe utility programs are supplied with IBM mainframe operating systems such as MVS to carry out various tasks associated with datasets, etc.
Contents |
[edit] Disk drive support
[edit] ICKDSF
ICKDSF ("Device Support Facility") installs, initializes and maintains DASD, either under an operating system, or standalone.
[edit] VSAM utilities
[edit] IDCAMS
IDCAMS ("Access Method Services") generates and modifies VSAM datasets. The "Access Method" reference dervies from the initial "VSAM replaces all other access methods" mindset of OS/VS.
[edit] Dataset utilities
[edit] IEBCOMPR
IEBCOMPR compares records in sequential or partitioned datasets.
//XXXXXXXW JOB XXXXXXX,AAAA.A.A,CLASS=G,MSGCLASS=1,NOTIFY=XXXXXXX //S010IEBC EXEC PGM=IEBCOMPR,ACCT=PJ00000000 // INCLUDE MEMBER=@BATCHS //SYSIN DD DUMMY //* //SYSUT1 DD UNIT=DASD,DISP=SHR,DSN=XXXXXXX.PREVBIB //SYSUT2 DD UNIT=DASD,DISP=SHR,DSN=XXXXXXX.PREVCAT
[edit] IEBCOPY
IEBCOPY copies, compresses and merges partitioned datasets. It can also select or exclude specified members during the copy operation, and rename or replace members.
[edit] IEBDG
IEBDG ('Data Generator') creates test datasets consisting of patterned data.
[edit] IEBEDIT
IEBEDIT selectively copies portions of JCL.
An example of an IEBEDIT program:
//IEBEDITJ JOB ACCT,'',CLASS=P,MSGCLASS=T,MSGLEVEL=(1,1),NOTIFY=&SYSUID //STEP0001 EXEC PGM=IEBEDIT //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSN=xxxxx.yyyyy.zzzzz,DISP=SHR //SYSUT2 DD SYSOUT=(*,INTRDR) //SYSIN DD * EDIT TYPE=INCLUDE,STEPNAME=(STEP10,STEP5,STEP15) /* //
In data set xxxxx.yyyyy.zzzzz you have to write a JCL program which contains 15 steps. After that you have to execute the above program.
[edit] IEBGENER
IEBGENER copies records from a sequential dataset, or converts one to partitioned format.
An example of an IEBGENER program:
//IEBGENER JOB ACCT,'DATA COPY',MSGCLASS=J,CLASS=A //STEP010 EXEC PGM=IEBGENER //SYSUT1 DD DSN=xxxxx.yyyyy.zzzzz,DISP=SHR //SYSUT2 DD DSN=aaaaa.bbbbb.ccccc,DISP=(,CATLG), // DCB=(RECFM=FB,LRECL=1440),SPACE=(TRK,(5,5),RLSE), // UNIT=SYSDA //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY
[edit] IEBIMAGE
IEBIMAGE manipulates character set definitions (aka "load modules" or "images") for the IBM 3800 printing subsystem.
[edit] IEBISAM
IEBISAM unloads, loads, copies and prints ISAM datasets. (OBSOLETE) ISAM is no longer supported by most modern operating systems. VSAM is used instead. See IDCAMS.
[edit] IEBPTPCH
IEBPTPCH ("PrinT and PunCH") prints or punches records from a sequential or partitioned dataset.
//IEBPTPCH JOB // EXEC PGM=IEBPTPCH //SYSIN DD * PRINT MAXFLDS=2 TITLE ITEM=('Name',22), ITEM=('GPA',50) TITLE ITEM=(' ',1) RECORD FIELD=(25,1,,22), FIELD=(4,51,,50) /* //SYSPRINT DD SYSOUT=* //SYSUT1 DD * Person 1 307 C Meshel Hall 3.89 Second person 123 Williamson Hall 2.48 3rd person 321 Maag Library 1.52 /* //SYSUT2 DD SYSOUT=* //
[edit] IEBUPDTE
IEBUPDTE ("UPDaTE") incorporates changes to sequential or partitioned datasets. The input format is conceptually very similar to that of the UNIX "patch" utility, although it uses different markers (e..g, "./ INSERT ..." instead of "@@...").
Some programmers pronounce it "I.E.B. up-ditty".
[edit] Scheduler utilities
[edit] IEFBR14
IEFBR14 is a dummy program, normally used to allocate or delete datasets.
An example of an IEFBR14 program:
//IEFBR14 JOB ACCT,'DELETE DATASET' // EXEC PGM=IEFBR14 //DELDD DD DSN=xxxxx.yyyyy.zzzzz, // DISP=(MOD,DELETE,DELETE),UNIT=DASD
It consisted initially as a single instruction a "Branch to Register" 14. The mnemonic used in the IBM Assembler was BR and hence the name: IEF BR 14.
The calling sequence for OS/360 contained the return address in Register 14. A branch to Register 14 would thus immediately exit the program.
This single instruction program had an error in it. It didn't set the return code and hence a second instruction had to be added to clear the return code so that it would exit with the correct status.
[edit] System utilities
[edit] IEHINITT
IEHINITT ("INITalize Tape") initializes tapes by writing tape labels. Multiple tapes may be labeled in one run of the utility. IBM standard or ASCII labels may be written.
An example of an IEHINITT program:
//IEHINITT JOB ACCT,'LABEL TAPES',MSGCLASS=J,CLASS=A //STEP0001 EXEC PGM=IEHINITT,REGION=8M //SYSPRINT DD SYSOUT=A //LABEL DD DCB=DEN=2,UNIT=(3490,1,DEFER) //SYSIN DD * LABEL INITT SER=123450,NUMBTAPE=3 /
This example will label 3 tapes on a 3490 magnetic tape unit. Each tape will receive an IBM standard label. The VOLSER will be incremented by one for each tape labeled. Each tape will be rewound and unloaded after being labeled.
[edit] IEHLIST
IEHLIST is a utility used to list entries in a Partitioned Dataset (PDS) directory or to list the contents of a Volume Table of Contents (VTOC).
An example of an IEHLIST program:
//IEHLIST JOB ACCT,'LIST PDS',MSGCLASS=J,CLASS=A //STEP0001 EXEC PGM=IHLIST,REGION=8M //SYSPRINT DD SYSOUT=A //PDS1 DD DSN=xxxx.yyyy.zzzz,DISP=OLD //SYSIN DD * LISTPDS DSNAME=xxxx.yyyy.zzzz,FORMAT /*
This job will produce a formatted listing of the PDS directory of the PDS named xxxx.yyyy.zzzz.
An example of an IEHLIST program to list a VTOC is very similar:
//IEHLIST JOB ACCT,'LIST VTOC',MSGCLASS=J,CLASS=A //STEP0001 EXEC PGM=IHLIST,REGION=8M //SYSPRINT DD SYSOUT=A //VOL1 DD VOL=SER=vvvvvv,DISP=OLD //SYSIN DD * LISTVTOC VOL=vvvvvv,FORMAT /*
[edit] IEHMOVE
IEHMOVE moves or copies collections of data.
[edit] IEHPROGM
IEHPROGM builds and maintains system control data. It is also used for renaming and scratching (deleting) a dataset.
[edit] Supporting Programs
(The following programs are not technically utilities -- they are not supplied with the Operating System, but are separate purchased packages. But as they are standard items required for programming the computer, nearly all shops will have them installed.)
[edit] IEWL
IEWL (also known as HEWL) is the linkage editor used to create an executable load module from an object module. The linkage editor must be used to make an executable copy ('load module') of a compiled or assembled program produced by an assembler or compiler for some programming language. External symbols in the object module(s), optional linkage editor control statements, and linkage editor JCL parameters determine how the finished load module is to be constructed.
[edit] IGYCRCTL
IGYCRCTL is a COBOL compiler that prepares a COBOL source program for execution by producing a machine-language object module. Note that the object module produced by the compiler must be processed by the linkage editor, IEWL, before the compiled program is ready for execution. (This is the compiler for the current IBM Enterprise COBOL for z/OS product; there have been several previous IBM COBOL compilers over the years, with different names.)