Run with both RUW and DUW connection management

Programs compiled with remote unit of work (RUW) connection management can be called by programs compiled with distributed unit of work (DUW) connection management. SET CONNECTION, RELEASE, and DISCONNECT statements can be used by the program compiled with RUW connection management to work with any of the active connections.

However, when a program compiled with DUW connection management calls a program compiled with RUW connection management, CONNECTs that are performed in the program compiled with RUW connection management will attempt to end all active connections for the activation group as part of the CONNECT.

Such CONNECTs will fail if the conversation used by active connections uses protected conversations. Furthermore, when protected conversations were used for inactive connections and the DDMCNV job attribute is *KEEP, these unused DDM conversations will also cause the connections in programs compiled with RUW connection management to fail. To avoid this situation, run with DDMCNV(*DROP) and perform a RELEASE and COMMIT prior to calling any programs compiled with RUW connection management that perform CONNECTs.

Likewise, when creating packages for programs compiled with DUW connection management after creating a package for a program compiled with RUW connection management, either run with DDMCNV(*DROP) or perform a RCLDDMCNV after creating the package for the programs compiled with DUW connection management.

Programs compiled with DUW connection management can also be called by programs compiled with RUW connection management. When the program compiled with DUW connection management performs a CONNECT, the connection performed by the program compiled with RUW connection management is not disconnected. This connection can be used by the program compiled with DUW connection management.