View previous topic :: View next topic
|
Author |
Message |
autobox
New User
Joined: 19 Aug 2005 Posts: 51
|
|
|
|
Hi all,
I want to compile 2 PLI source programs A (main program) and B (sub-program), and A calls B using 'DCL B EXT ENTRY ...'. Firstly, I compiled B successfully, but got this error when compiled A:
IEW2456E 9207 SYMBOL B UNRESOLVED. MEMBER COULD NOT BE INCLUDED FROM THE DESIGNATED CALL LIBRARY.
Is there any special compile/link option for compile sub/main program?
How to solve this error?
Thanks. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8697 Location: Dubuque, Iowa, USA
|
|
|
|
Your linkage editor SYSLIB needs to point to the load library you compiled B into. You need linkage editor input of INCLUDE SYSLIB(B) (or whatever you called the load module). |
|
Back to top |
|
|
autobox
New User
Joined: 19 Aug 2005 Posts: 51
|
|
|
|
Hi Robert,
I tried your suggestion, but I still got error messages as below:
IEW2459W 9206 INCLUDED MEMBER B FAILED TO RESOLVE REFERENCE.
IEW2467E 9224 SYMBOL B REMAINS UNRESOLVED.
I wonder if there's any special compile/link option needed for sub-program or main-program.
Thanks. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8697 Location: Dubuque, Iowa, USA
|
|
|
|
No, there are no special requirements to compile subprograms and main programs -- people have been doing it for 50 years now. The error message is telling you, quite plainly, that there is no B to be included in your load module. Recompile your subprogram and add to the linkage editor / binder step:
Code: |
//SYSIN DD *
NAME B
/* |
since you obviously have not named your subprogram B in the language as your post claims.
If you continue to have problems, please ensure you have MAP as one of the options on your linkage editor / binder step and post the output of your subprogram compilation linkage editor -- using the CODE tag -- to see what the linkage editor / binder thinks your program is named. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Do you know in which load library the load module for B resides (you should if you compiled B)?
Is this library named in the libraries used for the compile/linkedit? |
|
Back to top |
|
|
autobox
New User
Joined: 19 Aug 2005 Posts: 51
|
|
|
|
Hi Robert,
I tried your suggestion with 'NAME B' in SYSIN DD, but the problem stills. And I am sure that all the required libraries concatnated in LKED.SYSLIB.
Can you please advise what's 'CODE tag', and how to use it to check the actual load module entry name?
Thanks. |
|
Back to top |
|
|
Garry Carroll
Senior Member
Joined: 08 May 2006 Posts: 1193 Location: Dublin, Ireland
|
|
|
|
Can you post the JCL for your compile/link jobs. The 'code tags' can be found above the window where you key your message. There are 'buttons' for bold, italic, underscore, Quote, Code, List, List=, Img and URL. Pease click on 'Code', paste your JCL and click 'Code' again.
Use the preview at bottom of the window to see what will be seen on the forum.
Garry. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Quote: |
Is this library named in the libraries used for the compile/linkedit? |
You didn't answer this. . .
Quote: |
I tried your suggestion with 'NAME B' in SYSIN DD, but the problem stills. |
If you have the wrong lib definition, the problem will surely persist. . .
As has been mentoned, you need to show your compile/link jcl fr both. . . |
|
Back to top |
|
|
|