IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Getting S806 load module not found error


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
birdy K

New User


Joined: 05 Mar 2008
Posts: 72
Location: chennai

PostPosted: Fri May 23, 2008 10:53 am
Reply with quote

hi

I am replacing a cobol program as db2-cobol program. In older one no sql statements . Now I included sql stmts in new one. I compiled and run. when I run this new program by creating a seperate jcl, It is successful. But when I run thru proc, i am getting S806 load module not found error. It is giving this error in that step(new program) alone.
Back to top
View user's profile Send private message
the_gautam

Active User


Joined: 05 Jun 2005
Posts: 165
Location: Bangalore

PostPosted: Fri May 23, 2008 10:59 am
Reply with quote

can you plz post the JCL
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Fri May 23, 2008 11:21 am
Reply with quote

806 just means you have not allocated to PDS that contains your load module.

you need a joblib or steplib statement to address your load library.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Fri May 23, 2008 11:22 am
Reply with quote

could also mean that you have not included the db2 load lib.

no idea, you did not bother to mention which loadmodule triggered the 806
Back to top
View user's profile Send private message
birdy K

New User


Joined: 05 Mar 2008
Posts: 72
Location: chennai

PostPosted: Fri May 23, 2008 11:34 am
Reply with quote

Sorry i am not able to post the jcl. I am using IKJEFT1B.
Back to top
View user's profile Send private message
birdy K

New User


Joined: 05 Mar 2008
Posts: 72
Location: chennai

PostPosted: Fri May 23, 2008 11:38 am
Reply with quote

i have included the load lib. both steplib and db2 loadlib included. please note that jcl is working fine while running seperately. but when i include that same jcl in proc it is not running. How to override that step which is running simple cobol pgm as db2 program in my test proc. In my test proc i am overriding that step which is in production
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Fri May 23, 2008 12:09 pm
Reply with quote

I don't really care how hard/easy it is to override a proc.

the complete step needs to be rewritten to invoke IKJEFTnn.

we are wasting time here. 806 means only that the library containing the load module is not referenced.

update you jcl (change the step) and then get back to us.

otherwise someone else can spin their wheels debugging your jcl.
Back to top
View user's profile Send private message
birdy K

New User


Joined: 05 Mar 2008
Posts: 72
Location: chennai

PostPosted: Fri May 23, 2008 1:55 pm
Reply with quote

I am getting the messgae "the moduleDSNHLI not found" in sysout . Can anyone give me the suggestion. I updated the jcl. I am using the same step stmts in proc used in seperate jcl.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Fri May 23, 2008 2:02 pm
Reply with quote

birdy,

if you were using the same jcl in both, then it would work. it does not work, so you are not using the same jcl.

take a look at the expanded jcl; you are missing a db2 load library.
Back to top
View user's profile Send private message
agkshirsagar

Active Member


Joined: 27 Feb 2007
Posts: 691
Location: Earth

PostPosted: Fri May 23, 2008 2:03 pm
Reply with quote

Talk to your peers to know about standard library names in your shop. It seems you havent added DB2 Libs in your SYSLIB concatenation.
Back to top
View user's profile Send private message
yogeshwar_ade

Active User


Joined: 31 Aug 2006
Posts: 103
Location: INDIA

PostPosted: Fri May 23, 2008 2:04 pm
Reply with quote

Go to your STEPLIB & find DSNHLI module there. It will be not there, thats why you are getting 806.
I think you are missing DB2 Load lib there.
Back to top
View user's profile Send private message
birdy K

New User


Joined: 05 Mar 2008
Posts: 72
Location: chennai

PostPosted: Fri May 23, 2008 3:33 pm
Reply with quote

I looked in JESJCL. It is not replacing that step. It is running the older step. So I am getting this S806. How to solve it . It is not overriding the oder step.

birdy
Back to top
View user's profile Send private message
yogeshwar_ade

Active User


Joined: 31 Aug 2006
Posts: 103
Location: INDIA

PostPosted: Fri May 23, 2008 7:06 pm
Reply with quote

dbzTHEdinosauer wrote:
we are wasting time here. 806 means only that the library containing the load module is not referenced.

update you jcl (change the step) and then get back to us.



Hope you update your JCL, if still you get problem, then get back to Forum.
Back to top
View user's profile Send private message
birdy K

New User


Joined: 05 Mar 2008
Posts: 72
Location: chennai

