View previous topic :: View next topic
|
Author |
Message |
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
Quote: |
if I had money to spend I would bet on an internal table overflow! |
Yup, that or possibly a called module overwriting some of the caller's memory. . .
Has any of the called modules been changed since the last successful run? |
|
Back to top |
|
|
shankarm
Active User
Joined: 17 May 2010 Posts: 175 Location: India
|
|
|
|
All of you.... Thanks for helping out..
I skipped 100k records and ran the job. the job completed fine.
This is a monthly Job and i have to reprocess the 100K records next month. I am working on this, i will update the forum after this is resolved..
Thanks again.. |
|
Back to top |
|
|
shankarm
Active User
Joined: 17 May 2010 Posts: 175 Location: India
|
|
|
|
All,
Am writing this post for others to use in future.
I got a 4087, as discussed previously this was a s0c4 abend. The output file for this job was a VBS file (Recordsing mode spanned).
LRECL:1 to 25452.
The output data exceeded the maximum length and hence it caused a boundary violation.
The module was developed a very long time back and there was no file status variable defined. I have modified the program with file status defined it shows a status of 44 now (boundary violation). I have handled this in the code, now it is working file. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Good to hear it is resolved - thank you for the follow up info
d |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Yes, also a useful warning for those too lazy to code FILE-STATUS. Down the line, it costs time and money. |
|
Back to top |
|
|
shankarm
Active User
Joined: 17 May 2010 Posts: 175 Location: India
|
|
|
|
One more thing i want to add is,
We cannot try to skip a record in this case.
E.G
If there are 50 records in a file, if the job abends in 36th record, skipping 36th record will not solve the problem.
Issue record can be on of the 35 records already processed.
Sometimes, if we split the file into smaller files the job runs fine.
The job will not abend in the same statement all the time. every time the job will abend in a different statement and in a different record.
The root cause is that, the program is stepping on storage.
Sometimes its the table overflow, sometimes its boundary violation in file. It could be anything.
Hope this info helps the reader. |
|
Back to top |
|
|
|