Jump to content

Remote Function Call

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 122.164.50.250 (talk) at 08:44, 2 April 2007 (Technical overview). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A remote function call is a procedure for data interchange between a client and server. Typically the client calls a server program and the server returns the results via a TCP/IP connection. Remote function calls are typically associated with SAP software and ABAP programming and provide a way for an external program (written in languages such as PHP, ASP Java, or C, C++) 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.

Technical overview

A remote function call (RFC) is the call of a function module that runs in an external system to the calling program. Although it is also possible to call a function module in the same system as an RFC, normally RFCs are used when the caller and the called function module do not run in the same 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, or between an SAP system and an external system.ttt

RFC interfaces

The RFC- interface system is made up of the following interfaces:

  • 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 proper function modules and must be registered in the SAP system as remote.
  • 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, and the called program must be a function module that is registered as remote.
  • For more detailed information on calling function modules that are registered as remote, see Calling RFC Function Modules in ABAP.
  • For more information on writing function modules that you want to call remotely, see Writing RFC Function Modules in ABAP.
  • Interfaces for calling non-ABAP programs

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

To support you when implementing 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.

SAPRFC

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

See also