PostPosted: Sat May 24, 2008 9:30 am
Reply with quote

HI everyone I updated the jcl. It is not replacing the older step. In my production proc there are four steps. I am replacing the fourth step which was cobol pgm as cobol db2 pgm. So when i run the proc. It is not replacing the step. Instead it is running the first four steps and included my replaced step as fifth step. As it is running the fourth step i am getting S806 ERROR. Give me a suggestion how to replace the fourth step. I am using "procname. stepname" to replace the fourth step.
Back to top
View user's profile Send private message
vv

New User


Joined: 06 Jan 2008
Posts: 10
Location: bangalore

PostPosted: Sat May 24, 2008 12:13 pm
Reply with quote

I think you gave the wrong library as '// jcllib order=(pds) is correct library for procedure or you gave the wrong proc name for the procedure.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Sat May 24, 2008 10:52 pm
Reply with quote

Hello birdy,

As has been mentioned multiple times, you have done something wrong.

You can continue to post generalaties and show no specifics and you will continue to get some guesses that may or may not help. Your exact problem is in the output and diagnostic info from your execution. If you post your execution and the diagnostic info (do not "tell us" what it says - post it) we can probably help.

Is there some reason that you have not asked others on your project, your dba(s), or someone in system support?
Back to top
View user's profile Send private message
birdy K

New User


Joined: 05 Mar 2008
Posts: 72
Location: chennai

PostPosted: Mon May 26, 2008 10:33 am
Reply with quote

Code:

[b]my old step [/b]

S501025 EXEC PGM=pgmname,COND=(0,NE),PARM='12'
STEPLIB  DD DSN=&LOADLIB2,DISP=SHR                   
         DD DSN=&LOADLIB3,DISP=SHR                   
*                                                   
FILE1   DD DSN=dsnname,
             DISP=SHR                               
RPT    DD SYSOUT=&PRT1                           
SYSOUT    DD SYSOUT=*                               
SYSPRINT  DD SYSOUT=*                               
SYSTSPRT  DD SYSOUT=*                               
SYSABOUT  DD SYSOUT=Y                               
SYSDBOUT  DD SYSOUT=Y                               
SYSUDUMP  DD SYSOUT=Y     


[b]new step[/b]

S5010.S501025 EXEC PGM=IKJEFT1B,DYNAMNBR=100         
S501025.STEPLIB  DD DSN=SYSDB2.DB2.SSPGM,DISP=SHR     
                 DD DSN=MMAS.TEST.LOADLIB,DISP=SHR   
FILE1   DD DSN=DSNNAME,   
         DISP=SHR                                     
RPT    DD SYSOUT=*                                 
SYSOUT    DD SYSOUT=*                                 
SYSPRINT  DD SYSOUT=*                                 
S501025.SYSTSPRT  DD SYSOUT=*                         
SYSABOUT  DD SYSOUT=Y                                 
SYSDBOUT  DD SYSOUT=Y                                 
SYSUDUMP  DD SYSOUT=Y                                 
SYSTSIN   DD DSN=MMAS.TEST.TSYSLIB(DSNBEGIN),DISP=SHR
          DD DSN=MMAS.TEST.TSYSLIB(PGMNAME),DISP=SHR
          DD DSN=MMAS.TEST.TSYSLIB(DSNEND),DISP=SHR   

there are some steps which is executing successfully.

In JESJCL I am getting this(part of it)

48 XXS501025 EXEC PGM=PGMNAME,COND=(0,NE),PARM='DAILY  '               
49 XXSTEPLIB  DD DSN=&LOADLIB2,DISP=SHR                                 
   IEFC653I SUBSTITUTION JCL - DSN=MMAS.TEST.LOADLIB,DISP=SHR           
50 XX         DD DSN=&LOADLIB3,DISP=SHR                                 
   XX*                                                                   
   IEFC653I SUBSTITUTION JCL - DSN=MMAS.TEST.LOADLIB,DISP=SHR           
51 XXINFILE    DD DSN=MMA&P..S50D010.S501020.CLAIMEXT.SRT,               
   XX             DISP=SHR                                               
   IEFC653I SUBSTITUTION JCL - DSN=MMAS.S50D010.S501020.CLAIMEXT.SRT,DISP
52 XXCLMRPT    DD SYSOUT=&PRT1                                           
   IEFC653I SUBSTITUTION JCL - SYSOUT=P                                 
