Mike,
First, I'm glad I chased you over to this Forum, where you received the type of response I expected.
Dimandja has provided good advice. I am not very familiar with the Vision file system, especially with its implementation of transaction support. Therefore
take the following as potential concerns only.
I am a bit concerned that your initial problem statement said, "some files ... have already been updated and some that [are] not." If you try to encapsulate transactions that contain a very large number of records, one thing you might want to watch is the effect on process memory. The very nature of transaction processing is to (1) 'remember' what the file structures contained at the time of the BEGIN, (2) 'remember' what changes have to be made to the file between the BEGIN and the COMMIT, and (3) do the changes in a way that is invisible until
all changes have been made to the physical store. All this 'remembering' might use more process memory than you are accustomed to.
The statement might also indicate a potential processing flaw. If your merge process updates several files, and does it one file at a time, then,
unless you bracket the entire set of updates for all files in a single transaction, adding transactions will accomplish nothing. If your merge logic updates all files for each related set of changes (e.g. for a single bank payment, all files are updated to reflect that bank payment before another payment is merged), then bracketing each related set of changes in a transaction sould work nicely.
I hope I haven't added too much confusion to the issue. Just wanted you to be aware that there might be side effects in your presently stable processing environment.
Tom Morrison