Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Solving S0C7 abend

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> COBOL Programming
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    Post subject: Solving S0C7 abend
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

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7315

PostPosted: Thu Nov 03, 2011 2:27 am    Post subject: Reply to: Solving S0C7 abend
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

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7315

PostPosted: Thu Nov 03, 2011 2:45 am    Post subject: Reply to: Solving S0C7 abend
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    Post subject: Reply to: Solving S0C7 abend
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

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7315

PostPosted: Thu Nov 03, 2011 3:34 pm    Post subject: Reply to: Solving S0C7 abend
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    Post subject: Reply to: Solving S0C7 abend
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: 8057
Location: East Dubuque, Illinois, USA

PostPosted: Wed Apr 25, 2012 7:34 am    Post subject:
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

Site Director


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

PostPosted: Wed Apr 25, 2012 7:39 am    Post subject:
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    IBMMAINFRAMES.com Support Forums -> COBOL Programming All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts IMS region inactive - User abend code... gthmrj IMS DB/DC 5 Tue Mar 07, 2017 12:29 pm
No new posts IMS BMP program causes 878 system abend Artemk IMS DB/DC 7 Tue Nov 22, 2016 8:26 pm
No new posts abend sort based on count records in ... anatol DFSORT/ICETOOL 5 Mon Oct 17, 2016 10:10 pm
No new posts hot to get details when "EXEC CI... Andi1982 CICS 11 Tue Sep 20, 2016 5:01 pm
No new posts S213-14 ABEND explantion Apurva Mehta JCL & VSAM 5 Thu Jul 07, 2016 10:56 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us