A remote function call is a call to a function module running in a system different from the caller's. The remote function can also be called from within the same system (as a remote call), but usually caller and callee will be in different systems.
In the SAP System, the ability to call remote functions is provided by the Remote Function Call interface system (RFC). RFC allows for remote calls between two SAP Systems (R/3 or R/2), or between an SAP System and a non-SAP System.
RFC consists of the following interfaces:
Any ABAP program can call a remote function using the CALL FUNCTION...DESTINATION statement. The DESTINATION parameter tells the SAP System that the called function runs in a system other than the caller's. RFC communication with the remote system happens as part of the CALL FUNCTION statement.
RFC functions running in an SAP System must be actual function modules, and must be registered in the SAP System as "remote".
When both caller and called program are ABAP programs, the RFC interface provides both partners to the communication. The caller may be any ABAP program, while the called program must be a function module registered as remote.
When either the caller or the called partner is a non-ABAP program, it must be programmed to play the other partner in an RFC communication.
To help implement RFC partner programs in non-SAP Systems, SAP provides
External Interfaces
RFC-based and GUI-based interfaces can be used by external programs to call function modules in SAP R/2 or R/3 systems and execute them in these systems. Vice versa, ABAP programs in R/2 or R/3 can use the functions provided by external programs via these interfaces.

If you want to see some scenarios within a programming example, see the corresponding unit in the
Tutorial: Communication Interfaces.