0% found this document useful (0 votes)
60 views

In Other Words We Say SOC7 Is Caused by Bad Data But Not by Business Logic

1) The SOC7 ABEND error occurs due to performing arithmetic operations on non-numeric values or moving non-numeric values to numeric variables. 2) To resolve the error, check the offset value provided in the error message against the compiler listing to identify the line of code causing the issue. 3) Common causes are using an uninitialized variable in an arithmetic operation or moving a non-numeric value to a numeric variable.

Uploaded by

Burhan Malik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views

In Other Words We Say SOC7 Is Caused by Bad Data But Not by Business Logic

1) The SOC7 ABEND error occurs due to performing arithmetic operations on non-numeric values or moving non-numeric values to numeric variables. 2) To resolve the error, check the offset value provided in the error message against the compiler listing to identify the line of code causing the issue. 3) Common causes are using an uninitialized variable in an arithmetic operation or moving a non-numeric value to a numeric variable.

Uploaded by

Burhan Malik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 5

SOC7 Abend

Reason for SOC7 ABEND:

1) Performing arithmetic operation on non-numeric values


2) Moving non-numeric to numeric/comp data items also known as variables

In other words we say SOC7 is caused by bad data but not by business logic.

Steps to Resolve

S0C7 Error the description comes in last line of run JCL SDSF

Press F11 (to scroll to right) to see the offset value clearly

COM1 is my program name


Take down the Offset value given in the message

Then go to the SDSF output of compile JCL


(Don’t forget to use XREF complier option at the time of compilation)
Program as per complier listing
Go to complier listing (i.e. the SDSF for compile JCL)
The offset is provided for each line with HEXLOC along with line number
(See the above slide)

Check with offset value is in which range


For example
The offset in our program is +000002E0
The line 14 (LINE # 000014) has the offset value of 0002D6 which indicates the
starting value
As line 15 is a comment in my program it will not be displayed in the listing

The line 16 (LINE # 000016) has the offset value of 0002F0

The offset is in the range of starting offset of line 14 and line 16 offset clearly
indicating line 14 has the error
The offset in our program is +000002E0 is less than the 0002F0 offset value of line
16 but Greater than 0002D6 line 14 offset value of so the error lies in line 14
Actual program

The reason for the error is I used a UN initialized variable in arithmetic


Operation

A is not initialized,
And X is comp3; See the X is comp or comp3 as the error
may not come if X is Display.

You might also like