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

Solving S0C7 abend


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
sivakumar M

New User


Joined: 03 Jul 2011
Posts: 8
Location: india

PostPosted: Thu Nov 03, 2011 12:06 am
Reply with quote

Hi Guys,

I know how to find the line in which the COBOL logic failed using the offset value listed in the SYSDUMP. In that I could see BLF and BLW. As per my understanding I can find the Working storage variable which holds the bad data through BLW and its addresss.

Could someone correct me if I am wrong and let me know the use of BLF and BLW in detail.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


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

PostPosted: Thu Nov 03, 2011 2:27 am
Reply with quote

Look at your DMAP. You will see a BLW number and a displacement, for each field. Find the BLW cells in the dump (offset from the start of the program, look in the back of the listing for BLW CELLS or similar). There you will find the appropriate address, apply the displacement, and that is your field.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


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

PostPosted: Thu Nov 03, 2011 2:45 am
Reply with quote

You are looking for "BASE LOCATORS FOR WORKING-STORAGE" and they are in the TGT. BLW=1 is the address in the first four bytes of this displacement from the start of your program.
Back to top
View user's profile Send private message
sivakumar M

New User


Joined: 03 Jul 2011
Posts: 8
Location: india

PostPosted: Thu Nov 03, 2011 3:26 pm
Reply with quote

Hi,

I understood how could BLW works. Can someone please explain me the use of BLF ?
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


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

PostPosted: Thu Nov 03, 2011 3:34 pm
Reply with quote

Have a look at a DMAP for a program with an FD in it. Any use?
Back to top
View user's profile Send private message
silentarya

New User


Joined: 11 Mar 2007
Posts: 35
Location: Chennai

PostPosted: Wed Apr 25, 2012 6:52 am
Reply with quote

Hi Guys,

I can see the offset value in the sysdump. Can anyone suggest how to

find out which line the error has occured in or which line of the dataset is causing this. Please find the sysdump message below.


The system detected a data exception (System Completion Code=0C7).
From compile unit CASBI805 at entry point CASBI805 at statement 2018 at compile unit offset +00002C96 at
entry offset +00002C96 at address 23502C96.
ENTERED (LEVEL 08/30/2010 AT 12.37)
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Wed Apr 25, 2012 7:34 am
Reply with quote

Compile your program with one of the options LIST or OFFSET. LIST can be long but gives you the pseudo assembler code generated, so you can match the offset precisely to the line of COBOL code. OFFSET generates a shorter output but you will have to determine, in most cases, which two offsets your problem occurred between in order to determine the line of COBOL 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: Wed Apr 25, 2012 7:39 am
Reply with quote

Hello,

Quote:
Can anyone suggest how to
find out which line the error has occured in

I must be missing something. If i understand the question, the answer is in the generated message. . . The COBOL statement number (2018) does not need to be found - it is given.

Quote:
which line of the dataset is causing this.
Might not be something in the dataset. . .
To find the offending instruction, look at the instruction at the problem address and then at the data address(es) used by that instruction. If you do not know the instructions in a load module read the Principles of Operations to learn the construction of the exeutable codes.
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 -> COBOL Programming

 


Similar Topics
Topic Forum Replies
No new posts ISAM and abend S03B JCL & VSAM 10
No new posts Abend S0C4 11 (Page Translation Excep... PL/I & Assembler 16
No new posts S0C7 - Field getting overlayed COBOL Programming 2
No new posts WER999A - UNSUCCESSFUL SORT 8ED U Ab... SYNCSORT 5
No new posts the system or user abend SF0F R=NULL COBOL Programming 0
Search our Forums:

Back to Top