>>1. Add records to buffered view/CA (not directly to the table)
>>2. made all validations BEFORE trying to insert
>>3. Lock the file
>>4. get new id
>>5. replace ID field in all view records with new one
>>6. Update the Table
>>7. UNLOCK file
>
>Boris,
>It's "committed" situation, isn't it? See my second reply.
>Cetin
You talk about gaps, isn't it?
but the gaps will happen only if the user deletes the record(s), not when insert and He/She decide to cancel operation.
That is because ID is generated when user press SAVE not during the edit process.
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.