Consultor Eletrônico



Kbase P19902: Can't find record that will be deleted from DELETE trigger.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/03/2003
Status: Unverified

SYMPTOM(s):

Can't find record that will be deleted from DELETE trigger.

Passing ROWID from database trigger procedure to a generic validation procedure

Validation procedure cannot find the record with the passed ROWID.

** <file-name> record not on file. (138)

CAUSE:

It is not possible to perform a FIND that may reposition a buffer that is in use by a trigger procedure. This also applies if that buffer is used in an external procedure called from the trigger.

FIX:

Pass the buffer or the handle to the buffer from the trigger procedure to the external procedure instead of using the ROWID.
This will ensure the external procedure has access to the correct record without having to FIND it again.