Remote Function Calls RFC

Remote Function Calls (RFC) in SAP

Remote Function Calls RFC: Communication between applications of different systems in the SAP environment includes connections between SAP systems as well as between SAP systems and non-SAP systems. Remote Function Calls (RFC) is the standard SAP interface for communication between SAP systems. The Remote Function Calls (RFC) a function to be executed in a remote system. You can also call a function module in the same system as an Remote Function Calls (RFC); however, RFCs are usually used when the calling and called function modules are running in different systems.

In the SAP system, the Remote Function Calls (RFC) interface system provides this function. The Remote Function Calls (RFC) interface system allows function calls between two SAP systems or between an SAP system and an external (non-SAP) system.

RFC is an SAP interface protocol that is based on the Common Programming Interface for Communication (CPI-C) and allows cross-host communication between programs. This means that ABAP functions can be called from external applications and tools, and that external applications can be called from the SAP system.

Remote Function Calls RFC in SAP

Remote Function Calls means that the ABAP programmer does not have to write his or her own communication routines. For an RFC call, the Remote Function Calls interface Converts all parameter data to the format required in the remote system calls the communication routines that are required to communicate with the remote system handles errors that occur during the communication.

Types of Remote Function Calls (RFC)

Synchronous RFC (sRFC)
For communication between different systems and between SAP Web AS and SAP GUI.

Asynchronous RFC (aRFC)
For communication between different systems and for parallel processing of selected tasks.


Transactional RFC (tRFC)
A special form of asynchronous RFC. Transactional RFC ensures transaction-like processing of processing steps that were originally autonomous.

Queue(d) RFC (qRFC)
Queued RFC is an extension of tRFC. It also ensures that individual steps are processed in sequence.

RFC is a superordinate term for various implementation variants. sRFC is the synchronous call of function modules. This means that the client waits until the server has completed its processing. In an SAP system, an RFC can also be performed asynchronously in another work process. This variant is called aRFC.

There is also tRFC, the transactional Remote Function Call. Transactional RFC is asynchronous and ensures that data that is sent more than once due to network problems, can be recognized at the server side, by assigning a Transaction Identifier (TID). This allows you to prevent data being processed more than once, leading to erroneous information in the application. Due to the asynchronous processing, however, parameters can only be transferred from the client to the server in this case. Returning information or status information directly is not possible.

qRFC with Send Queue is an extension of tRFC. It creates a layer between applications and the tRFC and only allows the tRFC to transfer a Logical Unit of Work (LUW) to the target server when its predecessors are no longer in the associated wait queues. After a qRFC LUW is executed, the qRFC manager automatically processes the next waiting qRFC LUW in accordance with the sequence in the wait queue.

Also See: What is Client on SAP?