View previous topic :: View next topic
|
Author |
Message |
pvreddy
New User
Joined: 10 Jul 2006 Posts: 1
|
|
|
|
i got a SOC7 error.in the input file im having morethan 1 lakh records.how can i know because of which record i got the SOC7 abend.
can anyone tell me |
|
Back to top |
|
|
shreevamsi
Active User
Joined: 23 Feb 2006 Posts: 305 Location: Hyderabad,India
|
|
|
|
You can define a counter.
Increment the counter whenever you read the input file.
When your program in calling an abend, display the counter.
You can physically locate the record based on the counter.
~Vamsi |
|
Back to top |
|
|
Nithinra
New User
Joined: 03 Jul 2006 Posts: 11
|
|
|
|
Hi ,
Yes .. you can use counters. And to find the field for which error has occured. Looking at the spool you can find out the Offset Address at which error has occurred.
Then go to the sysprint and find for the offset. Check for the STATEMENT before the offset address.
This would be the STATEMENT (Mostly it will be a MOVE stmt or COMPUTE)
where the error would have occured.
I think this makes it clear.
Regards,
Nithin |
|
Back to top |
|
|
HARIBHARAT
New User
Joined: 05 Jul 2006 Posts: 65 Location: pune
|
|
|
|
Give me sample code where to set counter?iam not get clearly, give elbartely. |
|
Back to top |
|
|
vijayamadhuri
Active User
Joined: 06 Apr 2005 Posts: 180
|
|
|
|
try using ex-peditor.u can keep the record that is being currently bein fpeocessed by using the keep option(k) . hit f12 .if there is a soc 7 error it will abent at that point. u have u r record which caused the soc7 |
|
Back to top |
|
|
khamarutheen
Active Member
Joined: 23 Aug 2005 Posts: 677 Location: NJ
|
|
|
|
HARIBHARAT,
Quote: |
Give me sample code where to set counter?iam not get clearly, give elbartely. |
If you are not using any tools then you can use this technique, ie., counter technique. Getting the code it bit diff. let me give you a detail exp. Just imagine that you are handling 100 records. Just declare a variable named
05 counter pic 999 value 0.
then just while performing the loop or manipulating the data just increment the counter. ie.
COMPUTE COUNTER = COUNTER + 1.
likewise then finally when the record is abended just display the counter value . So that the counter value will be equal to the record read in the file. so you can view it easily. Hope you got . let me know if you still have any concern/ |
|
Back to top |
|
|
diwa_thilak
Active User
Joined: 13 Jul 2006 Posts: 205 Location: At my desk
|
|
|
|
Hi,
We may not be allowed to keep our hands on production jobs. We can handle these errors only by XPeditor.
Try to have the jcl in your local dataset, and try to run the program using XPeditor.
SOC7 mainly occurs due to invalid data access or trying to access a array counter over its limit.
Try to run the program para by para and check if there is any illegal data access happening in the para.
I go with vijayamadhuri, use the technique to find the record causing the abend.
Regards,
Diwakar.D
-----------------------------------------------------------
Nobody is perfect . I am Nobody |
|
Back to top |
|
|
rpanicker
New User
Joined: 19 Apr 2005 Posts: 4
|
|
|
|
Check whether your job gave a DUMP. If you are not able to replicate it in test then a dump analysis could help you to point out the field causing the problem. |
|
Back to top |
|
|
stly Warnings : 1 New User
Joined: 25 Jul 2005 Posts: 93
|
|
|
|
First read from the input file.
on succesful read from the input file increment the read count by one.
ADD WS-NUM-1 TO WS-READ-CNT
display the read count. |
|
Back to top |
|
|
|