Cetin,
We have traced through the code and it really was a corruption error.
After the seek, the record pointer was not positioned where it should.
After reindexing, the system ran correctly.
The core problem here is that the application is used as a main tool in the month-end processing of my client and the corruption is detected after the fact.
My code to check for corruption is really simple, I will give you a generic example
since I had to put this type of code in multiple areas of the application:
Original code:
select myArea
scan for (...)
select myOtherArea
seek myArea.myField
if found()
(do something...)
else
(do something else)
endif
endscan
New Code:
select myArea
scan for (...)
select myOtherArea
seek myArea.myField
if found()
if myOtherArea.myField <> myArea.myField
(corruption detected here!!!)
endif
(do something...)
else
(do something else)
endif
endscan
Obviously, this is not the best solution since I cannot detect corruption when the seek is not successful and should be.
Thanks !
Pascal
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only