View previous topic :: View next topic
|
Author |
Message |
anatol
Active User
Joined: 20 May 2010 Posts: 121 Location: canada
|
|
|
|
Hi,
I have PLI-IMS program ( BMP ) ...it abended with:
SYSTEM COMPLETION CODE=0C4 REASON CODE=00000010
TIME=11.54.38 SEQ=39693 CPU=0000 ASID=010E
PSW AT TIME OF ERROR 078D3000 80012A5A ILC 4 INTC 10
ACTIVE LOAD MODULE ADDRESS=000126B0 OFFSET=000003AA
NAME=DFSSBSP0
DATA AT PSW 00012A54 - C1125822 00005820 2010910E
GR 0: 0003AC78 1: 008A6074
2: 1F1D0D04 3: 008A6000
4: 1F000F68 5: 00000000
6: 0003A240 7: FD000000
8: 1F000F18 9: 1F000FB4
A: 000067E8 B: 000078A8
C: 00012948 D: 0003A960
E: 00000004 F: 00000000
END OF SYMPTOM DUMP
I've ran program in debug tool and it ran thru all the code ... even end of program not produce abend.... then after program finished I have this abend
please advise.
Thanks |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
How is control returned when your code has finished running? |
|
Back to top |
|
|
vinaysetlur
New User
Joined: 04 Jan 2008 Posts: 13 Location: United States
|
|
|
|
Just curious and very basic of course for IMS DB calls,
Do you issue a Go-BACK at the end or just stop your program ?
Programs interacting with IMS must do a Go-Back and not a STOP as allowed in case of other programs.
I am not familiar with the PLI equivalent of the COBOL instruction of GO-BACK but it could help to think in those lines. |
|
Back to top |
|
|
anatol
Active User
Joined: 20 May 2010 Posts: 121 Location: canada
|
|
|
|
the code finished just by end of the program. And again - in debug tool I can see that it go to the end of program without any error . then it abended with 0C4 |
|
Back to top |
|
|
vinaysetlur
New User
Joined: 04 Jan 2008 Posts: 13 Location: United States
|
|
|
|
Which debug tool are you using ? Make sure your standard IMS reslibs (SDFSRESL) , Dynalloc , Userlibs, DBDLIBs , PSBLIBs, loadlibs are defined in the debug tool.
In Expeditor , there's a specific panel where we define stuff like that. |
|
Back to top |
|
|
anatol
Active User
Joined: 20 May 2010 Posts: 121 Location: canada
|
|
|
|
I am using IBM Debug Tool - there no problem with the tool - I've used it for debug IMS pgms many times |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Quote: |
And again - in debug tool I can see that it go to the end of program without any error |
You keep saying this without apparently realizing that (1) the system has end-of-task activities that occur after the application program has ended, and (2) some of these end-of-task activities may generate the S0C4 ABEND.
Since it is obvious you are completely beyond your skill level in determining the problem, I recommend that you contact IBM and open a PMR on your issue. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Quote: |
the code finished just by end of the program. |
What is the last instruction in the code?
You CANNOT just let the execution "fall out the bottom" - at least not with code with which I'm familiar.
If the code proceeds beyond the end of the code, an abend is nearly guaranteed - quite likely an 0c4. |
|
Back to top |
|
|
anatol
Active User
Joined: 20 May 2010 Posts: 121 Location: canada
|
|
|
|
I finally found the problem - it was dynamical overlay to some area with dli call - corrupt system area for the post execution cleanup bmp.... hmmm - but it was news for me that end of the pli pgm is not end of execution of the code as others says ... no, it is - believe me |
|
Back to top |
|
|
Gary Jacek
New User
Joined: 17 Dec 2007 Posts: 64 Location: Victoria, BC, Canada
|
|
|
|
In PLI, every PROCEDURE statement has a matching END statement.
You can leave a PROCEDURE early by coding a RETURN statement.
If you forget to code a RETURN statement, and execution reaches the END statement that matches the PROCEDURE statement found above it in the code, then a RETURN is implicitly added by PLI.
So, in a nutshell, PLI won't let you fall out the bottom. At least, not very easily. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hi Gary,
Thanks for the clarification.
d |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2455 Location: Hampshire, UK
|
|
|
|
Quote: |
but it was news for me that end of the pli pgm is not end of execution |
Why? When you execute it in normal batch it is called from DFSRRC00 so it obviously returns there. And in DEBUG it has to return to DEBUG via whatever call mechanism is used by DEBUG. |
|
Back to top |
|
|
|