Friday, May 20, 2011

IEFBR14 Utility

IEFBR14 is a very popular utility in IBM mainframes. Even though it is very popular, the service provided by this utility is "nothing".(i.e) It is a "do nothing" utility. This utility runs in all the IBM environments derived from OS/360, including z/OS.

In all IBM environments, the programs never specify files(input and output datasets) directly, but instead they were referenced through a JCL(Job Control Language) statements that invoke the program which needs to access these data sets. These datasets are given in the DD(Data Definition) statements which has a DISP(Disposition) Parameter that indicates how the data set is to be managed(i.e) a new file is created or old-file is re-used or the file is deleted upon completion or retained etc...

Even though the DD statements itself does the creation and deletion of datasets, it can't run without a program. Hence, a program that does nothing was required and that's how IEFBR14 utility came to picture. It always a success job. Those DD statements run under this program IEFBR14 to create and delete data sets. We can create PS(Physically Sequential) and PDS(Partioned Data Sets) from JCL.

Naming Convention:

The first three letters of the utilities has specific usage like "IEF" for programs produced by the job management group, "IEB" for data set utility programs, "IEF" for system utility programs, and "IEW" for program-linkage and -loading.

And the next portion of the program name, for example "BR14" means "branch to register 14", IEBUPDTE was the dataset utility (IEB) that applied updates (UPDTE) to source code files, and IEHINITT was the system utility (IEH) that initialized (INT) magnetic tape labels (T).

Example of IEFBR14 utility usage:

//jobname JOB account information .....
//stepname EXEC PGM=IEFBR14
//ddname DD DSN=dataset name,
// DISP=(MOD,DELETE,DELETE)


*DISP : Deletes the given dataset in the DSN parameter

4 comments:

  1. please post the source code for iefbr14

    ReplyDelete
    Replies
    1. //Jobname JOB NOTIFY=SYSUID,MSGCLASS=X
      //STEP01 EXEC PGM=IEFBR14
      //DD1 DD DSN=NEW.DATASET.CREATE,DISP=(NEW,CATLG,DELETE),
      // DCB=(RECFM=FB,LRECL=80,BLKSIZE=80,DSORG=PO),
      // SPACE=(TRK,(1,1,1),RLSE),
      // UNIT=SYSDA

      Delete
  2. what was this program will does?

    ReplyDelete