tRFC between R/3 and External Systems

On external systems, the transactional RFC cannot be fully implemented in the RFC library, because of the following reasons:

Therefore, the transactional RFC interface from external systems to an R/3 System is currently implemented as follows:

The RFC library provides some special RFC calls, such as RfcCreateTransID, RfcIndirectCall and RfcInstallTransactionControl for working with tRFC. It will pack and unpack RFC data between RFC format and tRFC format.

For an R/3 System, there is no difference whether these calls are requested from another R/3 System or from an external system. For an RFC server program, the RFC function itself (only the RFC function, not the whole RFC server program) can be executed normally, as it is called via ‘normal’ RFC with RfcGetData and RfcSendData.

Both programs have to manage the TIDs themselves for checking and executing the requested RFC functions exactly once as the tRFC component in an R/3 System does.

In R/3 Systems, no additional changes are necessary in ABAP programs working with external RFC programs which use the tRFC interface. For ABAP programs, such as RFC client programs, the destination defined in CALL FUNCTION must have ‘T’ as connection type.

The tRFC interface is not available with a 16-bit RFC library on Windows platforms.