Sergio Lima wrote:
Hello List,

We need compile some batch Cobol programs here, and have a problem.

First, if compile without CBL LIB, received this error :

IGYDS0010-S A "COPY" statement was found but the "LIB" compiler option was not i
            effect.  Scanning was resumed at the item following the next period.

Then, after include my LIB where are the COPYBOOKS, and insert CBL LIB In the 
COBOL SOURCE received this error :

10.58.48 JOB02869 ---- THURSDAY, 08 JUL 2010 ---- 10.58.48 JOB02869 IRR010I USERID IBMUSER IS ASSIGNED TO THIS JOB. 10.58.49 JOB02869 ICH70001I IBMUSER LAST ACCESS AT 10:58:02 ON THURSDAY, JULY 10.58.49 JOB02869 $HASP373 COMPBAT STARTED - INIT 1 - CLASS A - SYS SYS1 10.58.49 JOB02869 IEF403I COMPBAT - STARTED - TIME=10.58.49 10.58.51 JOB02869 IEC130I SYSLIB DD STATEMENT MISSING 10.58.51 JOB02869 IEC130I SYSLIB DD STATEMENT MISSING 10.58.51 JOB02869 IEC130I SYSLIB DD STATEMENT MISSING 10.58.51 JOB02869 IEC130I SYSLIB DD STATEMENT MISSING 10.58.51 JOB02869 IEC130I SYSLIB DD STATEMENT MISSING 10.58.52 JOB02869 IEF404I COMPBAT - ENDED - TIME=10.58.52 10.58.52 JOB02869 $HASP395 COMPBAT ENDED
My PROC is this :

//COBOL EXEC PGM=IGYCRCTL,REGION=2048K //STEPLIB DD DSNAME=&LNGPRFX..SIGYCOMP, // DISP=SHR //SYSPRINT DD SYSOUT=* //SYSLIN DD DSNAME=&&LOADSET,UNIT=SYSALLDA, // DISP=(MOD,PASS),SPACE=(TRK,(3,3)), // DCB=(BLKSIZE=&SYSLBLK) //COBOL.SYSIN DD DSN=USER.COBOL.BATCH(SAMPLE),DISP=SHR //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)) //LKED EXEC PGM=HEWL,COND=(8,LT,COBOL),REGION=1024K //SYSLIB DD DSNAME=&LIBPRFX..SCEELKED, // DISP=SHR //COBOL.SYSLIB DD DSN=USER.CICS.COPYLIB,DISP=SHR //SYSPRINT DD SYSOUT=*

How can that be your proc? You have two overrides in it!

What you are showing is, perhaps, the invocation of your
proc with overrides, although that doesn't match what
you have either.


Your proc should look something like this:

//COBCL   PROC
//COBOL  EXEC PGM=IGYCRCTL,REGION=2048K
//STEPLIB  DD  DSNAME=&LNGPRFX..SIGYCOMP,
//             DISP=SHR
//SYSPRINT DD  SYSOUT=*
//SYSLIN   DD  DSNAME=&&LOADSET,UNIT=SYSALLDA,
//             DISP=(MOD,PASS),SPACE=(TRK,(3,3)),
//             DCB=(BLKSIZE=&SYSLBLK)
//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))
//LKED   EXEC PGM=HEWL,COND=(8,LT,COBOL),REGION=1024K
//SYSLIB   DD  DSNAME=&LIBPRFX..SCEELKED,
//             DISP=SHR
//SYSPRINT DD  SYSOUT=*


Then you invoke your proc with:

//----- JOB ----
//COMP  EXEC  COBCL
//COBOL.SYSIN DD DSN=USER.COBOL.BATCH(SAMPLE),DISP=SHR
//COBOL.SYSLIB DD DSN=USER.CICS.COPYLIB,DISP=SHR


The point is: your SYSLIB DD for the copy library has to be
in the compile step (the step named COBOL) not the program
bind step (the step named LKED).

Your bind step needs the SYSLIB DD to find subroutines (in
this case, LE support routines).

Alternatively, you could code your proc this way:

//COBCL   PROC
//COBOL   EXEC PGM=IGYCRCTL,REGION=2048K
//STEPLIB  DD  DSNAME=&LNGPRFX..SIGYCOMP,
//             DISP=SHR
//SYSPRINT DD  SYSOUT=*
//SYSLIN   DD  DSNAME=&&LOADSET,UNIT=SYSALLDA,
//             DISP=(MOD,PASS),SPACE=(TRK,(3,3)),
//             DCB=(BLKSIZE=&SYSLBLK)
//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))
//SYSLIB   DD DSN=USER.CICS.COPYLIB,DISP=SHR
//LKED    EXEC PGM=HEWL,COND=(8,LT,COBOL),REGION=1024K
//SYSLIB   DD  DSNAME=&LIBPRFX..SCEELKED,
//             DISP=SHR
//SYSPRINT DD  SYSOUT=*


then invoke your proc this way:

//----- JOB ----
//COMP  EXEC  COBCL
//COBOL.SYSIN DD DSN=USER.COBOL.BATCH(SAMPLE),DISP=SHR


--

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-393-8716
http://www.trainersfriend.com

* To get a good Return on your Investment, first make an investment!
  + Training your people is an excellent investment

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to