Remote Function Call


Remote Function Call is the proprietary SAP SE interface. Remote Function Call is the standard SAP interface for communication between SAP systems. The RFC calls a function to be executed in a remote system. Remote function calls may be associated with SAP software and ABAP programming and provide a way for an external program to use data returned from the server. Data transactions are not limited to getting data from the server, but can insert data into server records as well. SAP can act as the Client or Server in an RFC call.

Technical overview

A Remote Function Call is the call or remote execution of a Remote Function Module in an external system.
In the SAP system, these functions are provided by the RFC interface system. The RFC interface system enables function calls between two SAP systems.
There are 3 different versions of RFC communication:
  1. The first version of RFC is synchronous RFC.
  2. Transactional RFC
  3. Queued RFC

    RFC interfaces

The RFC interface system is made up of the following interfaces:
If either the calling program or the called partner is not an SAP program, it must be programmed in such a way that it can play the role of the other partner in RFC communication.
To implement RFC partner programs in non-SAP systems, read: Components of the SAP Communication Technology.
RFC-supported and GUI-supported interfaces can be used by external programs to call function modules in SAP systems, and execute them in these systems. Likewise, ABAP programs can also use these interfaces to use functions supplied by external programs.
Functions are remote-enabled by setting the "Remote-enabled module"-flag in the Attributes tab of the ABAP Workbench: Function Builder.

SAPRFC

SAPRFC is an open source program for *NIX and Windows systems that allows PHP to make calls to an RFC-enabled SAP R/3 system.