View previous topic :: View next topic
|
Author |
Message |
vijay korde
New User
Joined: 19 Feb 2010 Posts: 27 Location: India
|
|
|
|
Hello,
I am calling module using BASSM. But its returning to the start of the program instead of NSI.
The calling module has AMODE(24),RMODE(24) and the called module has AMODE(ANY), RMODE(31).
Can anybody advise on how to resolve this issue. Quick response is highly appreciated.
Thanks,
Vijay |
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
Is the sub-program returning control to the caller via a BR 14 or a BSM (0,14)?
This forum's members are volunteers. This is NOT a group of individuals sitting on a cloud somewhere, with nothing to do.
Please be more considerate....
Bill |
|
Back to top |
|
|
vijay korde
New User
Joined: 19 Feb 2010 Posts: 27 Location: India
|
|
|
|
Sorry for using the wrong statement. I will take care in future.
sub program is returning control via BSM(0,14). Please advise.
Thanks,
Vijay |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
looks like the save area chain is clobbered or not setup properly
most probably You/somebody is restoring the wrong registers
( from the -2 savearea instead of the -1 savearea ) |
|
Back to top |
|
|
vijay korde
New User
Joined: 19 Feb 2010 Posts: 27 Location: India
|
|
|
|
you mean calling program save area or called program save area?
The same sub program is getting called successfully and returning to NSI from other modules.
Please advise.
Thanks,
Vijay |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
Quote: |
returning to NSI from other modules. |
why don't You compare a working program with the one giving the issue
( faster than doing remote debugging without looking at the source )
most probably in this case the calling program did not setup correctly the save areas chains |
|
Back to top |
|
|
sandeep chopra
New User
Joined: 28 Aug 2008 Posts: 11 Location: Noida
|
|
|
|
Hi Vijay,
When you calling program with BASSM whether you are covverting its loaded address in 31 bit addressing mode.
Extrn called
Lablel A(x'80000000'+Called)
Or load the called module dynamically with Load Macro. This way it would take its 31 bit address only. Just give BASSm then. |
|
Back to top |
|
|
vijay korde
New User
Joined: 19 Feb 2010 Posts: 27 Location: India
|
|
|
|
Thank you all for the reply.
This problem got solved with REUS link option while aseembling the module. |
|
Back to top |
|
|
sandeep chopra
New User
Joined: 28 Aug 2008 Posts: 11 Location: Noida
|
|
|
|
Hi Vijay,
could you please let us know what effect had on called module that it got solved by giving reuse option?
Thanks,
sandeep chopra |
|
Back to top |
|
|
|