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

How to find flow when the prog is abended in dump


IBM Mainframe Forums -> Compuware & Other Tools
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
nkothako

Active User


Joined: 26 Nov 2008
Posts: 125
Location: chennai

PostPosted: Wed Nov 11, 2009 11:07 am
Reply with quote

ex :
Code:
4000-write-para.
   < Some imperative statements >   < problem location >
   Write FICOMMON from WS-FCOMMON


Note: The above Para was called by so many other paras in the abended pgm.

So is it possible to find out
1) which is the Para-name in the prog which called the 4000-write-para at that instance.

2) similarly for other paragraphs, can we find out calling para which ever we want at that instance in the pgm if it is called more than once
Back to top
View user's profile Send private message
ashutosh.pr

New User


Joined: 13 Apr 2007
Posts: 36
Location: Pune

PostPosted: Wed Nov 11, 2009 12:28 pm
Reply with quote

If I get the question right, and if the logic can be changed, how about something like this:

Code:

1000-para.
....
....

Move 1000 to ws-loc
Perform 4000-write-para

2000-para.
....
....

Move 2000 to ws-loc
Perform 4000-write-para


...
...


4000-write-para.
   < Some imperative statements >   < problem location ><ws-loc>
   Write FICOMMON from WS-FCOMMON


Regds,
Ashutosh
Back to top
View user's profile Send private message
Terry Heinze

JCL Moderator


Joined: 14 Jul 2008
Posts: 1249
Location: Richfield, MN, USA

PostPosted: Wed Nov 11, 2009 11:28 pm
Reply with quote

Alternatively, see the section in the Language Reference manual concerning DEBUGGING declarative.
Back to top
View user's profile Send private message
nkothako

Active User


Joined: 26 Nov 2008
Posts: 125
Location: chennai

PostPosted: Thu Nov 12, 2009 10:46 am
Reply with quote

Thanks for the replies. My system was developed long back.. so all the pgms are not coded with the above options. so there is no other way to trace even in dumps like (sysudump or ceedump or abend-aid).
Back to top
View user's profile Send private message
ashutosh.pr

New User


Joined: 13 Apr 2007
Posts: 36
Location: Pune

PostPosted: Thu Nov 12, 2009 12:06 pm
Reply with quote

What exactly are the values in <problem location >? Is it a field value that is displayed?

Regards,
Ashutosh
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Thu Nov 12, 2009 5:52 pm
Reply with quote

If you have a run-time analyzer such as STROBE or APA at your site, and the program is compiled to use the tool, you can do such traces. If you do not have such a tool, you can retrofit the code by adding debug statements as has been suggested. If neither of these applies, you may be able to use the trace table in the system dump to track the program flow -- but it is not an easy thing to correlate trace table entries to program code.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Fri Nov 13, 2009 1:16 am
Reply with quote

Hello,

Can you compile a test version of the code that has the abend?

If yes, add diagnostic code to your test version and determine what is wrong.

If no, someone needs to do whatever is necessary to be able compile and test the code. If this abend is from a long-hiding error, it will need to be corrected which means there must be a way to compile and test.
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Fri Nov 13, 2009 2:10 am
Reply with quote

THE OLD FASHION WAY

Assuming your version/release is a minimum of COBOL2, compile your program to produce the Assembler expansion, specifying compile options (LIST,NOOFFSET).

Review the dump and find the information displayed about the PSW (Program Status Word).

Example -

Code:

PSW                078D2000   18A42DE0   00040011   00A43000

The second word from the left, represents the address of the NSI (Next Sequential Instruction). To calculate the address of the offending instruction, look for the ILC (Instruction Length Code) in the PSW display and subtract this value from the address of the NSI, which in this example is X'18A42DE0'.

At this calculated address, if you find byte-01 equal to X'F0' or any value between X'F8' and X'FD', then this represents a packed-decimal instruction and the abend will probably indicate a S0C7 has occurred.

END OLD FASHION WAY

Bill
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 -> Compuware & Other Tools

 


Similar Topics
Topic Forum Replies
No new posts To find whether record count are true... DFSORT/ICETOOL 6
No new posts Reorg abended with REASON=X'00E40347' DB2 2
No new posts Find the size of a PS file before rea... COBOL Programming 13
No new posts Forcing a step to run (even if abended) JCL & VSAM 8
No new posts Cobol prog to put an indicator on the... JCL & VSAM 1
Search our Forums:

Back to Top