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.)

[edit] External links

In other languages