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

am clear upto finding offset in soc7,but?


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

New User


Joined: 31 May 2010
Posts: 25
Location: Pune

PostPosted: Mon Jun 28, 2010 10:41 pm
Reply with quote

I'm clear from previous posts how to get offset in soc7 but

1. Can we get the exact line number of the cobol statement causing soc7 when we search the gotten offset in command line from spool?

2. After getting soc7 do I need to recompile the program again for line number?

3. In spool cobol program, copybooks used elaborate...but can we see the cobol statement causes to soc7 clearly like

move ws-var1 to ws-var2

I couldn't see the move ws-var1 to ws-var2 when I find the offset number in the command line of spool?


From
Satish kumar reddy,
Bangalore.
Back to top
View user's profile Send private message
William Thompson

Global Moderator


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

PostPosted: Mon Jun 28, 2010 10:59 pm
Reply with quote

kumar119119 wrote:
am clear from previous posts how to get offset in soc7
That is good, what assembler is at that memory location?
Quote:
1.can we get the exact line number of the cobol statement causing soc7?
You will need the the compile generated with the LIST option.
Quote:
2.after getting soc7 can i need to recompile the program again for line number?
Yes, but the code must be the same or the newly compiled version needs to S0C7 itself.
Quote:
3.in spool cobol program,copybooks used elaborate...but can we see the cobol statement causes to soc7 clearly like
move ws-var1 to ws-var2
Almost...If your S0C7 offset was X'17CC' then this move would be the problem.
Code:
this move:
001608                      MOVE TBBL-REINS-CLAIM TO LOOKUP-KEY
will generate:
 001608  MOVE
    0017C4  5820 9134               L     2,308(0,9)              BLF=0
    0017C8  5830 9138               L     3,312(0,9)              BLF=1
    0017CC  D20B 2000 30D9          MVC   0(12,2),217(3)          LOOKUP-KEY                        TBBL-REINS-CLAIM
Back to top
View user's profile Send private message
kumar119119

New User


Joined: 31 May 2010
Posts: 25
Location: Pune

PostPosted: Tue Jun 29, 2010 3:05 pm
Reply with quote

Hi William Thompson,
Good Afternoon,
Thanks for your information,

but i totally confused,

let me know the detail solving of soc7 after finding offset number

if possible try to post me in screens as you posted before

and one interview i faced question as

how can i solve the soc7 through abend-aid,

for this i dont know truely,

if u hav any screens or any detailed manner step by step, please post me,

Thnax in advance to me Mr.William Thomapson,

From,
Satish kumar reddy.T,
Bangalore
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Tue Jun 29, 2010 3:46 pm
Reply with quote

From Williamns previous post, the resolution process is quite clear for me, and I have not played COBOL in over 30 years.

What is it that you do not understand in solving the problem.
Do you know what causes a S0C7 abend.

Perhaps if you answered the questions a better suited reply could be given.
Back to top
View user's profile Send private message
kumar119119

New User


Joined: 31 May 2010
Posts: 25
Location: Pune

PostPosted: Tue Jun 29, 2010 7:54 pm
Reply with quote

actually as williams asked me i dont know about the assembler,

and i want to know about the LIST option, then only i can say you that i can understand this above explained thing

sorry for the trouble,

can you explain me in brief manner

i moved a junk data to a to numeric variable which causes soc7

now i go to spool, i can find the offset,

but from here i cant understand finding the exact line number in the cobol module for the soc7 caused statement,

this is my confusion,

like

A pic x(7) VALUE ?A23456
B pic 9(7)
MOVE A TO B

now i got soc7,

i go to spool, see the offset number like +0000234

from this how can i find the line number

can i directly search this offset number in sysprint or can i need to recompile the program again after finding offset?

is the line number exactly shows in the spool of cobol program

can we find the cobol statement MOVE A TO B in spool directly?

ThanQ

From
Satish kumar reddy.T
Bangalore.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Tue Jun 29, 2010 8:14 pm
Reply with quote

This is something you SHOULD have learned during your COBOL course(s). The COBOL compiler option LIST generates a pseudo-assembler listing of the compiled program, which gives you precisely every offset in the program. The option OFFSET, which is usually the default, provides the first offset for each COBOL verb in your PROCEDURE DIVISION. Either will allow you to match dump offset to program line. Source code does not show offsets as these are only generated by the compiler. OFFSET and LIST are conflicting options -- if you select one, the other automatically will not be selected.
Back to top
View user's profile Send private message
kumar119119

New User


Joined: 31 May 2010
Posts: 25
Location: Pune

PostPosted: Tue Jun 29, 2010 9:18 pm
Reply with quote

Thanks Robert Sample

Now i dont have any issues with this soc7,

Thanks 4 your patience
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 Finding and researching jobs All Other Mainframe Topics 0
No new posts VB to FB - Finding LRECL SYNCSORT 4
No new posts Finding Assembler programs PL/I & Assembler 5
No new posts Finding faulty logic Subscript out of... COBOL Programming 5
No new posts Finding record and replacing with val... DFSORT/ICETOOL 3
Search our Forums:

Back to Top