Page 2 of 3

Re: Load module not found.

PostPosted: Mon Nov 07, 2011 5:27 pm
by Viswanathchandru
Thanks Mr. Spock for your time and replies.

Yes I tried with Trace ?I and i'm getting RC=8 for LMINIT statement and RC=10 for LMCOPY statements. Can anyone advice me how to proceed.

Thanks,
Viswa

Re: Load module not found.

PostPosted: Mon Nov 07, 2011 5:33 pm
by enrico-sorichetti
Your way of doing things is pretty messed up

no wonder Your ISPF service requests fail ...
the default environment for a rexx script is TSO not ISPEXEC

start doing a bit of reading about ISPF here
http://publibz.boulder.ibm.com/cgi-bin/ ... s/ISPZPM70

and about TSO and REXX here
http://publibz.boulder.ibm.com/cgi-bin/ ... s/IKJ4BK90

Re: Load module not found.

PostPosted: Mon Nov 07, 2011 5:50 pm
by Viswanathchandru
Hi enrico,
Thanks a lot for your time and suggestions. Yes default for REXX is TSO and not ISPEXEC. If i code the statement ADDRESS ISPEXEC it should do the expectations if i'm not wrong. But even after giving ADDRESS ISPEXEC i'm not getting what is exepected. Neither a RC= -3 which is syntax error as known is thrown nor it is accepted. Apologies a TON if i'm wrong. Please suggest.

Thanks,
Viswa

Re: Load module not found.

PostPosted: Mon Nov 07, 2011 6:08 pm
by enrico-sorichetti
the init,open,close,free work for me
 ****** ***************************** Top of Data ******************************
 000001 /*REXX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
 000002 /*                                                                   */
 000003 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
 000004 Trace "O"                                                               
 000005 _isp= 1;  _isr = 0 ;                                                   
 000006 Parse Source _sys _how _cmd .                                           
 000007                                                                         
 000008 If ( _isp = 1 ) & ,                                                     
 000009    ( Sysvar(SYSISPF) ¬= "ACTIVE" ) Then Do                             
 000010    Say left(_cmd,8)"- Ispf is not active. Command not executed"         
 000011    exit 4                                                               
 000012 End                                                                     
 000013                                                                         
 000014 call $ispex "CONTROL ERRORS RETURN"                                     
 000015                                                                         
 000016 if  ( _isr = 1 ) & ,                                                   
 000017     ( $isred("MACRO (ARGS) NOPROCESS ") \= 0 ) then do                 
 000018     zedsmsg = "Invocation ERROR"                                       
 000019     zedlmsg = left(_cmd,8)"- Must be invoked as a MACRO"               
 000020     signal setmsg                                                       
 000021 end                                                                     
 000022                                                                         
 000023 ds1 = "ENRICO.TEST.PDS1"                                               
 000024 ds2 = "ENRICO.TEST.PDS2"                                               
 000025                                                                         
 000026 service = left("LMINIT",8)                                             
 000027 RC = $ispex(service "DATAID(ID1) DATASET("ds1") ENQ(SHRW) ")           
 000028 If RC ¬= 0 Then Do                                                     
 000029    zerrsm = service "Rc("RC")"                                         
 000030    zerrlm = left(_commnd,8)"- Rc("RC") from" service ds1               
 000031    signal setmsg                                                       
 000032 End                                                                     
 000033 RC = $ispex(service "DATAID(ID2) DATASET("ds2") ENQ(SHRW) ")           
 000034 If RC ¬= 0 Then Do                                                     
 000035    zerrsm = service "Rc("RC")"                                         
 000036    zerrlm = left(_commnd,8)"- Rc("RC") from" service ds2               
 000037    signal free1                                                         
 000038 End                                                                     
 000039                                                                         
 000040 service = left("LMOPEN",8)                                             
 000041 RC = $ispex(service "DATAID("ID1") OPTION(INPUT) ")                     
 000042 If RC ¬= 0 Then Do                                                     
 000043    zerrsm = service "Rc("RC")"                                     
 000044    zerrlm = left(_commnd,8)"- Rc("RC") from" service ds1               
 000045    signal free2                                                         
 000046 End                                                                     
 000047 RC = $ispex(service "DATAID("ID2") OPTION(OUTPUT)")                     
 000048 If RC ¬= 0 Then Do                                                     
 000049    zerrsm = service "Rc("RC")"                                         
 000050    zerrlm = left(_commnd,8)"- Rc("RC") from" service ds2               
 000051    signal close1                                                       
 000052 End                                                                     
 000053                                                                         
 000054 zedsmsg = left(_cmd,8)"- Ended"                                         
 000055 zedlmsg = left(_cmd,8)"- Ended"                                         
 000056                                                                         
 000057 close2:                                                                 
 000058     call   $ispex "LMCLOSE DATAID("ID2") "                             
 000059 close1:                                                                 
 000060     call   $ispex "LMCLOSE DATAID("ID1") "                             
 000061 free2 :                                                                 
 000062     call   $ispex "LMFREE  DATAID("ID2") "                             
 000063 free1 :                                                                 
 000064     call   $ispex "LMFREE  DATAID("ID1") "                             
 000065 setmsg:                                                                 
 000066     call   $ispex "SETMSG  MSG(ISRZ002) "                               
 000067                                                                         
 000068 Exit 0                                                                 
 000069                                                                         
 000070 /* */                                                                   
 000071 $tsoex:                                                                 
 000072    tso_0tr = trace("O")                                                 
 000073    Address TSO arg(1)                                                   
 000074    tso_0rc = rc                                                         
 000075    trace value(tso_0tr)                                                 
 000076    return tso_0rc                                                       
 000077                                                                         
 000078 /* */                                                                   
 000079 $ispex:                                                                 
 000080    isp_tr = trace("O")                                                 
 000081    Address ISPEXEC arg(1)                                               
 000082    isp_rc = rc                                                         
 000083    trace value(isp_tr)                                                 
 000084    return isp_rc                                                       
 000085                                                                         
 000086 /* */                                                                   
 000087 $isred:                                                                 
 000088    isr_tr = trace("O")                                                 
 000089    Address ISREDIT arg(1)                                               
 000090    isr_rc = rc                                                         
 000091    trace value(isr_tr)                                                 
 000092    return isr_rc                                                       
 000093                                                                         
 ****** **************************** Bottom of Data ****************************

