• So, how would you fix the posted code so that the uncommittable transaction message isn't reported?

    I'm curious which COMMIT statement is causing the error. There's a COMMIT statement after the CATCH block inside the proc, and also a COMMIT in the outer transaction.

    I suppose one (or both) of these should check XACT_STATE() before executing?