The company I am with has a unique requirement that involves locking rows in their Informix DB. This is hopefully best explained with the following expamples. ANY assistance/recommendations are appreciated. Thanks!

The online Cobol application begins(user #1), accesses a row in Table A, reads many other tables along the way (tables B-Z) and at the end, they sign-off which logically 'commits' the row in Table A.

At the same time, they might have other users online(user#2) who are trying to access the same row in Table A which they would like 'locked out' until user #1 is done.

Also at the same time, there might be external Java processes(user#3) that run that need to update one of the intermediate tables (for example, table D).

I have been able to set row-level locking on Table A, begin the transaction and lock-out user #2. However, since all tables accessed are included in the 'transaction', user #3 is locked out and shouldn't be as the only table they want to lock is Table A.


* do I need to have a begin work/transaction or can I lock Table A without including it in a transaction?

* if transactions are required, can I included table A in one transaction and somehow deliniate the others NOT to be included in this transaction?