Page 1 of 1

Field in the Record(SOC7 Abend)

PostPosted: Thu Jan 17, 2013 9:26 pm
by raghuvanshi
Hi,

Can we get to know which field in the record is having bad data in SOC7 Abend.How?

Any suggestions are welcome
Thanks!

Re: Field in the Record(SOC7 Abend)

PostPosted: Thu Jan 17, 2013 11:06 pm
by BillyBoyo
Does your Abend tell you the OFFSET of the failing instruction? If so, find that in the program, and it should be clearer which field is causing the problem. If you don't have an OFFSET, you'll need to find the address of the failure, the start of your program and subtract the two to calculate your own OFFSET.

Re: Field in the Record(SOC7 Abend)

PostPosted: Thu Jan 17, 2013 11:07 pm
by Akatsukami
No, because the S0C7 abend may not necessarily be caused by data directly derived from an input record.

The exact method of debugging will vary slightly depending on the source language. In general, however:
  1. Get the offset within the load module and routine of the failing machine instruction.
  2. Find the source instruction containing that machine instruction in the program map.
  3. Get the address(es) of the packed decimal variable(s) used by that source instruction in the data map.
  4. Find those locations in the dump.
  5. Determine what is the bad data, and in necessary where it came from.
Some or all of these steps may be greatly simplied if your shop uses a fault-handling product as e.g., Abend-AID.