IEBGENER
The IEBGENER utility copies one sequential data set to another. (Remember that a member of a partitioned data set can be used as a sequential data set.) It can also do some filtering of the data, change LRECL and BLKSIZE, generate records, and several other functions. However, the most common use is to simply copy data sets. A typical job could be the following:
//OGDEN2 JOB 1,BILL,MSGCLASS=X
// PGM=IEBGENER
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=X
//SYSUT1 DD DISP=SHR,DSN=BILL.SEQ.DATA
//SYSUT2 DD DISP=(NEW,CATLG),DSN=BILL.COPY.DATA,UNIT=3390,
// VOL=SER=WORK02,SPACE=(TRK,3,3))
IEBGENER requires four DD statements with the DD names indicated in the example. The SYSIN DD statement is used to read control parameters; for simple uses no control parameters are needed and a DD DUMMY can be used. The SYSPRINT statement is for messages from IEBGENER. The SYSUT1 statement is for input and the SYSUT2 statement is for output. This example reads an existing data set and copies it to a new data set.
If the output data set is new and if no DCB parameters are specified, IEBGENER copies the DCB parameters from the input data set. The DCB parameters include LRECL, RECFM, and BLKSIZE.
Another common example is something like the following:
//OGDEN2 JOB 1,BILL,MSGCLASS=X
// PGM=IEBGENER
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=X
//SYSUT2 DD DISP=OLD,DSN=BILL.TEST.DATA
//SYSUT1 DD *
This is in-stream data. It can be as long
as you like. It appears to an application as
LRECL=80, RECFM=F, BLKSIZE=80. You would
want to have the SYSUT2 data set allocated with
a better blocksize.
/*
This example assumes BILL.TEST.DATA has already been created. This job will overwrite it with the data in the SYSUT1 input stream. Since the output data set already exists, IEBGENER will use its existing DCB attributes.
IEBGENER is the most basic copy or list program supplied with z/OS. It has been present since the first release of OS/360.
没有评论:
发表评论