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

Why is S806 ABEND after moving load to different PDS?


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
sureshmurali
Warnings : 1

New User


Joined: 25 Nov 2010
Posts: 70
Location: Sivakasi, India

PostPosted: Tue Dec 21, 2010 9:50 pm
Reply with quote

Hi

I have run the following compiler jcl :

//XXXXXXXA JOB (ACCTINFO),'COMPILE',MSGCLASS=O,CLASS=A,
// NOTIFY=&SYSUID
//STEP1 EXEC IGYWCL,
//PARM.COBOL='LIB,APOST,XREF,MAP,OFFSET'
//COBOL.SYSIN DD DISP=SHR,DSN=XXXXXXX.COBOL.PROGRAMS (DISPLAY)
//LKED.SYSLMOD DD DISP=SHR,DSN=YYYYYY.K194689.PGMLIB
(COBALOAD)

//SYSPRINT DD SYSOUT=

It produces the load to the PDS YYYYYY.K194689.PGMLIB

Then i ran the program using the following run jcl :

//XXXXXXXK JOB (ACCTINFO),'RUN',MSGCLASS=O,CLASS=A,
// NOTIFY=&SYSUID,REGION=2K
//STEP1 EXEC PGM=COBOLOAD
//STEPLIB DD DISP=SHR,DSN=YYYYYY.K194689.PGMLIB
//SYSIN DD *
SURESHRAMKUMAR1
/*
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*

It correctly produces the output. No issue.

But i just copied the load from the PDS YYYYYY.K194689.PGMLIB
and put it in another PDS YYYYYY.XXXXXXX.JCLLIB and i changed the load location to this PDS by adding a JOBLIB parameter and removed the STEPLIB and the resultant jcl is looks like:

//XXXXXXXK JOB (ACCTINFO),'RUN',MSGCLASS=O,CLASS=A,
// NOTIFY=&SYSUID,REGION=2K
//JOBLIB DD DSN=YYYYYY.XXXXXXX.JCLLIB,DISP=SHR
//STEP1 EXEC PGM=COBOLOAD
//SYSIN DD *
SURESHRAMKUMAR1
/*
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*

When ran this, i got the following error :
S806 abend and in the job log i found the message from JESMSGLG "FIND FOR MODULE FCOMMUOU FAILED BECAUSE DIRECTORY ENTRY IS NOT VALID FOR A LOAD" . Does it mean that when creating load, it also puts some entry about its location also. Cant we run a load created in one mainframe machine in another machine?

Please Clarify.

Thanks in advance!
Back to top
View user's profile Send private message
don.leahy

Active Member


Joined: 06 Jul 2010
Posts: 765
Location: Whitby, ON, Canada

PostPosted: Tue Dec 21, 2010 9:57 pm
Reply with quote

What are the DCB attributes for YYYYYY.XXXXXXX.JCLLIB?
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


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

PostPosted: Tue Dec 21, 2010 10:48 pm
Reply with quote

Quote:
But i just copied the load from the PDS YYYYYY.K194689.PGMLIB
and put it in another PDS YYYYYY.XXXXXXX.JCLLIB and i changed


what utility did you use to copy the load module?
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: Tue Dec 21, 2010 11:21 pm
Reply with quote

Hello,

The atributes for load libraries/members are not compatible with a "JCL" library. . .

Depending on "things", the new destination library may have been corrupted. . .
Back to top
View user's profile Send private message
don.leahy

Active Member


Joined: 06 Jul 2010
Posts: 765
Location: Whitby, ON, Canada

PostPosted: Tue Dec 21, 2010 11:35 pm
Reply with quote

dick scherrer wrote:
Hello,

The atributes for load library members are not compatible with a "JCL" library. . .

Depending on "things" the new destination library may have been corrupted. . .

I guess my question should have been: "What were the DCB attributes for YYYYYY.XXXXXXX.JCLLIB?" icon_lol.gif
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: Wed Dec 22, 2010 12:15 am
Reply with quote

Hi Don,

Yup - sometmes there is a most ugly surprise. . . icon_cool.gif

d
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Wed Dec 22, 2010 6:29 am
Reply with quote

One of the more interesting dumps I got to debug came about some years ago when an application programmer had several concatenated libraries for the //STEPLIB -- and accidentally one of them was a PROCLIB. A PROCLIB which had a member that matched the program that was being called as a subprogram. The system tried to execute it but just could not find the ESD entries for some reason. icon_biggrin.gif

The PROCLIB survived, IIRC, but the member had to be restored from backup -- although it may have been the whole PDS had to be restored.
Back to top
View user's profile Send private message
sureshmurali
Warnings : 1

New User


Joined: 25 Nov 2010
Posts: 70
Location: Sivakasi, India

PostPosted: Thu Dec 30, 2010 8:49 pm
Reply with quote

Hi i created a PDS of same DCB properties and then put the load in it.

Record format . . . : FBA
Record length . . . : 80
Block size . . . . : 800
1st extent tracks . : 1
Secondary tracks . : 3
Data set name type : PDS

Then tried run. It ran successfully.

Thanks
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: Thu Dec 30, 2010 9:33 pm
Reply with quote

Hello,

I believe you need to look more closely at what you have and/or have done.

Those are not dcb attributes for a load library. Load libraries (among other things) are recfm U. The following is more like what you should have for a loadlib:
Code:
Record format . . . : U     
Record length . . . : 0     
Block size  . . . . : 32760 
Back to top
View user's profile Send private message
sureshmurali
Warnings : 1

New User


Joined: 25 Nov 2010
Posts: 70
Location: Sivakasi, India

PostPosted: Thu Dec 30, 2010 11:06 pm
Reply with quote

Yes Dick, You are right.
Sorry for being pasted wrong details.

Organization . . . : PO
Record format . . . : U
Record length . . . : 0
Block size . . . . : 32760
1st extent blocks . : 14
Secondary blocks . : 24
Data set name type : PDS

These are that DCB and its related details of that PDS


Thanks,
Back to top
View user's profile Send private message
sureshmurali
Warnings : 1

New User


Joined: 25 Nov 2010
Posts: 70
Location: Sivakasi, India

PostPosted: Thu Dec 30, 2010 11:26 pm
Reply with quote

Hi

I know that the load is nothing but a system executable format.
In the EXEC of job step we mention the load/utility for PGM or procedure name for PROC.
Can we call IEFBR14 , IEBGENER and all such utilities as LOADs inspite of we calling them as system utilities?
Also please let me know, in the IBM world i know the application language COBOL only as of now.
My question is whether those utilities are the loads created from COBOL programs resulted from COMPILE and LINK-EDITED?

Thanks,
Suresh K
Back to top
View user's profile Send private message
sureshmurali
Warnings : 1

New User


Joined: 25 Nov 2010
Posts: 70
Location: Sivakasi, India

PostPosted: Thu Dec 30, 2010 11:28 pm
Reply with quote

Hi i am terribly Sorry.... in a hurry i posted it under different question which i posted earlier.
Could you please relocate this under a new question.

"Is IEFBR14 is a load that is created from COBOL Program ?"


Thanks,
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Thu Dec 30, 2010 11:32 pm
Reply with quote

Quote:
S806 abend and in the job log i found the message from JESMSGLG "FIND FOR MODULE FCOMMUOU FAILED BECAUSE DIRECTORY ENTRY IS NOT VALID FOR A LOAD" . Does it mean that when creating load, it also puts some entry about its location also. Cant we run a load created in one mainframe machine in another machine?
1. A load module created on one z/OS machine can be run on another z/OS machine -- as long as all the subprograms are located. This is not an issue and you should completely forget you even asked the question.

2. PDS directory entries are different for load modules and source modules -- the load module PDS entry indicates size, TTR, authorization, and addressing modes whereas a source module does not.

3. The error message is EXTREMELY clear -- module FCOMMUOU was found in the PDS directory but is not a load module. You need to look at this member of your JCLLIB and find out why it is not a load module. You may need to recompile it or otherwise take action to ensure the load module FCOMMUOU is available when you execute COBOLOAD.
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: Fri Dec 31, 2010 12:19 am
Reply with quote

Hello,

Quote:
"Is IEFBR14 is a load that is created from COBOL Program ?"
No, the source of IEFBR14 is (or at least was last time i looked) assembler.

While the code was written in assembler (rather than COBOL), it was still linkedited into a "load module" for distribution. IEFBR14, IEBGENER and hundreds of others are distributed by IBM and are typically stored in their own load libraries - not the libraries you would link your COBOL executables into.

You need to make very certain that only jcl is placed in a jcl pds and that only load modules are placed into a load library. . . icon_exclaim.gif
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 -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts Load new table with Old unload - DB2 DB2 6
No new posts How to load to DB2 with column level ... DB2 6
No new posts ISAM and abend S03B JCL & VSAM 10
No new posts REASON 00D70014 in load utility DB2 6
No new posts Moving Or setting POINTER to another ... COBOL Programming 2
Search our Forums:

Back to Top