IEFBR14 Utility


Introduction

The IEFBR14 is a no-operation or dummy utility supplied by IBM. In the utility name, "IEB" means it is a data set utility program, and "BR14" means "branch to register 14". During IEFBR14 execution, it branches to the address in Register 14, which returns the control to the operating system. The assembler instruction for this process is BR 14. That's how this utility got its name IEFBR14.

  • IEFBR14 utility perform the following tasks -
    • Allocate/create datasets
    • Delete datasets
    • Uncatlog Datasets
    • Catalog Datasets
    • Setting return code to zero

IEFBR14 performs the above operations on the sequential file (PS) or partitioned dataset (PDS). ISPF 3.2 (Dataset Utility Panel) can also perform operations on datasets in foreground mode. IEFBR14 utility is used for the same purpose but in batch mode.

Syntax


IEFBR14 uses the DISP parameter to process the data sets coded under EXEC statement by returning the control to z/OS.

...
//STEP1    EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//SYSDUMP  DD SYSOUT=*
//DD1      DD DSN=datset.name, DISP=(OLD,UNCATLG,..),
//         VOLUME=SER=volume-name,UNIT=sys-name
...
  • SYSPRINT - Optional. Utility use it for their output.
  • SYSOUT - Optional. It specifies a system-defined DD name for file status codes, system abend codes information, and the display statement output.
  • SYSDUMP - Oprional. The system uses it for dumping when an abend occurs.
  • DD01, DD02, ... - This DD statement specifies dataset attributes for creation.

Return Codes -

IEFBR14 returns only below condition codes -

  • 0 - Specifies the job completed successfully.
  • JCL ERROR - Specifies the JCL has syntactical errors and needs to correct them. This happens when the utility is used to check syntax errors.

Create Datasets


IEFBR14 is used to create or allocate empty datasets. The disposition (DISP) to catalog the dataset is DISP=(NEW,CATLG,DELETE).

Example -


Scenario - Create a PS file using the IEFBR14 utility.

JCL -

----+----1----+----2----+----3----+---4----+---5---+
...
//STEP01   EXEC PGM=IEFBR14
//DD1      DD DSN=MATEPK.IEFBR14.PSFILE,
//            DISP=(NEW,CATLG,DELETE),
//            SPACE=(TRK,(3,2),RLSE),
//            UNIT=SYSDA,VOLUME=SER=DEVHD4,
//            DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=800)
...

Uncatalog Datasets


UNCATALOG removes the dataset entry from the catalog table. So that if we search for the dataset from the Data Set List Utility (=3.4) using dataset's name, we won't be able to find the dataset. The disposition to uncatalog the dataset is DISP=(OLD,UNCATLG,..).

Example -


Scenario - Uncatalog the PS and PDS using IEFBR14 utility.

Input PS File - MATEPK.IEFBR14.PSFILE
Input PDS - MATEPK.IEFBR14.PDS

JCL -

----+----1----+----2----+----3----+----4----+----5----+
...
//STEP01   EXEC PGM=IEFBR14
//DD1      DD DSN=MATEPK.IEFBR14.PSFILE,
//            DISP=(OLD,UNCATLG,DELETE)
//DD2      DD DSN=MATEPK.IEFBR14.PDS,
//            DISP=(OLD,UNCATLG,DELETE)
...

Catalog Datasets


Catalog makes the dataset entry in the catalog table with the volume serial number. So that if we search the dataset from the Data Set List Utility (ISPF 3.4), we can find the dataset. The disposition to catalog the dataset is DISP=(OLD,CATLG,..).

Example -


Scenario - Catalog the PS and PDS using IEFBR14 utility that are uncataloged earlier.

Input PS File - MATEPK.IEFBR14.PSFILE
Input PDS - MATEPK.IEFBR14.PDS

JCL -

----+----1----+----2---+---3----+---4---+---5---+
...
//STEP01   EXEC PGM=IEFBR14
//DD1      DD DSN=MATEPK.IEFBR14.PSFILE,
//            VOLUME=SER=DEVHD4,UNIT=SYSDA,
//            DISP=(OLD,CATLG,DELETE)
//DD2      DD DSN=MATEPK.IEFBR14.PDS,
//            VOLUME=SER=DEVHD4,UNIT=SYSDA,
//            DISP=(OLD,CATLG,DELETE)
...

Delete Datasets


ISPF foreground option 3.2 (Data Set Utility panel) is also used to delete the datasets. However, the IEFBR14 utility is used to delete the datasets as part of a batch run. The disposition to delete the dataset is DISP=(OLD,DELETE,..) or DISP=(MOD,DELETE,..).

Example -


Scenario - Delete the PS and PDS using IEFBR14 utility.

Input PS File - MATEPK.IEFBR14.PSFILE
Input PDS - MATEPK.IEFBR14.PDS

JCL -

----+----1----+----2----+----3----+---4---+---5---+
...
//STEP01   EXEC PGM=IEFBR14
//DD1      DD DSN=MATEPK.IEFBR14.PSFILE,
//            DISP=(OLD,DELETE,DELETE)
//DD2      DD DSN=MATEPK.IEFBR14.PDS,
//            DISP=(OLD,DELETE,DELETE)
...

Want to Learn More?


If you want to learn more about IEFBR14 utility, go through the below topics explained with examples -