Compile and link-edit procedure (IGYWCL)

IGYWCL is a two-step cataloged procedure to compile and link-edit a program.

The COBOL job step produces an object module that is input to the binder (linkage-editor). You can add other object modules. You must supply the following DD statement, indicating the location of the source program, in the input stream:


//COBOL.SYSIN DD  *       (or appropriate parameters)

If the program uses copybooks, you must also supply a DD statement for SYSLIB or other libraries that you specify in COPY statements. For example:


//COBOL.SYSLIB  DD  DISP=SHR,DSN=DEPT88.BOBS.COBLIB


//IGYWCL PROC  LNGPRFX='IGY.V6R3M0',
//             LIBPRFX='CEE',
//             PGMLIB='&&GOSET',GOPGM=GO
//*
//*  COMPILE AND LINK EDIT A COBOL PROGRAM
//*
//*  PARAMETER  DEFAULT VALUE    USAGE
//*   LNGPRFX   IGY.V6R3M0       PREFIX FOR LANGUAGE DATA SET NAMES
//*   SYSLBLK   3200             BLOCK SIZE FOR OBJECT DATA SET
//*   LIBPRFX   CEE              PREFIX FOR LIBRARY DATA SET NAMES
//*   PGMLIB    &&GOSET          DATA SET NAME FOR LOAD MODULE
//*   GOPGM     GO               MEMBER NAME FOR LOAD MODULE
//*
//*  CALLER MUST SUPPLY //COBOL.SYSIN DD . . .
//*
//*  CALLER MUST ALSO SUPPLY //COBOL.SYSLIB DD . . . for COPY statements
//*
//COBOL  EXEC PGM=IGYCRCTL,REGION=0M
//STEPLIB  DD  DSNAME=&LNGPRFX..SIGYCOMP,DISP=SHR       (1) 
//         DD  DSNAME=&LIBPRFX..SCEERUN,DISP=SHR  
//         DD  DSNAME=&LIBPRFX..SCEERUN2,DISP=SHR 
//SYSPRINT DD  SYSOUT=*
//SYSLIN   DD  DSNAME=&&LOADSET,UNIT=SYSALLDA,
//             DISP=(MOD,PASS),SPACE=(CYL,(1,1)),
//SYSUT1   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT2   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT3   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT4   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT5   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))        
//SYSUT6   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1)) 
//SYSUT7   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1)) 
//SYSUT8   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1)) 
//SYSUT9   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1)) 
//SYSUT10  DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1)) 
//SYSUT11  DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1)) 
//SYSUT12  DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1)) 
//SYSUT13  DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1)) 
//SYSUT14  DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1)) 
//SYSUT15  DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1)) 
//SYSMDECK DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//LKED   EXEC PGM=IEWBLINK,COND=(8,LT,COBOL),REGION=0M
//SYSLIB   DD  DSNAME=&LIBPRFX..SCEELKEX,DISP=SHR           (2)
//         DD  DSNAME=&LIBPRFX..SCEELKED,DISP=SHR  
//SYSPRINT DD  SYSOUT=*
//SYSLIN   DD  DSNAME=&&LOADSET,DISP=(OLD,DELETE)
//         DD  DDNAME=SYSIN
//SYSLMOD  DD  DSNAME=&PGMLIB(&GOPGM),
//             SPACE=(CYL,(3,1,1)),
//             UNIT=SYSALLDA,DISP=(MOD,PASS),DSNTYPE=LIBRARY
//SYSUT1   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
(1)
STEPLIB can be installation-dependent.
(2)
SYSLIB can be installation-dependent.