Page 1 of 1

ABEND 806-04

PostPosted: Mon 29 Jun 2009, 17:54
by CPANTX
When I run a compiled cobol program through run JCL, it gives abend 806-04, load module not found. When I went deeper, I got my problem which is described at http://www-01.ibm.com/support/docview.w ... sg1OA17662. How can I get around this problem?

Also, I have compiled the program by ISPF option 5.2 as compile JCL needs steplib for compiler. Can you provide compile JCL for your system?

Thanks.

Re: ABEND 806-04

PostPosted: Mon 29 Jun 2009, 20:48
by prino
Given that everyone has universal read access, don't you think it would be useful to tell us where to find the source, compile JCL and output for this program?

Re: ABEND 806-04

PostPosted: Tue 30 Jun 2009, 01:42
by sysprog
Please post your jobname and jobid.

Re: ABEND 806-04

PostPosted: Tue 30 Jun 2009, 14:59
by CPANTX
My jobname and jobid are as follows:
CPANTXJ(JOB47096)
CPANTXJ(JOB47097)

I have program FSTPRG in CPANTX.COBOL.PRG.
Its load is in CPANTX.COBOL.OBJ by option 5.2 since I cannot compile it by CPANTX.JCL.JCL(COMPILE).

After compiling by ISPF(5.2), now I run it by CPANTX.JCL.JCL(RUN) and I get above error msg(806-04).

Re: ABEND 806-04

PostPosted: Tue 30 Jun 2009, 15:51
by prino
CPANTX wrote:Its load is in CPANTX.COBOL.OBJ by option 5.2 since I cannot compile it by CPANTX.JCL.JCL(COMPILE).

SIASD!

You created an OBJECT module, you need to link this to get a load module! Compile procedures for Cobol are

Code: Select all
IGYWC
IGYWCG
IGYWCL
IGYWCLG
IGYWCPG
IGYWCPL
IGYWCPLG
IGYWPL
to be found in SYSFAN.PROCLIB

Next to that, a loadlib has a RECFM=U, an LRECL=0 and a BLKSIZE=27998 and should be a PDS or PDS-E.

Might I suggest you try reading some manuals first, z/OS is not like Windoze...

Re: ABEND 806-04

PostPosted: Sat 04 Jul 2009, 03:01
by sysprog
Please following these two steps for compiling, linking, and running the COBOL program:

Step 1 : Run the member COMPILE, which compiles and Links for sample COBOL program HELLO:
Code: Select all
/***************************************************************
//** RUN COBOL COMPILE AND LINKEDIT STEPS,                      *
//** AFTER THIS JCL, YOU MAY RUN THE JCL MEMBER 'RUN' TO        *
//** RUN THIS PROGRAM HELLO.                                    *
//***************************************************************
//COMPLINK EXEC PROC=IGYWCL,
//         PGMLIB=SYSFAN.SAMPLE.COBOL.LOADLIB,
//         GOPGM=HELLO
//COBOL.SYSIN  DD DISP=SHR,DSN=SYSFAN.SAMPLE.COBOL.SOURCE(HELLO)


Step 2. Run the sample program HELLO.
The run the JCL member RUN to run the program HELLO, which is generated by previous steps.
Code: Select all
//***************************************************************
//* RUN THE SAMPLE COBOL PROGRAM.
//***************************************************************
//RUN      EXEC PGM=HELLO
//STEPLIB  DD  DISP=SHR,DSN=SYSFAN.SAMPLE.COBOL.LOADLIB
//SYSOUT   DD SYSOUT=*


The SYSOUT DD should show:
Code: Select all
HELLO, WORLD!


The sample jobs will be provided in SYSFAN.SAMPLE.**

Re: ABEND 806-04

PostPosted: Tue 07 Jul 2009, 17:01
by CPANTX
Problem solved. Now, I am able to compile, linkedit, and run the program.

Thanks prino.
Thanks sysprog.

Re: ABEND 806-04

PostPosted: Tue 07 Jul 2009, 17:05
by CPANTX
I would still like to know why program compiled by option 5.2 was giving 806-04. Is it because what is described in here:
http://www-01.ibm.com/support/docview.w ... sg1OA17662

Re: ABEND 806-04

PostPosted: Tue 07 Jul 2009, 19:15
by prino
No, it is because it was not linked! If you use option 5.2, you have to follow it with option 5.7!