Understanding Remote Function Call (RFC) Processes

RFC is used to communicate between SAP systems and SAP to Non-SAP systems using TCP/IP protocol.

RFC’s are defined in [SM59]. There are 4 types of RFC’s

  1. Asynchronous RFC
  2. Synchronous RFC
  3. Transactional RFC
  4. Queue RFC

1. Asynchronous RFC – (Like a postcard). The sending system may or may not receive it. i.e. there is no acknowledgment from the receiving . The transmission is not reliable.

2. Synchronous RFC – It is not like ARFC. It gets an acknowledgment from the target system. (like a registered post).
If the receiving system is not available the process goes into RFC/ CPIC/ Sleep mode and waits until it is wakened by the target system. Target system/ Receiving system may be busy i.e. all the resources are used up. This is reliable but time consuming and expensive (Client Copy) the job should get finished.

SAP uses CPIC protocol SAP specific (Common Programming Interface for Communication) to communicate between system.

3. Transactional RFC – TRFC – It is an advanced version of ARFC and SRFC. The request goes to receiving system if it is not handled a Transaction ID is generated by the source system. A program RSARFCSE is scheduled in the background to run for every 60 seconds. Transaction SM58 is used for Transactional RFC. It is used to document all the transactional ID’s and ensure that they are received by the recipient system. This is consistent and reliable.

4. Queued RFC – It is an advanced version of TRF and ensures that the transaction is committed based on FIFO/ Queue. It ensures transaction consistency of Logical unit of work and reliability of data transmission.SMQ1 – to monitor the outbound queues of a sending system refer SCOTT for FAX…

  • SMQ1 – to monitor the outbound queues of a sending system refer SCOTT for FAX…
  • SMQ2 – Provides interface to monitor Inbound queues.