*---Update/Insert BEGIN TRANSACTION IF llRollBack AND NOT TABLEUPDATE(.T., .F., "Sales") llRollBack = .T. ENDIF BEGIN TRANSACTION IF llRollBack AND NOT TABLEUPDATE(.T., .F., "SalesDetails") llRollBack = .T. ENDIF BEGIN TRANSACTION IF llRollBack AND NOT TABLEUPDATE(.T., .F., "Stock") llRollBack = .T. ENDIF .... IF llRollBack AERROR(laError) ROLLBACK TABLEREVERT(.T., "Sales") .... ELSE END TRANSACTION FLUSH ENDIFYou could refer to thread #748117.