Hi Richard I do the following.
LOCAL lok lok=.F. BEGIN TRANS IF TABLEUPDATE(table1) IF TABLEUPDATE(table2) lok=.T. ELSE *Message - something went wrong with table2 ENDIF ELSE *Message -something wrong with table1 ENDIF IF lok END TRANSACTION *Do any post save operations ELSE *Store the failed error messages in the error table ROLLBACK TABLEREVERT(table1) TABLEREVERT(table2) ENDIF _Ajit Abraham _______________________________________________ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://leafe.com/mailman/listinfo/profox OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/[EMAIL PROTECTED] ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.