Pat Bensky:

> The important thing is that all record cancellations go through a
> *CancelRecord* method.
> I created a [SpareRecordNumbers] table which contains 3 fields: unique id,
> table number, and spare record number

> As I said, it hasn't been thoroughly tested yet. So please feel free to
> chime in if you can see any flaws!

I have a similar system for invoice numbers.
Works perfectly in theory but in real life once or twice a year we got a 
missing invoice number.
Took me some time to figure out how it got lost (very obvious, once you know):

User starts writing the invoice - gets a number through the system.
User goes home, leaving the invoice open.
User is disconnected, so the number is never returned.

Now I look for lost number on every restart and if I find one I put it in the 
recycling bin.
Never lost a number since.

Greetings from Germany,
Bernd Fröhlich
4D Internet Users Group (4D iNUG)

Reply via email to