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