I have some large stored procedures that run some complicated calculations. They are called from my VB app by using a batch run method and on an individual basis. There are situations where we could have several users calling the SP at the same time - batch and individual. Cursors are used extensively. Of course, this causes the 'Transaction was Deadlocked' error message. I used an 'on error' routine to trap the error number, which works. This, however, eventually causes a 'Timeout Expired' error. If I try to manipulate this error, I get locked up processes. Is there anything I can do on the SP side of things to keep this from happening.