[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Thoughts on Voiding Invoices



On Sun, 2006-09-24 at 09:43 -0700, Joshua D. Drake wrote:
> Here is some simple psuedo-code for you:
> 
> BEGIN;
> 
> INSERT INTO invoices VALUES('a','120.00');
> ERROR: You can't sell part 'a' for 120.00.
> 
> ROLLBACK;
> 
> Yes it is a silly example but that is EXACTLY what void means.
No its not. That is rolling back a database transaction. Voiding in the
application is where you have not rolled back, you have committed. In
that commit intgerval (or synch interval) all logically-related
operations have occurred for that business transaction. *Then* you want
to void that business transaction: ie delete the record of that business
event.

Voiding as you folk have been discussing is an application/business
-level thing, not voiding/rolling back a database transaction.