tRFC between SAP and External Systems

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

·        A database is not always available in external systems.

·        The RFC library cannot always repeat the RFC call in case of errors, such as network errors.

Therefore, the transactional RFC interface from external systems to an SAP system is currently implemented as follows:

·        RFC library

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 SAP system, there is no difference whether these calls are requested from another SAP 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.

·        RFC client programs and RFC server programs

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

·        SAP systems

In SAP 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.