* Controlling object lFlag = .T. BEGIN TRANSACTION FOR EACH oObject IN colObjects IF NOT oObject.SaveChanges() lFlag = .F. EXIT ENDIF ENDFOR IF lFlag END TRANSACTION ELSE ROLLBACK ENDIF * Simplified internal object (oObject) code, method "SaveChanges": * There are BEGIN TRANSACTION, END TRANSACTION & ROLLBACK steps * in this method b/c this internal object already exists separately, * it doesn't know it's being called by the external object. BEGIN TRANSACTION SELECT THIS.cCursor * Make some changes IF TABLEUPDATE(THIS.cCursor) END TRANSACTION RETURN .T. ELSE ROLLBACK RETURN .F. ENDIFI can't modify the method I've called "SaveChanges", that already exists; I can only attempt to wrap it with my "controlling" or external object. Can this be done?