It is basically a technical interface with which SAP systems are usually connected. RFC is a call of function module of the other systems.
RFC Interface – SAP has its own interface protocol which is based on the CPI-C. CPI-C stands for common programming interface for communication.
Different types of RFC :-
- Synchronous RFC
It is used to connect different web-AS environment. In this client waits until the server has computed it works or processing.
- Asynchronous RFC
The client will not have to wait for 2-way communication.
- Transactional RFC
TID (unique number) is along data. It resolves problem of data redundancies.
Transactional RFC(tRFC, previously known as asynchronous RFC) is an asynchronous communication method that executes the called function module just once in the RFC server. The remote system need not be available at the time when the RFC client program is executing a tRFC. The tRFC component stores the called RFC function, together with the corresponding data, in the SAP database under a unique transaction ID (TID).
If a call is sent, and the receiving system is down, the call remains in the local queue. The calling dialog program can proceed without waiting to see whether the remote call was successful. If the receiving system does not become active within a certain amount of time, the call is scheduled to run in batch.
tRFC is always used if a function is executed as a Logical Unit of Work (LUW). Within a LUW, all calls
- are executed in the order in which they are called
- are executed in the same program context in the target system
- run as a single transaction: they are either committed or rolled back as a unit.
- Qued RFC
It includes logical unit of work. To guarantee that multiple LUWs are processed in the order specified by the application, tRFC can be serialized using queues (inbound and outbound queues). This type of RFC is called queued RFC (qRFC). qRFC is therefore an extension of tRFC. It transfers an LUW (transaction) only if it has no predecessors (based on the sequence defined in different application programs) in the participating queues. Implementation of qRFC is recommended if you want to guarantee that several transactions are processed in a predefined order.