Portal | IBM Manuals | Downloads | Products | Refer | Info | Programs | JCLs | Forum Rules*| Site Map | Mainframe CD 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index
 
Register
 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index FAQ Search Memberlist Usergroups Profile Log in to check your private messages Log in
 
Does REXX contain a means to set an alternate load Library?

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CLIST & REXX
Author Message
MNMan

New User


Joined: 03 Mar 2004
Posts: 4

PostPosted: Wed Mar 03, 2004 12:44 am    Post subject: Does REXX contain a means to set an alternate load Library?
Reply with quote

Can someone give me direction to resolve an issue involving REXX code initiated from ISPF. The problem I am having is during the execution of the REXX program I am calling an Assembler module(that resides in the systems LINKLIST) which in turn calls a module that resides in a library that is not found in the standard search libraries. The call to the assembler program goes fine until it has to find(LOAD) the module residing in the vendor/private load library. If I call the REXX program using batch JCL and specify the vendor library as the STEPLIB then everything is OK - the assembler program can find the vendor module via the STEPLIB DD statement. However, this REXX code is initated via ISPF option 6 so I assume the 'steplib' needs to be set from within the REXX code. Does anyone have any idea as to how this can be resolved?

Thank you.
Gordon
Back to top
View user's profile Send private message
References
bluebird

Specialist


Joined: 03 Feb 2004
Posts: 144

PostPosted: Wed Mar 03, 2004 5:41 pm    Post subject:
Reply with quote

techncally you can allocate a steplib thru tso's allocate command,
but your site may restrict the use of STEPLIB (securitywise).

you can try allocating ispf 's load lib :
ISPLLIB by running this cmd
address ispexec (we are talking to ispf)
"libdef ispLlib DAtaset id('your dsn') "

hope it helps
Back to top
View user's profile Send private message
MNMan

New User


Joined: 03 Mar 2004
Posts: 4

PostPosted: Wed Mar 03, 2004 8:46 pm    Post subject: LIBDEF Does not work
Reply with quote

Bluebird,
Thank you for the response! You are right, STEPLIB is a protected keyword. I also tried LIBDEF in the format of ....

ADDRESS ISPEXEC "LIBDEF ISPLLIB DATASET ID('"LOADLIB"')"
ADDRESS ISPEXEC "SELECT PGM(PULVR)"

... where "LOADLIB" was a REXX variable defined as the DS Name to the Vendor/private library. However, this did not work either - maybe I have a parameter error of sorts or missing something else.


Any other Ideas?

Thank you.
MNMAn
Back to top
View user's profile Send private message
bluebird

Specialist


Joined: 03 Feb 2004
Posts: 144

PostPosted: Thu Mar 04, 2004 4:48 pm    Post subject:
Reply with quote

hello,

make changes as below

Code:

address ispexec "control errors return"
ADDRESS ISPEXEC "LIBDEF ISPLLIB DATASET ID('"LOADLIB"')"
say 'libdef ispllib shows :'
say rc zerrsm zerrlm zerrmsg
ADDRESS ISPEXEC "SELECT PGM(PULVR)"
say 'pgm call shows :'
say rc zerrsm zerrlm zerrmsg


you ll get msg and return code a helper in your investigation
you can postback results if you don't have ideas I'll see what I can do

or you could try a call thru TSO (if you don't need ispf)
Code:

 "CALL '"loadlib"(modulename)'"   
Back to top
View user's profile Send private message
MNMan

New User


Joined: 03 Mar 2004
Posts: 4

PostPosted: Fri Mar 05, 2004 5:11 am    Post subject: LIBDEF Solution Will Not Work
Reply with quote

Bluebird,
I ran the suggested REXX diagnostic code and posted the results as follows ...

349 *-* address ispexec "control errors return"
>>> "control errors return"
350 *-* ADDRESS ISPEXEC "LIBDEF ISPLLIB DATASET ID('"LOADLIB"')"
>>> "LIBDEF ISPLLIB DATASET ID('IOA.BMC.TEST.LOAD')"
351 *-* say 'libdef ispllib shows :'
>>> "libdef ispllib shows :"
libdef ispllib shows :
352 *-* say rc zerrsm zerrlm zerrmsg
>>> "0 ZERRSM ZERRLM ZERRMSG"
0 ZERRSM ZERRLM ZERRMSG
353 *-* ADDRESS ISPEXEC "SELECT PGM(PULVR)"
>>> "SELECT PGM(PULVR)"
PULVR - CTMAPI LOADING FAILED

I believe LIBDEF will not work due to documentation found in 'z/OS V1R5.0 ISPF Services Guide' that states "The LIBDEF library definitions are not searched by MVS member searches caused by the execution of ATTACH, LINK, LOAD, or XCTL macros within the selected program (SELECT PGM), or on the selection of authorized programs or commands. The LIBDEF library definitions are searched for selected commands (SELECT CMD). "

Any other ideas?

Thank you.
MNMan
Back to top
View user's profile Send private message
bluebird

Specialist


Joined: 03 Feb 2004
Posts: 144

PostPosted: Fri Mar 05, 2004 1:32 pm    Post subject:
Reply with quote

did you include the library where the ctmapi load module is in your libdef ?
and did u try direct thru TSO-CALL command ?
Back to top
View user's profile Send private message
MNMan

New User


Joined: 03 Mar 2004
Posts: 4

PostPosted: Sat Mar 06, 2004 12:10 am    Post subject:
Reply with quote

Bluebird,
I have tried using TSO using the TSOLIB command. However IBM documentation in 'z/OS V1R4.0 TSO/E Command Reference' states "If the TSOLIB command is issued from any other environment, like ISPF or REXX, only the TSOLIB command with its DISPLAY operand is valid. The TSOLIB command must be issued from a "TSO/E READY" environment." I tried the TSOLIB command anyway in my REXX code and recieved the following error:
IDY00046I TSOLIB terminated. A valid TSOLIB environment does not exist.
IDY00046I The TSOLIB command with the ACTIVATE, DEACTIVATE or RESET operands must be invoked from the TSO/E READY environment.

Any other ideas?

Thank you.
MNMan
Back to top
View user's profile Send private message
bluebird

Specialist


Joined: 03 Feb 2004
Posts: 144

PostPosted: Mon Mar 08, 2004 2:40 pm    Post subject:
Reply with quote

DID YOU TRY THE tso call ?
pr try this
address link /* connects to linklib */
"pulvr"

and see what happens
Back to top
View user's profile Send private message
bluebird

Specialist


Joined: 03 Feb 2004
Posts: 144

PostPosted: Thu Apr 08, 2004 4:13 pm    Post subject:
Reply with quote

try the libdef with all your load module libraries (asm + vendor) called in your pgm.
and call your pgm with ISPF 'select pgm(pgm)' cmd

hope it helps
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CLIST & REXX All times are GMT + 6 Hours
Page 1 of 1