Author: Robert Sample
Posted: Fri May 06, 2016 5:37 pm (GMT 5.5)
Sigh. You again posted stuff that is pretty much useless for debugging your problem. I reiterate:
1 What is the line of code referenced in the abend?
2 What is the value of WS-COUNTER in the dump?
3 What is the PERFORM statement that is executing the code you did post?
If your compile has OFFSET instead of LIST, change the compile options to LIST,NOOFFSET so you get a complete pseudo-assembler listing of your code. That will tell you what the computer considers to be statement 1319 (or 1317 or wherever the ABEND moved when you changed your code) by comparing the compiler offsets to the ABEND offset. That tells you EXACTLY where the problem showed up (not where it happened -- storage exceptions tend to show up in places NOT where they start).
If you don't know how to find the value of WS-COUNTER in the dump, or you didn't get a dump at all, you could at least put a DISPLAY every time the value of WS-COUNTER is changed and hence know the last value it had before the ABEND.
You still haven't showed up the PERFORM statement for the code that you posted.
_________________
TANSTAAFL
The first rule of code reuse is that the code needs to be worth re-using.
"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil." -- Donald Knuth
Posted: Fri May 06, 2016 5:37 pm (GMT 5.5)
Sigh. You again posted stuff that is pretty much useless for debugging your problem. I reiterate:
1 What is the line of code referenced in the abend?
2 What is the value of WS-COUNTER in the dump?
3 What is the PERFORM statement that is executing the code you did post?
If your compile has OFFSET instead of LIST, change the compile options to LIST,NOOFFSET so you get a complete pseudo-assembler listing of your code. That will tell you what the computer considers to be statement 1319 (or 1317 or wherever the ABEND moved when you changed your code) by comparing the compiler offsets to the ABEND offset. That tells you EXACTLY where the problem showed up (not where it happened -- storage exceptions tend to show up in places NOT where they start).
If you don't know how to find the value of WS-COUNTER in the dump, or you didn't get a dump at all, you could at least put a DISPLAY every time the value of WS-COUNTER is changed and hence know the last value it had before the ABEND.
You still haven't showed up the PERFORM statement for the code that you posted.
_________________
TANSTAAFL
The first rule of code reuse is that the code needs to be worth re-using.
"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil." -- Donald Knuth