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

how to find a record that caused the program to abend


IBM Mainframe Forums -> ABENDS & Debugging
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Dinesh Manivannan

New User


Joined: 17 Mar 2008
Posts: 17
Location: India

PostPosted: Mon Oct 21, 2013 10:46 pm
Reply with quote

Dear forum,

Suppose we are processing 10 million records in file. One of the record made the program to abend. I don't have any tool like fault analyzer or abend aid. How can I find the record that caused the abend ?

Do we have any options in JCL achieve this?

Thanks in advance.
Back to top
View user's profile Send private message
don.leahy

Active Member


Joined: 06 Jul 2010
Posts: 707
Location: Whitby, ON, Canada

PostPosted: Mon Oct 21, 2013 11:03 pm
Reply with quote

The only way to be sure is to read the dump.

Are you 100% sure that there is no dump formatting tool available? You may not have Abend Aid or Fault Analyzer, but there are others.

Did the program DISPLAY anything before it died?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Mon Oct 21, 2013 11:41 pm
Reply with quote

Hello,

Unless your problem is caused by some iterative process that "walks on storage", the info you need will be in the dump.

What is the abend? Depending on what has happened, there may be different things to consider.

Suggest you post the lines from the JES output that mention the error.
Back to top
View user's profile Send private message
madprasy

New User


Joined: 08 Apr 2008
Posts: 34
Location: Chennai

PostPosted: Tue Oct 22, 2013 10:40 am
Reply with quote

If your job is creating any output file reading your input file sequentially, then you can keep the disp mode for o/p file as (NEW,CATLG,CATLG).
So, the output file will be written till the erroneous input record.

If you are specific about the abend code, then forum search will help you a lot.
Back to top
View user's profile Send private message
Pandora-Box

Global Moderator


Joined: 07 Sep 2006
Posts: 1590
Location: Andromeda Galaxy

PostPosted: Tue Oct 22, 2013 2:27 pm
Reply with quote

CEEDUMP could come handly to identify the abended record
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Wed Oct 23, 2013 3:09 am
Reply with quote

Hi,

Quote:
If your job is creating any output file reading your input file sequentially, then you can keep the disp mode for o/p file as (NEW,CATLG,CATLG).
So, the output file will be written till the erroneous input record.



A write usually takes place only after a block has been completed,
so there's no guarantee that the erroneous record follows the last block written.


Gerry
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 Oct 23, 2013 7:04 pm
Reply with quote

gcicchet wrote:
Hi,

Quote:
If your job is creating any output file reading your input file sequentially, then you can keep the disp mode for o/p file as (NEW,CATLG,CATLG).
So, the output file will be written till the erroneous input record.



A write usually takes place only after a block has been completed,
so there's no guarantee that the erroneous record follows the last block written.


Gerry


True, but wouldn't unblocking the output file temporarily solve that problem?
Back to top
View user's profile Send private message
Dinesh Manivannan

New User


Joined: 17 Mar 2008
Posts: 17
Location: India

PostPosted: Wed Oct 23, 2013 9:51 pm
Reply with quote

Thanks for the reply geeks. So dump can give us the idea of the record that caused the program to abend.

Sorry for late reply
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Wed Oct 23, 2013 9:55 pm
Reply with quote

Hello,

Quote:
So dump can give us the idea of the record that caused the program to abend.
Often, but Not necessarily . . .

The program may have been "degrading" due to some problem earlier in the data and by the time the program abended, all that is left is the victims, not the culprit.

You may need to add some diagnostic code to help identify where the problem(s) begin.

You still have not posted which abend is happening icon_neutral.gif
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1788
Location: Bloomington, IL

PostPosted: Wed Oct 23, 2013 9:58 pm
Reply with quote

Not "give an idea", but "pinpoint the record" (assuming, of course, that it was data in that record that caused the program to abend -- something that is not necessarily the case).

As you were too timid to proffer such information as the abend code and the language in which the program is written, we can of course speak only in generalities.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7310
Location: Inside the Matrix

PostPosted: Wed Oct 23, 2013 10:18 pm
Reply with quote

A full dump shows you the entire state of everything when your program abended.

It is like an autopsy, but without any post-abend decomposition.

Without further details from you, we can assure you that all data areas relating to records are presented in their state at the time of the failure.

Without knowing more, as Akatsukami states, we can't get much beyond that.

How about a small clue, like programming language at least?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Wed Oct 23, 2013 11:16 pm
Reply with quote

Quote:
How about a small clue, like programming language at least?

And the abend code . . .
Back to top
View user's profile Send private message
Kmr.deepakcs

New User


Joined: 11 Oct 2013
Posts: 37
Location: India

PostPosted: Tue Oct 29, 2013 3:16 pm
Reply with quote

If u got abend then there will be a dump and u can get offset from there and check the statement which is causing problem.

In ceedump u can check offset....




Deepak kumar
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Tue Oct 29, 2013 8:52 pm
Reply with quote

Hello,

@Dinesh Manivannan - has this been resolved?


@Kmr.deepakcs - Please re-read the entire topic and understand that this was not new information.
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 -> ABENDS & Debugging

 


Similar Topics
Topic Forum Replies
No new posts Cobol code- to find a string in a str... COBOL Programming 3
No new posts Find library of PGM TSO/ISPF 10
No new posts COBOL Table data to a flat file with ... COBOL Programming 8
No new posts Write a current record plus previous ... DFSORT/ICETOOL 4
This topic is locked: you cannot edit posts or make replies. REXX to find /* Define and write the ... CLIST & REXX 5
Search our Forums:

Back to Top