Utility program
A supplied program that performs a standard job such as copying, sorting, comparing or managing datasets, driven by control statements.
Also written utilities, IBM utilities
Utilities are the ready-made tools of batch work. Rather than writing a program to copy a file or sort records, you run a utility and tell it what to do through control statements supplied in the JCL.
They follow a recognisable pattern. The EXEC statement names the utility, DD statements supply the input and output datasets under conventional names, and a SYSIN statement provides the commands. Their reports come back on SYSPRINT.
The ones you meet early are IDCAMS for managing datasets and VSAM, DFSORT for sorting and reformatting records, IEBGENER for copying sequential data, IEBCOPY for working with library members, and IEFBR14 for doing nothing at all in a useful way.
Their names look impenetrable and largely are, since they follow an old IBM naming scheme rather than describing themselves. But there are only a handful in everyday use, and learning those covers a surprising proportion of real batch work. A great deal of production JCL contains no custom programs whatsoever, only utilities strung together.
Related terms
- IDCAMSThe utility used to create, list, copy and delete datasets, and the standard tool for anything involving VSAM.
- DFSORTThe standard sort utility, used far beyond sorting to select, merge, reformat and summarise records at speed.
- IEBGENERThe classic utility for copying a sequential dataset, and for creating one from data supplied in the JCL.
- IEFBR14A program that does nothing at all, used to create or delete datasets purely through the JCL around it.
- JCLJob Control Language: the language used to tell the mainframe what programs to run, in what order, and with what files.
- SYSPRINTThe conventional DD name a program uses for its messages and report output.