Data and storage management on z/OS
Previous topic | Next topic | Contents | Glossary | Contact z/OS | PDF

The IEFBR14 utility: Do (almost) nothing

Data and storage management on z/OS

The utility program IEFBR14 performs no action other than return a completion code of 0; however, "running" this utility invokes other system components that perform useful tasks.

For example, submitting JCL to run IEFBR14 causes the z/OS® job scheduler to check your JCL statements for syntax errors. If your JCL contains data definition (DD) statements, the z/OS initiator will allocate space for new data sets and perform disposition processing for all data sets.

The following JCL for the job named SMITH1 accomplishes several tasks, even though IEFBR14 does nothing but return 0:
//       EXEC PGM=IEFBR14
//   UNIT=3390,SPACE=(CYL,(3,1,25)
  • The z/OS job scheduler to check your JCL statements for syntax errors.
  • The initiator allocates the new data set defined by NEWDS (SMITH.LIB.CNTL) and keeps the data set when the job ends.
  • The initiator also deletes an old data set defined by OLDDS (SMITH.OLD.DATA) at the end of the job.
The same functions to create one data set and delete another could be done through ISPF, for example, but these actions might be needed as part of a larger sequence of batch jobs.
Note: This explanation of the name IEFBR14 might help you remember what this utility does… One IBM® group writing early OS/360 code used the prefix "IEF" for all their code modules. In assembly language, "BR" means Branch to the address in a register. Branching to the address in general register 14 is the standard way to end a program.

Copyright IBM Corporation 1990, 2010