IEFBR14
A program that does nothing at all, used to create or delete datasets purely through the JCL around it.
Also written BR14
IEFBR14 is the most useful program on the mainframe that does absolutely nothing. It contains one instruction, which returns immediately with a return code of zero.
Its value comes from what happens around it. The system allocates every dataset on a step's DD statements before the program starts, and processes their dispositions when the step ends, whether or not the program did anything. So a step running IEFBR14 with a DD statement that creates a dataset creates it. One with a disposition of delete deletes it.
That makes it the standard way to prepare the ground at the start of a job: delete yesterday's work files so a rerun starts clean, or allocate the datasets a later step will write to.
The name comes from its implementation: BR 14 is the assembler instruction that returns to the caller. It is a small piece of mainframe folklore, and one of the first things that makes JCL feel less arbitrary once you understand why a do-nothing program is worth having.
Related terms
- Utility programA supplied program that performs a standard job such as copying, sorting, comparing or managing datasets, driven by control statements.
- DispositionThe DISP parameter, which says whether a dataset already exists, and what to do with it when the step ends normally or fails.
- DD statementThe JCL statement that connects a name inside a program to a real dataset outside it.
- JCLJob Control Language: the language used to tell the mainframe what programs to run, in what order, and with what files.
- Job stepOne program execution within a job. A job is simply a sequence of steps that run in order.