Remote Function Call
Encyclopedia
Remote Function Call is the proprietary SAP AG
interface for communication between a SAP System and other SAP or third-party compatible system over TCP/IP or CPI-C connections. Remote function calls may be 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. SAP can act as the Client or Server in an RFC call.
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 a SAP system and an external system.
If either the calling program or the called partner is not a 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 (transaction SE37).
program for *NIX
and Windows
systems that allows PHP
to make calls to an RFC-enabled SAP R/3 system.
SAP AG
SAP AG is a German software corporation that makes enterprise software to manage business operations and customer relations. Headquartered in Walldorf, Baden-Württemberg, with regional offices around the world, SAP is the market leader in enterprise application software...
interface for communication between a SAP System and other SAP or third-party compatible system over TCP/IP or CPI-C connections. Remote function calls may be associated with SAP
SAP AG
SAP AG is a German software corporation that makes enterprise software to manage business operations and customer relations. Headquartered in Walldorf, Baden-Württemberg, with regional offices around the world, SAP is the market leader in enterprise application software...
software and ABAP
ABAP
ABAP , is a high-level programming language created by the German software company SAP...
programming and provide a way for an external program (written in languages such as PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
, ASP
Active Server Pages
Active Server Pages , also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically-generated Web pages. Initially released as an add-on to Internet Information Services via the Windows NT 4.0 Option Pack Active Server Pages (ASP), also known as Classic...
, Java
Java (Sun)
Java refers to several computer software products and specifications from Sun Microsystems, a subsidiary of Oracle Corporation, that together provide a system for developing application software and deploying it in a cross-platform environment...
, or C, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
) 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 (RFC)is the call or remote execution of a Remote Function Module in an external system.In the SAP
SAP AG
SAP AG is a German software corporation that makes enterprise software to manage business operations and customer relations. Headquartered in Walldorf, Baden-Württemberg, with regional offices around the world, SAP is the market leader in enterprise application software...
system, these functions are provided by the RFC interface system. The RFC interface system enables function calls between two SAP systems, or between a SAP system and an external system.
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 a 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.
- Interfaces for calling non-ABAP programs
If either the calling program or the called partner is not a 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 (transaction SE37).
SAPRFC
SAPRFC is an open sourceOpen source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
program for *NIX
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
and Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
systems that allows PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
to make calls to an RFC-enabled SAP R/3 system.