I see what your problem may be : Within each transaction the program fires the generator once for ID for one table, and once for each line ID of the other table, and writes one line to a log file after the transaction commits. The generator is being fired separately for the occasional duplicate transactions (ie they have different ID's even though other fields are the same) yet only one line appears in the log file. Hence the mystery! The generator is NOT under transaction control, but all of the other stuff is. So if you try and insert, and something causes your transaction to be rolled back and resubmitted, the generator will be incremented twice. Several types of data abstraction layer will do a retry (with a new transaction) under certain conflict situations. If you want to get a database log to also run outside transaction control, use an external table. Trevor
_______________________________________________ NZ Borland Developers Group - Delphi mailing list Post: delphi@delphi.org.nz Admin: http://delphi.org.nz/mailman/listinfo/delphi Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: unsubscribe