There may be any number of EZINxxx/EZOUTxxx DD statement pairs. Each pair defines a copy operation and should be made unique by a one to three character suffix. Copies are performed in sorted order, according to the ddname suffix.//jobname JOB ,name,GROUP=Jprojcode,USER=Pusercode, // PASSWORD=? /*ROUTE PRINT RMTn //STEPA EXEC EZCOPY //SYSPRINT DD SYSOUT=* //EZINxxx DD (input data set) //EZOUTxxx DD (output data set)
Note If more than nine data sets are being copied, data sets 1 to 9 should be coded as EZIN01, EZOUT01, etc. in order to keep the sets in order. Each input record is edited to fit the output DCB attributes. If no output attributes are specified, the input DCB attributes are copied. Input DCB attribute defaults are DCB=(RECFM=U,BLKSIZE=32760). If input records are too long to fit the output specifications, they will be truncated unless a D is specified in the PARM field (see below). If input records are too short to fit the output specifications, they will be expanded with blanks. The PARM field on the EXEC statement may specify any of the following options. Multiple options must be separated by commas.
U Make output uppercase. L Make output lowercase. T Delete trailing blanks. C Copy input RECFM carriage control type (A or M) to output RECFM. D Divide large input records into multiple records instead of truncating. Q Suppress SYSPRINT output. Also, the SYSPRINT DD statement may be omitted. E Exact copy. Force output DCB attributes equal to input DCB attributes.
For example,
//STEPA EXEC EZCOPY,PARM=D
//STEP2 EXEC HSUBMIT //SYSIN DD (specification of input data set)
"HSUBMIT," U01-0439, is available through the PRTDOC facility.
//jobname JOB ,name,GROUP=Jprojcode,USER=Pusercode, // PASSWORD=? /*ROUTE PRINT RMTn //stepname EXEC LISTCAT //MYCODE DD * LEVEL(Jprojcode)
A complete description of PDSUTIL is contained in "PDSUTIL: Partitioned Dataset Utility Program Description," U01-0432, available through the PRTDOC facility.//jobname JOB ,name,GROUP=Jprojcode,USER=Pusercode, // PASSWORD=? /*ROUTE PRINT RMTn //LIST EXEC PDSUTIL,DSN='dsname'
Any of these guides may be printed with the following JCL:ASSIST PASCAL PSUDUMP CENSPAC PDS PLOTUT EISPACK PLC XMACRO
//jobname JOB ,name,GROUP=Jprojcode,USER=Pusercode, // PASSWORD=? /*ROUTE PRINT RMTn /*JOBPARM LINES=99 //stepname EXEC PRTGUIDE,GUIDE=name
where "name" is one of the guides listed above. The default form is greenbar paper (0316). The PL/C guide is printed in double-column format; therefore, narrow forms (0416) must not be requested for it.
Procedure Available: IDCAMSThe IDCAMS control statements, supplied by the user, are documented in MVS/ESA ICA: Access Method Services ReferenceProcedure Step Name Symbolic Parameters
Execution GO GOREG
Procedure Listing
//IDCAMS PROC GOREG=1024K //GO EXEC PGM=IDCAMS,REGION=&GOREG //SYSPRINT DD SYSOUT=*
Example
//jobname JOB ,name,GROUP=Jprojcode,USER=Pusercode, // PASSWORD=? /*ROUTE PRINT RMTn //stepname EXEC IDCAMS //GO.SYSIN DD * (IDCAMS control statements)
Example 1 - Copy a partitioned data set on disk to a scratch cartridge tape, suitable for a backup copy, for storage, or for transporting the data.
//jobname JOB ,name,GROUP=Jprojcode,USER=Pusercode,MSGCLASS=H, // PASSWORD=? /*ROUTE PRINT RMTn //stepname EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //ddname1 DD DSN=dsname1,DISP=SHR //ddname2 DD DSN=dsname2,UNIT=TAPE,DISP=(NEW,KEEP), // LABEL=EXPDT=yyddd //SYSUT3 DD UNIT=SYSDA,SPACE=(TRK,(1)) //SYSUT4 DD UNIT=SYSDA,SPACE=(TRK,(1)) //SYSIN DD * COPY OUTDD=ddname2,INDD=ddname1
If the PDS is not cataloged, then add UNIT=ONLINE,VOL=SER=volid in the ddname1 statement. When this example is executed, a copy of the PDS is created on tape, and the original PDS remains on disk.
Example 2 - Creating a partitioned data set on disk from a data set on a cartridge tape.
//jobname JOB ,name,GROUP=Jprojcode,USER=Pusercode,MSGCLASS=H, // PASSWORD=? /*ROUTE PRINT RMTn //stepname EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //ddname1 DD DSN=dsname1,UNIT=TAPE,VOL=SER=volid, // DISP=SHR //ddname2 DD DSN=dsname2,UNIT=ONLINE,DISP=(NEW,CATLG), // SPACE=(blksize,(n1,n2,n3),RLSE) //SYSUT3 DD UNIT=SYSDA,SPACE=(TRK,(1)) //SYSUT4 DD UNIT=SYSDA,SPACE=(TRK,(1)) //SYSIN DD * COPY OUTDD=ddname2,INDD=ddname1where "n1,n2,n3" are the disk space allocations.
Procedure Available: IEFBR14 (alias BR14)Note: If the data set is cataloged, the user should not code UNIT or VOL=SER parameters. If these are coded, the data set will be deleted but not uncataloged. IEFBR14 should not be used to catalog or uncatalog tape data sets, since to do so requires mounting the tape. IEHPROGM should be used for these purposes.Procedure Step Name Symbolic Parameters
Execution GO --
Procedure Listing
//IEFBR14 PROC //GO EXEC PGM=IEFBR14
Example: Deleting a Cataloged Disk Data Set
//jobname JOB ,name,GROUP=Jprojcode,USER=Pusercode,MSGLEVEL=(1,1), // PASSWORD=? /*ROUTE PRINT rmtn // EXEC IEFBR14 //DD1 DD DSN=Jprojcode.Pusercode.datasetname,DISP=(OLD,DELETE)
//jobname JOB ,name,GROUP=Jprojcode,USER=Pusercode,MSGLEVEL=(1,1), // PASSWORD=? /*ROUTE PRINT RMTn //stepname EXEC IEHLIST,VOLID=ONLINn //GO.SYSIN DD * LISTPDS DSNAME=Jprojcode.pdsname,VOL=3380=ONLINn
IEHLIST can also be used to list the entries in a volume table of contents; see examples in MVS/ESA Data Administration: Utilities , GC26-4516.
Procedure Available: IEHMOVE (alias MOVE)
Procedure Step Name Symbolic Parameters
Execution GO VOLID, SYSUT1
Procedure Listing
//IEHMOVE PROC VOLID=SYSDAA,SYSUT1=SYSDAA //GO EXEC PGM=IEHMOVE //SYSPRINT DD SYSOUT=* //MVRES9 DD UNIT=(3380,,DEFER),VOL=SER=MVRES9,DISP=OLD //SYSUT1 DD UNIT=(DISK,,DEFER),VOL=SER=&SYSUT1,DISP=OLD //XXXXXX DD VOL=REF=UTCC.DISK.&VOLID,DISP=OLDExample
//jobname JOB ,name,GROUP=Jprojcode,USER=Pusercode, // PASSWORD=? /*ROUTE PRINT RMTn //stepname EXEC IEHMOVE,VOLID=ONLINn //GO.SYSIN DD * (IEHMOVE control statements)
The IEHMOVE control statements, supplied by the user, are documented in MVS/ESA Data Administration: Utilities , GC26-4516.
Procedure Available: IEHPROGM (alias MOD, PROGM)The IEHPROGM control statements, supplied by the user, are documented in MVS/ESA Data Administration: Utilities , GC26-4516.Procedure Step Name Symbolic Parameters
Execution GO VOLID
Procedure Listing
//IEHPROGM PROC VOLID=MVRES1 //GO EXEC PGM=IEHPROGM //SYSPRINT DD SYSOUT=* //MVRES9 DD UNIT=(3380,,DEFER),VOL=SER=MVRES9,DISP=OLD //XXXXXX DD VOL=REF=UTCC.DISK.&VOLID,DISP=OLD
Example: Deleting a Data Set on ONLIN1
//jobname JOB ,name,GROUP=Jprojcode,USER=Pusercode, // PASSWORD=? /*ROUTE PRINT RMTn //stepname EXEC IEHPROGM,VOLID=ONLIN1 //GO.SYSIN DD * (IEHPROGM control statements)
CORE=MAX where CORE indicates the main storage allocation in bytes for the programProcedure Available: SORT
Procedure Step Name Symbolic Parameters
Execution GO CORE, CYLS, GOREG, MSG, TYPE
Default Values for Symbolic Parameters
Examples
A. Sort input and print output//jobname JOB ,name,GROUP=Jprojcode,USER=Pusercode, // PASSWORD=? /*ROUTE PRINT RMTn //stepname EXEC SORT //GO.SORTIN DD * (input to be sorted) //GO.SORTOUT DD SYSOUT=* //GO.SYSIN DD * (control statements)
B. Sort tape input
//jobname JOB ,name,GROUP=Jprojcode,USER=Pusercode,CLASS=T, // PASSWORD=? /*ROUTE PRINT RMTn //stepname EXEC SORT //GO.SORTIN DD (specification of input data set on tape) //GO.SORTOUT DD (specification of output data set) //GO.SYSIN DD * (control statements)
C. Large sort
//jobname JOB ,name,GROUP=Jprojcode,USER=Pusercode, // PASSWORD=? /*ROUTE PRINT RMTn //stepname EXEC SORT,GOREG=512K,CYLS=15 //GO.SORTIN DD (specification of input data set) //GO.SORTOUT DD (specification of output data set) //GO.SYSIN DD * (control statements)
Documentation
The JCL statements and control statements required for execution of SyncSort are given in A Programmer's Guide to SyncSort OS & OS/VS , SI-0401 (CMS) or SI-0101 (MVS), available from SyncSort Incorporated, 50 Tice Boulevard, Woodcliff Lake, New Jersey, 07675, telephone (201) 930-9700.