53 XXSYSOUT    DD SYSOUT=*                                               
54 XXSYSPRINT  DD SYSOUT=*                                               
55 XXSYSTSPRT  DD SYSOUT=*                                               
56 XXSYSABOUT  DD SYSOUT=Y                                               
57 XXSYSDBOUT  DD SYSOUT=Y                                               
     
58 XXSYSUDUMP  DD SYSOUT=Y                                     
   XX*                                                         
   XX*---------------------------------------------------------
   XX*            END OF PROCEDURE  S5010                     
   XX*---------------------------------------------------------
59 //S501025 EXEC PGM=IKJEFT1B,DYNAMNBR=100                   
60 //STEPLIB  DD DSN=MMAS.TEST.LOADLIB,DISP=SHR               
61 //                 DD DSN=SYSDB2.DB2.SSPGM,DISP=SHR         
62 //INFILE   DD DSN=MMAS.S50D010.S501020.CLAIMEXT.SRT,       
   //         DISP=SHR                                         
63 //CLMRPT    DD SYSOUT=*                                     
64 //SYSOUT    DD SYSOUT=*                                     
65 //SYSPRINT  DD SYSOUT=*                                     
66 //SYSTSPRT  DD SYSOUT=*                                     
67 //SYSABOUT  DD SYSOUT=Y                                     
68 //SYSDBOUT  DD SYSOUT=Y                                     
69 //SYSUDUMP  DD SYSOUT=Y                                     
70 //SYSTSIN   DD DSN=MMAS.TEST.TSYSLIB(DSNBEGIN),DISP=SHR         


I have given my code if there is anything wrong. Please tell me.                                               
                           
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Mon May 26, 2008 12:25 pm
Reply with quote

you cannot override the PGM parm.

Suggest:

1. modify the cond parm in the existing step (the one you do not want to run) so that it never executes.

2. Add your new step.
Back to top
View user's profile Send private message
birdy K

New User


Joined: 05 Mar 2008
Posts: 72
Location: chennai

PostPosted: Mon May 26, 2008 1:46 pm
Reply with quote

Thank you Dick. I will try that. So "Cond" is the only way to not to execute that step. Is there anyother way to not to execute that step?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Mon May 26, 2008 5:15 pm
Reply with quote

Hello,

Quote:
I have given my code if there is anything wrong. Please tell me.
You have only given part of the jcl and you have not posted the error information at all.

While it is important that the old way works, we need to focus on what is failing.

I'm confused as to how COND= comes into consideration. Clarification might help.

And (as DBZ mentioned) you cannot override the pgm=.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Mon May 26, 2008 5:29 pm
Reply with quote

Dick, the cond code confusion is due to me.

he keeps getting an 806 because the job will always have a step that invokes the old program - which is no longer available.

i suggested the condition code so the original step would not be executed, since he won't change his proc's or jcl.

since he can not change the pgm of a step he needs to skip this step and then allow the new step (with the ikjeft ) to be added to the proc with his overrides.

as far as the op's last question:
Quote:

So "Cond" is the only way to not to execute that step. Is there anyother way to not to execute that step?


that still is an open question. I don't have (or want to look for) any other suggestions.

why the op does not create a new proc is beyond me. he will need to when he migrates to production. but that is just me being picky.
Back to top
View user's profile Send private message
birdy K

New User


Joined: 05 Mar 2008
Posts: 72
Location: chennai

PostPosted: Mon May 26, 2008 5:37 pm
Reply with quote

hai d.sch

I have given the entire jcl for that step. My problem also I have specified. Please look at the jesjcl. As it is executing the step s501025 which is not a db2 cobol pgm. I am getting s806 load module not found abend and the message "The module DSNHLI was not found". I have compiled as db2 cobol pgm. But that step is calling simple cobol pgm. Then it added the new step as cobol-db2 pgm.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> COBOL Programming

 


Similar Topics
Topic Forum Replies
No new posts Error to read log with rexx CLIST & REXX 11
No new posts How I Found a Bug in a FORTRAN Compiler All Other Mainframe Topics 4
No new posts Load new table with Old unload - DB2 DB2 6
No new posts Error when install DB2 DB2 2
No new posts CLIST - Virtual storage allocation error CLIST & REXX 5
Search our Forums:

Back to Top