In this example, IEBUPDTE is used to create a sequential data set
from card input. User header and trailer labels, also from the input
stream, are placed on this sequential data set.
//LABEL JOB ...
//CREATION EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD SYSOUT=A
//SYSUT2 DD DSNAME=LABEL,VOLUME=SER=123456,UNIT=disk,
// DISP=(NEW,KEEP),LABEL=(,SUL),SPACE=(TRK,(15,3))
//SYSIN DD *
./ LABEL
(Header labels)
./ ADD LIST=ALL,OUTHDR=ROUTINE1,OUTTLR=ROUTINE2
(Data records)
./ LABEL
(Trailer labels)
./ ENDUP
/*
The control statements are as follows:
- SYSUT2 DD defines and allocates space for the output sequential
data set, called LABEL, which resides on a disk volume.
- SYSIN DD defines the control data set, which follows in the input
stream. (This control data set includes the sequential input data
set and the user labels, which are on cards.)
- The first LABEL statement identifies the 80-byte card images in
the input stream which will become user header labels. (They can be
modified by the user's header-label processing routine specified on
the ADD function statement.)
- The ADD function statement indicates that the data statements
that follow are placed in the output data set. The newly created data
set is listed in the message data set. User output header and output
trailer routines are to be given control before the writing of header
and trailer labels.
- The second LABEL statement identifies the 80-byte card images
in the input stream which will become user trailer labels. (They can
be modified by the user's trailer-label processing routine specified
on the ADD function statement.)
- ENDUP signals the end of the control data set.