If the cataloged procedures do not give you the flexibility you need for more complex programs, write your own job control statements. The following example shows the general format of JCL used to compile a program.
//jobname JOB acctno,name,MSGCLASS=1 (1)
//stepname EXEC PGM=IGYCRCTL,PARM=(options) (2)
//STEPLIB DD DSNAME=IGY.V4R1M0.SIGYCOMP,DISP=SHR (3)
//SYSUT1 DD UNIT=SYSDA,SPACE=(subparms) (4)
//SYSUT2 DD UNIT=SYSDA,SPACE=(subparms)
//SYSUT3 DD UNIT=SYSDA,SPACE=(subparms)
//SYSUT4 DD UNIT=SYSDA,SPACE=(subparms)
//SYSUT5 DD UNIT=SYSDA,SPACE=(subparms)
//SYSUT6 DD UNIT=SYSDA,SPACE=(subparms)
//SYSUT7 DD UNIT=SYSDA,SPACE=(subparms)
//SYSPRINT DD SYSOUT=A (5)
//SYSLIN DD DSNAME=MYPROG,UNIT=SYSDA, (6)
// DISP=(MOD,PASS),SPACE=(subparms)
//SYSIN DD DSNAME=dsname,UNIT=device, (7)
VOLUME=(subparms),DISP=SHR
You can use a mixture of HFS (PATH='hfs-directory-path') and MVS data sets (DSN=traditional-data-set-name) in the compilation DD statements for the following data sets:
However, the compiler utility files (DD statements SYSUTx) and COPY libraries (DD statement SYSLIB) must be MVS data sets.
related references
MVS Program Management: User's Guide and Reference