Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


There is a production file which has millions of records in
it.The program that uses it ends up with an SOC7 abend.It
is sure that the abend is due to some invalid data in the
file.Is there any way to debugg the SOC7 abend with out
giving displays? I need the record which is cause for the
abend.

Answers were Sorted based on User's Feedback



There is a production file which has millions of records in it.The program that uses it ends up wi..

Answer / prakash

We can track this S0C7 in couple of ways without issuing
display statement

* Using abend log SYSABEND. GO the abend log in the spool
and search for CURRENT RECORD . Under this heading the
abendlog will show you the current record that has caused
the abend in hexa decimal format.

* Using Disp parameter. Suppose if your applicaton program
reads the data from an input file and after processing if
it writes ouput data to another file this method could be
used. Give the disp parameter as new,catlg,catlg for the
output dataset.By doing so when ever the job abend with
S0C7 we could see the last sucessfully processed record in
the output file.With that info we can track the
corresponding record in the input file and the next record
to that is the one causing the abend

Is This Answer Correct ?    25 Yes 1 No

There is a production file which has millions of records in it.The program that uses it ends up wi..

Answer / ramesh

Steps taken to resolve to resolve S0C7

1. Get the offet of the abend from sysout

e.g lets say the offset is 0005DA

2. Go the compile listing and locate the offset. This will
be present in the assembly listing of the program.

000067 MOVE
0005D6 4820 8018 LH 2 24(0 8) WS-COMP
0005DA 4E20 D100 CVD 2 256(0 13) TS2 0
0005DE F332 8020 D105 UNPK 32(4 8) 261(3 13) WS-DEST
0005E4 96F0 8023 OI 35(8) X'F0' WS-DEST+3
000068 DISPLAY
0005E8 5820 905C L 2 92(0 9) TGTFIXD+92
0005EC 58F0 202C L 15 44(0 2) V(IGZCDSP )
0005F0 4110 A1F6 LA 1 502(0 10) PGMLIT AT +490
0005F4 05EF BALR 14 15
000069 DISPLAY
0005F6 58F0 202C L 15 44(0 2) V(IGZCDSP )
0005FA 4110 A1E0 LA 1 480(0 10) PGMLIT AT +468
0005FE 05EF BALR 14 15

3. Get the statement number from the listing here the offet
0005DA is the expansion for the statrement number 000067.

4. Using the statement number obtain the statement.

which would be something like this:

000067 MOVE WS-COMP TO WS-DEST.

Now this is the problematic statement.

Look in to this to resolve the abend.

Hope this helps.

Regards

Rameshkumar.H.K,Belgaum Karnataka.
Infosys Technology Bangalore

Is This Answer Correct ?    12 Yes 6 No

There is a production file which has millions of records in it.The program that uses it ends up wi..

Answer / necron

Go to the xpeditor tool and press f12 ..it will
automatically stop at the record which causes S0C7 abend..
(or) you can have a look at the program dump...you will
have an abend offset address in dump which will pinpoint
where exactly the abend occurred.

Is This Answer Correct ?    7 Yes 5 No

There is a production file which has millions of records in it.The program that uses it ends up wi..

Answer / suresh

1.Go to sysout it showing the program which is abened with number.
Open the program in changeman listing . go to the line no.
In that line no some variables used.
Take the variable and go to CEEDUMP .find the variable.Definitely the vaiable having the invalid value.Find the group level.You can see the key.
That record causing the SOC7 Abend

Is This Answer Correct ?    2 Yes 1 No

There is a production file which has millions of records in it.The program that uses it ends up wi..

Answer / necron

Yes , the disp can be (new,catlg,keep) or (new,keep,keep)

However its a very uncoventional method to look at the
input file and determine which record is causing it.what
i'm saying here is you can determine the input record but
not the field.You may have to again goto the debugger
xpeditor to see what happens during that record.

Is This Answer Correct ?    0 Yes 0 No

There is a production file which has millions of records in it.The program that uses it ends up wi..

Answer / srivatsa

Pick up the offset address from the executed JCL. Go to
the compiler cross reference listing. Find the offset
address in the XREF. This would give the line number in
which the abend has occured. To identify the record which
caused abend get into the sysout where the abended record
information would be displayed depending on the
installation. Through this when we map it to the record
structure we will come to know which field is caused the
abend. From this we can fix the SOC7 abend.

Is This Answer Correct ?    0 Yes 0 No

There is a production file which has millions of records in it.The program that uses it ends up wi..

Answer / harish

HI PRAKASH,

U ARE RIGHT..

I JUST WANT TO CONFIRM ABOUT DISP PARAMETER

I HOPE ITS DISP=(NEW,KEEP,KEEP)

SO WHY WE WANT TO WASTE I/O

IF ABNORMAL TERMINATION ITS KEEPS THE WRITTEN RECORDS TILL
POSITION OF SOCO7,SO WE CAN TRACE OUT AT WHICH RECORD IT
STOPS WRITING..

TAKE THAT RECORD PUT IN XPEDITIOR,TEST ...RESTART

pls correct me if anything wrong

HARISH POOMGAME SHIVAPPA(hassan,karnataka)
NIIT TECHNOLOGY
KOLKATA

Is This Answer Correct ?    0 Yes 1 No

There is a production file which has millions of records in it.The program that uses it ends up wi..

Answer / hi

We can easily do it by looking into SYSABEND. There you
can find the last record and last executed statement. These
two information is enough to solve S0C7.

Is This Answer Correct ?    1 Yes 4 No

Post New Answer

More COBOL Interview Questions

What is the difference between comp and comp-3 usage?

0 Answers  


Explain complete concept of table handling in COBOL with an example?

2 Answers   IBM, TCS, Wipro,


what do you mean by copybook? and what is the difference between the copybook which we are using in working storage and procedure division.

3 Answers   HCL, TCS,


The maximum number of dimensions that an array can have in COBOL-85 is ?

11 Answers  


Which of the following paragraphs is compulsory in every COBOL program? (a) SPECIAL-NAMES (b) PROGRAM-ID (c) FILE-CONTROL (d) OBJECT-COMPUTER

4 Answers  


What is JOBLIB and STEPLIB in JCL? what is the purpose of using it?

1 Answers  


What is the difference between Structured COBOL Programming and Object Oriented COBOL programming?

0 Answers   TryTechnicals Pvt Ltd,


How many maximum number of procedures can we write in one COBOL program?

6 Answers  


How do pass the values to the parameters in cobol

2 Answers  


Can we put move statement in COBOL copybook

3 Answers   Global Logic,


give the examples of strings in cobol

1 Answers   IBM,


Our issue is there seems to be a disconnect, or no link, between our SELECT statement and our SD. We had SELECT SORT-FILE and SELECT SORT-FILE ASSIGN TO SORTWRK. ASSIGN TO SORTWRK1 SORTWRK2 SORTWRK3 SORTWRK4. with SD SORT_FILE RECORD CONTAINS 7833 CHARACTERS. In either case, at run time, the system ignored our SORTWRK# DD statements and allocated 16 sort works with the SORTWK## naming convention. Any ideas why the system does not recognize the connection? We do not even need the SORTWRK DD statements. Thanks

0 Answers  


Categories