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:
//
//
//ddname DD DSN=dataset name,
// DISP=(MOD,DELETE,DELETE)
*DISP : Deletes the given dataset in the DSN parameter
Good post !!
ReplyDeleteplease post the source code for iefbr14
ReplyDelete//Jobname JOB NOTIFY=SYSUID,MSGCLASS=X
Delete//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
what was this program will does?
ReplyDelete