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 -