This is a Mainframe COBOL forum - you can post your queries on Mainframe COBOL, VS COBOL II, COBOL/370 , Enterprise COBOL

Moderators: dbzTHEdinosauer, Moderator Group

Post Reply
Posts: 40
Joined: Tue Sep 18, 2007 1:17 pm


Post by rajkumarprajapati » Sat Oct 18, 2008 12:11 pm

How to resovle SOC7?

User avatar
Site Admin
Posts: 1052
Joined: Fri Jan 27, 2006 7:50 am


Post by Krishna » Mon Oct 20, 2008 11:19 am

Reasons for SOC7 -
1. Moving non-numeric value to numeric field
2. Not initilizing the numeric variables before first use

How to solve -
This abend happens because of bad data in numeric field. ( usually comp-3 fields ). Need to find the field which contains bad data.

One standard way to find the location of abend is...
compile the program with compiler option LIST. It will give the listing of the cobol program while compiling.

Run the program... when program abends with SOC7
Go to spool - JESMSGLG step in spool , In abend message you can find offset similar to OFFSET=0002F6S2

Take last 4 bytes of this offset and search in listing ( open the compile job in spool ). It will show the line where the abend occurs. Normally abend occurs in MOVE statement OR in any of the calucaltion happend on that.

Anuj Dhawan
Posts: 1625
Joined: Sat Aug 09, 2008 9:02 am
Location: Mumbai, India

Post by Anuj Dhawan » Sat Nov 22, 2008 8:56 am


Please check this link: ... light=s0c7

And by the way, it's S0C7 (S zero C 7) not SOC7.

Post Reply


Free tutorials from mainframegurukul
  • JCL Tutorial
    Covers all important JCL concepts.
  • Cobol Tutorial
    This tutorials covers all Cobol Topics from STRING to COMP-3.
  • DB2 Tutorial
    DB2 Tutorial focuses on DB2 COBOL Programming.
  • SORT Tutorial
    This Tutorial covers all important aspects of DFSORT with examples
  • CICS Tutorial
    This CICS tutorial covers CICS concepts and CICS Basics, CICS COBOL Programming.
Mainframe Interview questions

Other References
Mainframe Tools and others