Remote Function Call: Difference between revisions
No edit summary |
m →RFC interfaces: cleaned up grammar in the "call and execute function modules" sentence |
||
(41 intermediate revisions by 25 users not shown) | |||
Line 1: | Line 1: | ||
{{about|the SAP technology|generic term|remote procedure call}} |
{{about|the SAP technology|generic term|remote procedure call}} |
||
{{primary sources|date=May 2016}} |
|||
⚫ | '''Remote Function Call''' is |
||
{{refimprove|date=August 2015}} |
|||
⚫ | '''Remote Function Call''' is a proprietary [[SAP]] interface. Remote Function Call (RFC) is the standard SAP interface for communication between SAP systems. The RFC calls a function to be executed in a remote system.<ref>[https://help.sap.com/saphelp_nw70/helpdata/en/6f/1bd5b6a85b11d6b28500508b5d5211/frameset.htm RFC documentation by SAP]</ref> Remote function calls may be associated with [[SAP AG|SAP]] software and [[ABAP]] programming and provide a way for an external program (written in languages such as [[PHP]], [[Active Server Pages|ASP]], [[Java (Sun)|Java]], [[C programming language|C]], or [[C++]]) to use data returned from the server. Data transactions can get data from the server, and can insert data into server records as well. SAP can act as the Client or Server in an RFC call. |
||
==Technical overview== |
==Technical overview== |
||
A Remote Function Call (RFC)is the call or remote execution of a Remote Function Module in an external system. |
A Remote Function Call (RFC) is the call or remote execution of a Remote Function Module in an external system. |
||
In the [[ |
In the [[SAP_ERP|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: |
|||
# ''The first version of RFC is synchronous RFC (sRFC).'' |
|||
# ''Transactional RFC (tRFC, also originally known as asynchronous RFC)'' |
|||
# ''Queued RFC (qRFC)'' |
|||
==RFC interfaces== |
==RFC interfaces== |
||
Line 10: | Line 17: | ||
*Calling interface for ABAP programs |
*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. |
*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 |
*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. |
*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 |
*Interfaces for calling non-ABAP programs |
||
If either the calling program or the called partner is not |
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. |
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 |
RFC-supported and GUI-supported interfaces can be used by external programs to call and execute function modules in SAP 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). |
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== |
||
SAPRFC is an [[open source]] program for [[UNIX|*NIX]] and [[Microsoft Windows|Windows]] systems that allows [[PHP]] to make calls to an RFC-enabled SAP R/3 system. |
SAPRFC is an [[Open-source software|open source]] program for [[UNIX|*NIX]] and [[Microsoft Windows|Windows]] systems that allows [[PHP]] to make calls to an RFC-enabled SAP R/3 system. |
||
==See also== |
==See also== |
||
* [[ERP software]] |
* [[ERP software]] |
||
* [[ABAP]] |
* [[ABAP]] |
||
* [[SAP |
* [[SAP SE]] |
||
* [[Oracle Call Interface]] |
* [[Oracle Call Interface]] |
||
==References== |
|||
{{Reflist}} |
|||
==External links== |
==External links== |
||
*[http://help.sap.com/saphelp_nw04/helpdata/en/6f/1bd5b6a85b11d6b28500508b5d5211/content.htm RFC], SAP |
|||
*[https://forums.sdn.sap.com/forum.jspa?forumID=124 PHP Development Forums] in the [http://www.sdn.sap.com SAP Developer Network] |
*[https://forums.sdn.sap.com/forum.jspa?forumID=124 PHP Development Forums] in the [http://www.sdn.sap.com SAP Developer Network] |
||
*[http://saprfc.sourceforge.net/ SAPRFC Open Source Project] |
*[http://saprfc.sourceforge.net/ SAPRFC Open Source Project] |
||
*[https://www.opc-router.com/3-sap-systems_opc_ua_router_en/ Graphical RFC Connector] |
|||
[[Category:SAP |
[[Category:SAP SE]] |
||
[[Category:Remote procedure call]] |
[[Category:Remote procedure call]] |
||
[[de:Remote Function Call]] |
Latest revision as of 00:09, 7 February 2024
This article needs additional citations for verification. (August 2015) |
Remote Function Call is a proprietary SAP interface. Remote Function Call (RFC) is the standard SAP interface for communication between SAP systems. The RFC calls a function to be executed in a remote system.[1] 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, C, or C++) to use data returned from the server. Data transactions can get data from the server, and can insert data into server records as well. SAP can act as the Client or Server in an RFC call.
Technical overview
[edit]A Remote Function Call (RFC) 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:
- The first version of RFC is synchronous RFC (sRFC).
- Transactional RFC (tRFC, also originally known as asynchronous RFC)
- Queued RFC (qRFC)
RFC interfaces
[edit]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.
- Interfaces for calling non-ABAP programs
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 and execute function modules in SAP 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
[edit]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.