FOR I = 1 TO FCOUNT() lcField = FIELD(I) IF CURVAL(lcField) # OLDVAL(lcField) *--Conflict RETURN <ERROR> ENDIF NEXT *-- No conflict, issue TABLEUPDATE() IF NOT TABLEUPDATE(.T., .F.) AERROR(laError) DO CASE CASE laError[1] = 1585 RETURN "CONFLICT" OTHERWISE RETURN "ERROR" ENDCASE ELSE RETURN "OK" ENDIFIF, your meant is how to know your conflict handler routine works correctly? You can have two instances of VFP running at the same time in same machine, Locate same record and make changes in both instance. Then, issue TABLEUPDATE() on 1st instance, after that go to 2nd instance and issue TABLEUPDATE() again. You will found that TABLEUPDATE() return .F. with error code 1585 in 2nd instance.