IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

S0c7 Abend


IBM Mainframe Forums -> ABENDS & Debugging
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
shankarm

Active User


Joined: 17 May 2010
Posts: 175
Location: India

PostPosted: Tue Aug 28, 2012 10:56 pm
Reply with quote

Hi,

I have a S0c7 abend. In the logs it gives the offset as +00000D8E.

So, I recompiled the job with 'LIST' parameter and searched for the offset in the compilation logs. I got a match (Check below)

Code:

000287  ADD                                                 
.
.
.
    000D8A  960F D1DC                   OI   476(13),X'0F'     
    000D8E  FA41 D1D8 D1D0          AP   472(5,13),464(2,13)
    000D94  D204 41C5 D1D8          MVC  453(5,4),472(13)   
.
.
.

   


0D8E is the offset address for AP 472(5,13),464(2,13) statement.

As we know, one cobol statement is broken down into multiple assebler statements.

The equivalent cobol statement is 'ADD' and its statement number in the program is 287.

I searched for 287 in the program and i got the below match,


Code:

000287      1  00278           ADD  RECORD-COUNT TO H-P-NBR-PER2 (RECORD-COUNT
000288      1  00279                                H-P-NBR-PER4             


I concluded that the s0c7 is in the add statement shown above.
is the above approach correct?


If I am correct, can some one tell me what is 'FA41 D1D8 D1D0' in the below statement?

Code:

000D8E  FA41 D1D8 D1D0          AP   472(5,13),464(2,13)


I have copied all these from the compilation job.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6967
Location: porcelain throne

PostPosted: Tue Aug 28, 2012 11:02 pm
Reply with quote

Code:
ADD  RECORD-COUNT TO H-P-NBR-PER2 (RECORD-COUNT


the above does not make any sense, you have truncated something.
show us the code
also, data definitions of the fields involved..............

and as a guess,
if you indeed have the offending instruction,
the value of RECORD-COUNT is your culprit.
since soc7's involves a non-numeric in a source field.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8584
Location: Dubuque, Iowa, USA

PostPosted: Tue Aug 28, 2012 11:04 pm
Reply with quote

Find the Principles of Operation manual on the IBM web ste. It lists the translation of every assembler instruction, including this one on page 8.6:

AP D1(L1,B1),D2(L2,B2) is the instruction where
FA means Add Decimal (IBM's term for Add Packed)
4 length of D1 (lengths in translation are 1 less, so the 5 becomes a 4)
1 length of D2
D base register B1 (13 is D)
1D8 offset D1 (472 is 1D8 hex)
D base register B2 (13 is D)
1D0 offset D2 (464 is 1D0 hex)
Back to top
View user's profile Send private message
shankarm

Active User


Joined: 17 May 2010
Posts: 175
Location: India

PostPosted: Tue Aug 28, 2012 11:08 pm
Reply with quote

sorry,

Code:

ADD  RECORD-COUNT TO H-P-NBR-PER2 (RECORD-COUNT)
                     H-P-NBR-PER4               


is the code.

Definition,
Code:

03  H-P-NBR-PER2          PIC 9(09) COMP-3 VALUE 0
                                 OCCURS 250 TIMES.
03  H-P-NBR-PER4          PIC 9(09) COMP-3 VALUE 0.
77  RECORD-COUNT               PIC 9(003) COMP-3 VALUE 0.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7310
Location: Inside the Matrix

PostPosted: Tue Aug 28, 2012 11:09 pm
Reply with quote

You have to ensure that all the compile options which affect code are the same when you did the recompile.

A short-cut to that probably being true is if the dump is pointing to the identical instruction.

Code:
000D8E  FA41 D1D8 D1D0          AP   472(5,13),464(2,13)


There is more than that on the listing, further to the right. That is useful stuff, so please post it, even if you have to split the line.

The instruction is decimal addition. If you conver D, 1D8 and 1D0 to decimal, you'll see the relationship to the second part shown (after the AP). The 4 and 1 are also telling you something, which appears in the second part as 5 and 2.

Check out the Principles of Operation for a full understanding of the instruction, let us know if there is something there you don't understand.
Back to top
View user's profile Send private message
shankarm

Active User


Joined: 17 May 2010
Posts: 175
Location: India

PostPosted: Tue Aug 28, 2012 11:17 pm
Reply with quote

Thanks for this wonderful info. I will check.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Tue Aug 28, 2012 11:37 pm
Reply with quote

Hello,

Code:
ADD  RECORD-COUNT TO H-P-NBR-PER2 (RECORD-COUNT)
Why is the "count", which is also the subscript, being added to the PER2 field? icon_confused.gif
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6967
Location: porcelain throne

PostPosted: Wed Aug 29, 2012 2:36 am
Reply with quote

what proceeds RECORD-COUNT in your data-layout?

since your system seems to be plagued with 'table overflow' problems,
a guess is that RECORD-COUNT is non-numeric.
for that to be so, it could have been overlay'd
by something.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7310
Location: Inside the Matrix

PostPosted: Wed Aug 29, 2012 5:45 am
Reply with quote

RECORD-COUNT, if it is genuinely named, is a very unlikely subscript. As the 134217728th record rolls by, it's definitely going to blow, but likely much before then :-)
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> ABENDS & Debugging

 


Similar Topics
Topic Forum Replies
No new posts S722 abend and ESTAE ABENDS & Debugging 1
No new posts ABEND=04E FOR REASON=00E50013 DB2 4
No new posts Any idea about how to solve 3022 aben... IMS DB/DC 3
No new posts Handling abend to prevent termination CICS 0
No new posts Abend deletes last record written ABENDS & Debugging 10
Search our Forums:

Back to Top