Re: Load module not found.

PostPosted: Mon Nov 07, 2011 9:33 pm
by Akatsukami
Viswanathchandru wrote:Hi enrico,
But even after giving ADDRESS ISPEXEC i'm not getting what is exepected. Neither a RC= -3 which is syntax error as known is thrown nor it is accepted. Apologies a TON if i'm wrong. Please suggest.

RC = -3 is not, repeat, not, indicative of a syntax error; it is "environment not found".

Re: Load module not found.

PostPosted: Tue Nov 08, 2011 12:00 am
by Akatsukami
Viswanathchandru wrote:Thanks Mr. Spock for your time and replies.

Yes I tried with Trace ?I and i'm getting RC=8 for LMINIT statement and RC=10 for LMCOPY statements. Can anyone advice me how to proceed.

Thanks,
Viswa

The RC=10 from LMCOPY is because you don't have a valid data ID, i.e., LMINIT failed (as should be obvious from the fact that you got RC=8 from it).

As MrSpock has noted, you have repeatedly refused to provide a trace of the exec. Why this is is subject to interpretation, but we cannot help you, and will not attempt to try, without one.

Re: Load module not found.

PostPosted: Tue Nov 08, 2011 3:18 am
by MrSpock
I've been confused about what this topic is all about since the first post, and nothing yet has been offered to help.

Re: Load module not found.

PostPosted: Tue Nov 08, 2011 3:46 am
by BillyBoyo
As I see it, there have been two problems in this same topic.

The first was in calling his rexx LIST, which is a "TSO Data Utility Command", which looks like it is not installed at his site, so gives the 806 when run. At that stage the rexx is not executed at all.

On renaming the rexx to DOLL, subsequent errors were obtained, entirely unrelated to the first error (the 806).

What happened after that is a little unclear. enrico provided some nice code, perhaps Viswa took it and is now happy.

Re: Load module not found.

PostPosted: Tue Nov 08, 2011 3:59 am
by enrico-sorichetti
and nothing yet has been offered to help.

I offered a TESTED snippet ,
It is expected that a wannabe tool developer would have the skills to progress from a working example.

my snippet is a good example of a LMINIT/LMOPEN/LMCLOSE/LMFREE for one input and one output datasets
with proper environment checking, error handling and cleanup in the right sequence .

since the info and the snippet posted by the TS were far from providing complete info and proper code I preferred to post a working snippet
rather than keep asking for additional info.

most probably/CERTAINLY the TS is running the REXX out of a proper ISPF environment ( that's what a -3 return code from the Address ISPEXEC means )
never occurs to me because all my industrial-strength REXX ISPF execs/macros check that the proper environment is active
( to test the -3 occurrence I had to take away all the checking from the posted snippet )

the snippet as posted just exit nicely telling ...
********************************* TOP OF DATA **********************************
LMT01   - Ispf is not active. Command not executed                             
READY                                                                           
END                                                                             
******************************** BOTTOM OF DATA ********************************

Re: Load module not found.

PostPosted: Tue Nov 08, 2011 12:46 pm
by Viswanathchandru
Thanks Enrico, Mr.Spock,Akatsukami, Boyo for your time, replies and support!
Billy boyo Wrote:What happened after that is a little unclear. enrico provided some nice code, perhaps Viswa took it and is now happy.
This may satisfy my current requirement or it can give some clues for my current requirement. But its my duty to learn and interpret things without which i cant go further and i cant and i should not expect experts like Enrico, to give me the codes all the time which makes no sense.

Akatsukami wrote:The RC=10 from LMCOPY is because you don't have a valid data ID, i.e., LMINIT failed (as should be obvious from the fact that you got RC=8 from it).
- Agreed!! the same is there in the manual as you suggested. But believe me i have the datasets inside my HLQ and i will not execute this snipet without having the basic requirements of input dataset and a output dataset :)

Akatsukami wrote: RC = -3 is not, repeat, not, indicative of a syntax error; it is "environment not found".
- Agreed! its a typo!!

Enrico wrote:I offered a TESTED snippet ,
It is expected that a wannabe tool developer would have the skills to progress from a working example.
- Yes! but i want to take this as a example as i cant get the entire content from experts who always insist to try and then get something from us which makes something. Still i'm trying to figure out the things that is going wrong from my end.

@Enrico: I should have to thank for giving me a sample snipet that will help me in going further.
@Akatsukami: As Mr.Spock told i have posted the Trace results as RC 10 and RC 8. Please advice me which trace of rexx is required. After all i'm just a newbie to this not an expert as these people. I'm using TRACE ?I in my snipet.
@Billy boyo: No one can be happy with the sample may be i can enjoy this summer but i have to suffer in winter if i didnt understand/analyse my mistakes.:)


Thanks all for your guidance and support!


Thanks & Regards,
Viswa