Distributed Transactions, CIS, and set Options

When the SAP ASE server distributed transaction management services are enabled, you can place RPCs within transactions. These RPCs are called transactional RPCs.

A transactional RPC contains work that can be included in the context of a current transaction. This remote unit of work can be committed or rolled back along with the work performed by the local transaction.
  • The behavior of the cis rpc handling configuration property and the set transactional_rpc commands changed with the introduction of ASTC. In versions earlier than 12.0, enabling cis rpc handling caused all RPCs to be routed through CIS’s Client-Library connection. As a result, whenever cis rpc handling was enabled, transactional_rpc behavior occurred whether or not it had been specifically set. As of SAP ASE 12.0, this behavior has changed. If cis rpc handling is enabled and transactional_rpc is off, RPCs within a transaction are routed through the site handler. RPCs executed outside a transaction are sent via CIS’s Client-Library connection.

  • To use transactional RPCs, enable CIS and distributed transaction management with sp_configure, then issue the set transactional_rpc command. When set transactional_rpc is on and a transaction is pending, the SAP ASE server (as opposed to the SAP ASE site handler) coordinates the RPC.

    The set transactional_rpc command default is off. The set cis_rpc_handling command overrides the set transactional_rpc command. If you set cis_rpc_handling on, all outbound RPCs are handled by CIS.

  • See the Component Integration Services User’s Guide for a discussion of using set transactional_rpc, set cis_rpc_handling, and sp_configure.