LOCAL llRollBack llRollBack = .F. && not actually required as LOCAL && creates a logical var and assigns it .F. * Start a transaction BEGIN TRANSACTION * Process your table updates IF NOT TableUpdate("Invoice") llRollBack = .T. ENDIF IF NOT llRollBack AND TableUpdate("InvDet") llRollBack = .T. ENDIF IF NOT llRollBack AND TableUpdate("Customer") llRollBack = .T. ENDIF IF NOT llRollBack AND TableUpdate("AcctRcvbl") llRollBack = .T. ENDIF IF llRollBack ROLLBACK && revers the whole operation ELSE END TRANSACTION && Committ the transaction ENDIF