Skip to content
JCL & batch

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.

Browse all 115 terms

Learn this properly.

Use IEFBR14 for real in Mainframe101, in your browser, with Zed beside you. Join the waitlist.

Early access and updates. No spam, unsubscribe any time.