IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Program giving return code 3936


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
rammraju

New User


Joined: 05 Mar 2005
Posts: 65
Location: Hyderabad

PostPosted: Fri Oct 05, 2007 10:05 pm
Reply with quote

Hi,
I have a cobol program, it calls an assembler routine inside it. when i execute the program the assembler is throwing a return code of 3936 and my job ends abnormally with return code 3936. But assembler is returning the required data and the output of cobol program is fine but the job ends with return code 3936.

Can anyone let me know what is this return code for and if possible please share assembler return codes with me.


Thanks in advance
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10888
Location: italy

PostPosted: Fri Oct 05, 2007 10:12 pm
Reply with quote

Quote:
Can anyone let me know what is this return code for and if possible please share assembler return codes with me.


We cannot help You if the assembler routine is home written..
if its a routine for some program product You need to look at the provider
documentation

the general convention on return codes is that they are loaded into
register 15 before returning to the calling program,

the reason for the strange return code is most probably
a coding error in the assembler routine

as far as the return codes values.. anything goes as long as
the values are documented and acted on accordingly

regards

e.s
Back to top
View user's profile Send private message
rammraju

New User


Joined: 05 Mar 2005
Posts: 65
Location: Hyderabad

PostPosted: Fri Oct 05, 2007 10:40 pm
Reply with quote

is there a way that i can check the return codes after every instruction (Like display as we use in cobol)
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Sat Oct 06, 2007 1:49 am
Reply with quote

Check the asm-module; if it's a user error somewhere the return code has to be set in the module.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Sat Oct 06, 2007 5:29 am
Reply with quote

Hello,

Quote:
is there a way that i can check the return codes after every instruction


Do you have control of the assembler source?
Back to top
View user's profile Send private message
rammraju

New User


Joined: 05 Mar 2005
Posts: 65
Location: Hyderabad

PostPosted: Mon Oct 08, 2007 9:11 pm
Reply with quote

actually i donot know assembler, i am trying to debug the issue.

I am displaying the RETURN-CODE register (which i think is the register 15) after each call to assembler. it is displaying as 8832 (actually i have moved RETURN-CODE to 9(4) variable and displaying it).

but the job ends with 3936
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Mon Oct 08, 2007 9:28 pm
Reply with quote

I recall that what ever is in register 15 when the assembler returns to the cobol program is the return code. If everything is ok, set R15 to zero just prior to thr return: "SR 15,15"...
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Tue Oct 09, 2007 2:21 am
Reply with quote

Hello,

Ok, so
Quote:
actually i donot know assembler, i am trying to debug the issue.
The question still needs an answer
Quote:
Do you have control of the assembler source?


Where did the assembler module come from?

Does your COBOL program set the return code before ending? If you just want to ignore the 3636 form the assembler module (if indeed it is from the assembler module) you need to MOVE ZERO TO RETURN-CODE before you issue the GOBACK.
Back to top
View user's profile Send private message
rammraju

New User


Joined: 05 Mar 2005
Posts: 65
Location: Hyderabad

PostPosted: Sun Nov 04, 2007 7:31 pm
Reply with quote

Yes, Currently i am doing doing that Dick, moving zero to Return code register just after the call to the assembler.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Mon Nov 05, 2007 8:25 am
Reply with quote

Hello RamaMohan,

Is the process now working as needed?
Back to top
View user's profile Send private message
rammraju

New User


Joined: 05 Mar 2005
Posts: 65
Location: Hyderabad

PostPosted: Mon Nov 05, 2007 10:56 pm
Reply with quote

Yes it is working fine.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10888
Location: italy

PostPosted: Mon Nov 05, 2007 11:03 pm
Reply with quote

Quote:
Yes it is working fine


I am glad that You solved Your problem,
but still I am convinced that the "owner" of the assembler subroutine
should fix it
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Tue Nov 06, 2007 2:35 am
Reply with quote

Hello,

Quote:
Yes it is working fine.
Good to hear - thank you for posting that you have what you need icon_smile.gif
Quote:
but still I am convinced that the "owner" of the assembler subroutine should fix it
Me too! icon_lol.gif
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Tue Nov 06, 2007 2:43 am
Reply with quote

Nice he modified the ASM-module but IMHO there has to be reason why it returned this error code. What if the module is called by other programs with different expectations? Has been investigated this ASM is called only by the program of TS? Just wondered icon_rolleyes.gif
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Tue Nov 06, 2007 2:54 am
Reply with quote

Hi George,

Quote:
Nice he modified the ASM-module
I believe the modification was made to the calling program, not the called ASM. I suspect that the called ASM module is not setting an rc, but what is returned is what was already in the register due to whatever in the code.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> PL/I & Assembler

 


Similar Topics
Topic Forum Replies
No new posts purge jobs with return code 0 and ret... JCL & VSAM 4
No new posts Error to invoke MPP program through B... IMS DB/DC 3
No new posts Using API Gateway from CICS program CICS 0
No new posts run rexx code with jcl CLIST & REXX 15
No new posts Compile rexx code with jcl CLIST & REXX 6
Search our Forums:

Back to Top