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
 

 

How to know for which line causes SOC7

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> ABENDS & Debugging
View previous topic :: :: View next topic  
Author Message
dipendra
Currently Banned

New User


Joined: 26 Mar 2007
Posts: 4
Location: chennai

PostPosted: Sat Mar 31, 2007 5:29 pm    Post subject: How to know for which line causes SOC7
Reply with quote

hi

i am ahving 1 problem . in any program there are many arithmetical operation and i got SOC7 so how can i know that for which line (or operation) the SOC7 comes. please Expalin me .
Back to top
View user's profile Send private message

William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3158
Location: Tucson AZ

PostPosted: Sat Mar 31, 2007 5:52 pm    Post subject:
Reply with quote

Hi back,

Do you have a current compilelisting for the program?
Back to top
View user's profile Send private message
mmwife

Super Moderator


Joined: 30 May 2003
Posts: 1592

PostPosted: Sat Mar 31, 2007 6:44 pm    Post subject:
Reply with quote

Didn't your sysmsg give you the line#? If you're using an older OS you'll have to use the OFFSET addr in sysmsg.

Here's one way:

If you haven't used LIST as a compiler option, add LIST,NOOFF to the option list. Recompile pgm. Assuming there were no pgm changes since the abend, use the OFFSET by searching for it in the compiler listing:

do a "f MVC" then do a find using the OFFSET addr. This will point you to the assembler instruction that caused the 0C7. Then scan back up the page to find the offending verb. The COBOL stmt# will be shown to the left.

Another:

If you used OFFSET as a compiler option you use a similar approach to that above (no need to recompile). Since OFFSET doesn't list the assem instrs and their addresses you must find the closest COBOL stmt address that is less than (or equal to) the OFFSET addr in your sysmsg. Use the COBOL stmt line# to the left to find the offending COBOL stmt.

The advantage to the 1st approach is that when using COBOL stmts that execute compound arithmetic operations you can find the part of the compound stmt that is causing the problem. But you need basic assembler skills to understand the meaning of the instructions.
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 -> ABENDS & Debugging All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Insert Lines in JCL with Rexx after a... Willy Jensen CLIST & REXX 3 Tue Aug 30, 2016 4:18 pm
No new posts ISREDIT - Position Cursor on the Comm... Tarique Anwer TSO/ISPF 5 Wed Feb 03, 2016 12:44 pm
No new posts Use Edit Line Command Table with ISPF... Mickeydusaor TSO/ISPF 5 Thu Jan 28, 2016 4:52 pm
No new posts ISPF 3.4, SF line command does not su... Pedro TSO/ISPF 0 Fri Jan 15, 2016 11:09 pm
No new posts Can someone explain me this JCL line ... PeterHolland JCL & VSAM 9 Sat Dec 12, 2015 7:22 am


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