Skip to main content

We have an app that is using the U2.Data.Client (version 2.2.2) to call a subroutine and the app is using transactions for an orchestrated business flow. Part of this orchestration is calling a subroutine and I need to know if that subroutine is, or has a way to, operate within the transaction of the U2.Data.Client. If so, how would I get that to work?

We have an app that is using the U2.Data.Client (version 2.2.2) to call a subroutine and the app is using transactions for an orchestrated business flow. Part of this orchestration is calling a subroutine and I need to know if that subroutine is, or has a way to, operate within the transaction of the U2.Data.Client. If so, how would I get that to work?

We've figured this out. There is a nuance that was not clear to the team doing the implementation.

If you create a handle to a UniSubroutine and you're using UniTransactions, the handle to the UniSubroutine MUST BE instantiated AFTER the UniTransaction is instantiated, otherwise the UniSubroutine call will be performed OUTSIDE of the transaction, even if you perform a call to the UniSubroutine from within the transactional logic.

The fix was to instantiate the UniSubroutine after instantiating the UniTransaction. Once this was done, the UniSubroutine calls respected that transaction.