IGYWCPL は、プログラムのコンパイル、プリリンク、およびリンク・エディットを行う 3 ステップのカタログ式プロシージャーです。
次の DD ステートメントを入力ストリームで指定し、ソース・プログラムの位置を示す必要があります。
SYSIN DD * (or appropriate parameters)
プログラムがコピーブックを使用する場合は、COPY ステートメントで指定されている SYSLIB または他のライブラリーに対して DD ステートメントも指定する必要があります。以下に例を示します。
//COBOL.SYSLIB DD DISP=SHR,DSN=DEPT88.BOBS.COBLIB
//IGYWCPL PROC LNGPRFX='IGY.V4R1M0',SYSLBLK=3200, // LIBPRFX='CEE',PLANG=EDCPMSGE, // PGMLIB='&&GOSET',GOPGM=GO //* //* COMPILE, PRELINK AND LINK EDIT A COBOL PROGRAM //* //* PARAMETER DEFAULT VALUE USAGE //* LNGPRFX IGY.V4R1M0 PREFIX FOR LANGUAGE DATA SET NAMES //* SYSLBLK 3200 BLOCK SIZE FOR OBJECT DATA SET //* LIBPRFX CEE PREFIX FOR LIBRARY DATA SET NAMES //* PLANG EDCPMSGE PRELINKER MESSAGES MODULE //* PGMLIB &&GOSET DATA SET NAME FOR LOAD MODULE //* GOPGM GO MEMBER NAME FOR LOAD MODULE //* //* CALLER MUST SUPPLY //COBOL.SYSIN DD . . . //* //COBOL EXEC PGM=IGYCRCTL,REGION=2048K //STEPLIB DD DSNAME=&LNGPRFX..SIGYCOMP, (1) // DISP=SHR //SYSPRINT DD SYSOUT=* //SYSLIN DD DSNAME=&&LOADSET,UNIT=SYSDA, // DISP=(MOD,PASS),SPACE=(TRK,(3,3)), // DCB=(BLKSIZE=&SYSLBLK) //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) (2) //SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //SYSUT7 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) //PLKED EXEC PGM=EDCPRLK,PARM='',COND=(8,LT,COBOL), // REGION=2048K //STEPLIB DD DSNAME=&LIBPRFX..SCEERUN, // DISP=SHR //SYSMSGS DD DSNAME=&LIBPRFX..SCEEMSGP(&PLANG), // DISP=SHR //SYSLIB DD DUMMY //SYSIN DD DSN=&&LOADSET,DISP=(OLD,DELETE) //SYSMOD DD DSNAME=&&PLKSET,UNIT=SYSDA,DISP=(NEW,PASS), // SPACE=(32000,(100,50)), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200) //SYSDEFSD DD DUMMY //SYSOUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //* //LKED EXEC PGM=HEWL,COND=(8,LT,COBOL),REGION=1024K //SYSLIB DD DSNAME=&LIBPRFX..SCEELKED, (3) // DISP=SHR //SYSPRINT DD SYSOUT=* //SYSLIN DD DSNAME=&&PLKSET,DISP=(OLD,DELETE) // DD DDNAME=SYSIN //SYSLMOD DD DSNAME=&PGMLIB(&GOPGM), // SPACE=(TRK,(10,10,1)), // UNIT=SYSDA,DISP=(MOD,PASS) //SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(10,10))