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

How to find the record which caused the ABBEND


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

New User


Joined: 19 Nov 2005
Posts: 2

PostPosted: Sat Nov 19, 2005 12:16 pm
Reply with quote

Hai Friends,

I am kalyan,I am new to mainframes and let me know one thing if i am having one millions of records which is processing and it had been abbended, how to find out in which record it had abbended and we should not use any third party tools or ABBEND AID,How to proceed using program,please let me no.....

Thanking u,
kalyan[/b]
Back to top
View user's profile Send private message
khamarutheen

Active Member


Joined: 23 Aug 2005
Posts: 677
Location: NJ

PostPosted: Thu Nov 24, 2005 2:02 pm
Reply with quote

hi ,

Really the question is good. and i think as per my exp. some user defined abends can use it. and the o/p queue message... so this are the way.. there may be some other ways.. let us know if any of our posts.
Back to top
View user's profile Send private message
sunnybunny

New User


Joined: 29 Nov 2005
Posts: 49

PostPosted: Mon Dec 05, 2005 6:20 pm
Reply with quote

Hi Kalyan,

I think its not possible to find out the exact record location where it abends with out using the tool.

But by checking the check point value intermediately like every 1000
u can find the location.

Cheers
Sunny.
Back to top
View user's profile Send private message
mak_tcs

New User


Joined: 23 Nov 2005
Posts: 69
Location: Minneapolis, MN USA

PostPosted: Mon Dec 05, 2005 6:32 pm
Reply with quote

Hi Kalyan,

Atleast U may be knowing at which step, the Program Abends. So just put a display statement before the particular step and know the record.

If U dont have any idea of the abend step, then periodically put as many Display statements as u can in the program and locate the abend step first. then u try displaying the record at the particular step.

The problem wud have been much simpler if u cud use tool like XP editor!!

Thanks,
Mani
Back to top
View user's profile Send private message
iknow

Active User


Joined: 22 Aug 2005
Posts: 411
Location: Colarado, US

PostPosted: Mon Dec 05, 2005 8:00 pm
Reply with quote

Hi kalyanraju,

In order to know which program has abended just go to SDSF screen and in the command prompt issue this command FILTER.

Example

In the command prompt just say FIL ON then it will set FILTER to ON.

FIL MAX 'ABENDS', it will issue all the jobs taht are abended.
FIL MAX 'RC0', it will issue all the jobs whose RC is ZERO.

Likewise you can make use of FILTER to optimise your search and identify the program.

NOTE

Using FILTER command you can only get the programs which has abended and not the exact location.
To my knowledge without using any TOOLS and to get the solution to your
query is to make use of DISPLAY statement then and there in your program and identify the error.

Let me know in case of any concerns.
Back to top
View user's profile Send private message
srinathangya

New User


Joined: 19 Dec 2005
Posts: 77

PostPosted: Mon Dec 19, 2005 4:34 pm
Reply with quote

Hi Klayan,
Just try with LIST/OFFSET/TEST compiler option while submitting Ur JCL.
This will actually give U the detail like
1) which record caused the abend
2) filed Names and the values moved to them
3) Name of the abend that occured like S0C4, S0C7 etc..
thats it..
Srinath
Back to top
View user's profile Send private message
mmwife

Super Moderator


Joined: 30 May 2003
Posts: 1592

PostPosted: Tue Dec 27, 2005 1:11 am
Reply with quote

Hi Srinath,

Although this is probably an interview ques, using TEST w/a million rec file would present subtstatial o'head.

You can go into the dump and find the rec being processed at the time of abend, but it's somewhat involved and you need to know a little Assembler.

If you don't mind cheating a little icon_smile.gif you can use READ INTO in place of
READ and precede the INTO field w/an "eyecatcher". You may also want to include a read count routine in your pgm.

E.G.

01 IP-rec-area.
05 eye-catch1 pic x(018) value 'IP REC STARTS HERE'.
05 IP-REC.
.
.

01 IP-cnt-area.
05 eye-catch2 pic x(018) value 'IP CNT STARTS HERE'.
05 ip-cnt pic 9(008) value zero.

READ IP-FILE INTO IP-REC
ADD 1 TO IP-CNT

Now look in the dump for the eyecatchers.
Back to top
View user's profile Send private message
sureshtmca

New User


Joined: 03 Jan 2006
Posts: 1

PostPosted: Wed Jan 04, 2006 9:40 am
Reply with quote

Hi,

whatever may be the compiler options, in JCL change your output dataset disposition as disp=(new,catlg,catlg). so though there is an abend the output dataset will be catalogued and then you can see at which record it abended.

Hope this will clear this question.

Thanks,

Suresh[/b]
Back to top
View user's profile Send private message
mmwife

Super Moderator


Joined: 30 May 2003
Posts: 1592

PostPosted: Fri Jan 06, 2006 6:45 am
Reply with quote

Hi Suresh,

I forgot all about that. Good point. Sometimes though the connection between the IP & OP can be obscure.

But it's a good thing to keep in mind.
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 How to split large record length file... DFSORT/ICETOOL 10
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
No new posts FINDREP - Only first record from give... DFSORT/ICETOOL 3
No new posts To find whether record count are true... DFSORT/ICETOOL 6
No new posts Validating record count of a file is ... DFSORT/ICETOOL 13
Search our Forums:

Back to Top