Posted: Fri Oct 21, 2005 5:11 am Post subject: Problem using HEWLH096
i am using the HEWLH096 utility to link-edit. I have a Cobol program which calls a utility (assembler code). i have the load module of the assembler utility. I have sucessfuly comiled the cobol code but in the same JCL, i have a problem in the link-edit step.
FOr link-editing i am using the utility HEWLH096. Can neone tell me in which card should i specify the PDS where my load module ( of the assembler code) is and how to wite that card in the JCL. Actually this JCL has been generated by a tool. For the LKED step i already have a SYSLIN card //SYSLIN DD DSN=&&LOADSET,DISP=(OLD,PASS). Now how shld i specify the PDS where my load module.
Actually the compile and Link edit jcl runs sucsessfuly with a MAXCC=4. But when the run jcl is submitted it gives an s806 abend.
Joined: 15 Dec 2002 Posts: 637 Topics: 43 Location: Bengaluru, INDIA
Posted: Fri Oct 21, 2005 5:15 am Post subject:
There are two ways of looking at this problem.
One, SYSLMOD is the DD name where the load module is created. You need to find a means to pass the PDS name for the load module to SYSLMOD DD name.
Two, since you are getting a S806 abend, find out for exactly which program you are getting that ABEND. Maybe, you have to specify some other PDS (CEE.SCEERUN for example).
PLEASE curtail the note for urgency. _________________ ALL opinions are welcome.
Debugging tip:
When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
-- Sherlock Holmes.
THANKS Cogito-Ergo-Sum FOR THE PROMPT REPLY.
1. tHE S806 ABEND IS FOR THE ASSEMBLER UTILITY THAT I AM TRYING TO CALL. THE EXACT ERROR MESSAGE IS
**
FIND FOR MODULE IFCONV FAILED BECAUSE DIRECTORY ENTRY IS NOT VALID FOR A LOAD MODULE.
**
2. tHIS IS WAT the lked step of MY jcl LOOKS LIKE :
Joined: 15 Dec 2002 Posts: 637 Topics: 43 Location: Bengaluru, INDIA
Posted: Fri Oct 21, 2005 5:35 am Post subject:
For S806:
Is IFCONV the Assembler utility?
Is it available in any of the PDS concatenated to STEPLIB ?
Is the COBOL program calling the Assembler module statically/dynamically? If it is dynamic, then you need not bother with the link step for COBOL program. Just compile, lin-edit the Assembler program and place the load module in some other PDS (or, the same). Ensure that the same PDS is available in the STEPLIB.
If the call is static, you will have to modify the link step to have the SYSLIN something like this:
Code:
//SYSLIN DD DSN=&&LOADSET,
// DISP=(OLD,PASS)
// DD *
INCLUDE OBJ(assembler object code)
NAME CobolProgramName(R)
/*
i got a jcl error saying - "27 IEFC601I INVALID JCL STATEMENT"
The 27 line in the listing is :
***
26 ++SYSLIN DD DSN=&&LOADSET,DISP=(OLD,PASS)
27 ++ DD *
***
Is there a mistake in the syntax or am i writing on wrong column numbers i mean when we use the dd * is there a restriction with the column nos.?
The modified jcl - as per your solution- is as follows :
Joined: 15 Dec 2002 Posts: 637 Topics: 43 Location: Bengaluru, INDIA
Posted: Fri Oct 21, 2005 5:52 am Post subject:
jinesh18,
You should ALWAYS paste your code using code blocks. It will save a lot of your and my time.
Bring the DD * below the DD for LOADSET. I hope, this step is not in a PROC? If yes, then you would have to pass a control card. _________________ ALL opinions are welcome.
Debugging tip:
When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
-- Sherlock Holmes.
You should ALWAYS paste your code using code blocks. It will save a lot of your and my time.
Bring the DD * below the DD for LOADSET. I hope, this step is not in a PROC? If yes, then you would have to pass a control card.
Ok sorry for not putting the code in the right place - i am new to this.
Actuallt the DD * is rite below the dd dsn in the preceding statement. And yes this step is in a proc - really soory abt not letting u know abt this b4-
Can u tell me how exactly should i pass a control card.
Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
Posted: Fri Oct 21, 2005 7:08 am Post subject:
jinesh18,
How are you calling the assembler sub-routine from cobol. Is it a dynamic call or a static call. if it is dynamic call, you can simply concatenate that loadlib to your steplib excueting the cobol pgm.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum