I am familiar with MTS declaritive transactions. However, I am having a problem with the following...<br><br>I have an application that is comprised of the following operations that make up a transaction.<br><br>Select Reference Number<br>Insert Records Based Upon Selected Reference Number<br>Update Reference Number<br><br>I have 3 methods that carry out each action and a wrapper method to call each of these according to our business logic. MTS is sumbitting or rolling back as 1 transaction, BUT I can not adequately lock the table that is storing the reference number for the duration of a transaction. That is if multiple clients initiate this transaction all clients read the same reference number ... I don't want clients to select the reference number until previous transactions have been completed or aborted. From what I can find, read locks do not exclude other read locks. Any suggestions?