Show TOC

Background documentationRFC Interface Locate this document in the navigation structure


A remote function call (RFC) calls a function module in a different system to the calling program.

Note Note

It is also possible to call a function module is the system by RFC. Normally though, the caller and the called function module are in different systems.

End of the note.

In the SAP system, these functions are provided by the RFC interface system. The RFC interface enables function calls between two SAP systems, or between an SAP system and an external system.

The RFC interface system is made up of the following elements:

  • Calling interface for ABAP programs

    Each ABAP program can call a remote function module using the command CALL FUNCTION...DESTINATION. The parameter DESTINATION informs the SAP system that the called function module runs in a different system to the calling system. RFC communication with the remote system takes place as a part of the CALL FUNCTION command.

    RFC function modules in an SAP system must be real function modules and must be registered as remote enabled in the SAP system.

    If the calling program and the called program are both ABAP programs, the RFC interface provides both communication partners. The calling program can be any ABAP program. The called program must be a function module that is registered as remote enabled.

  • Interfaces for calling non-ABAP programs

    If either the calling program or the called partner is not an SAP program, the program in question must be programmed in such a way that it can play the role of the other partner in RFC communication.

    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.

    Note Note

    SAP provides a special RFC API for this purpose.

    End of the note.

More Information

You can find more information about calling remote-enabled function modules in:

You can find more information about writing function modules that you want to call remotely in:

If you want to set up an RFC communication with external systems, read: