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
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement