The RFC API enables you to establish RFC communication between an SAP system and external systems. Via the RFC API, an external system can communicate as client or server with the SAP system.
Using the RFC SDK (Software Development Kit) you can implement a bundle of C++ functions controlling RFC communication on an external system.
The RFC API exists in two different versions:
● Classical RFC API
● SAP NetWeaver RFC API
You can use the SAP NetWeaver RFC API with all SAP systems being currently maintained by SAP.
However, the classical and NetWeaver version of the RFC SDK are incompatible to each other. You cannot use both versions in parallel for a given external application.
The migration from the classical version to SAP NetWeaver RFC API requires development effort for adapting the C/C++ application environment.
The two versions of the RFC API are characterized by their different functionality:
● Classical RFC API (ASCII or Unicode version)
○ Support of the classical RFC protocol only
○ No dynamic meta data retrieval
○ Not free of redundant functions
○ The ASCII version supports the SAPGUI protocol
● SAP NetWeaver RFC API contains a restructured set of functions and thus offering extended functionality like:
○ Dynamic meta data retrieval
○ Support of all SAP single code pages
○ Support of the classical RFC protocol and a new binary protocol (basXML) that allows a considerable reduction of data volume when using complex parameter types.
○ No redundant functions
○ Does not support SAPGUI protocol or start of SAPGUI
○ Does not support communication between two external systems
SAP generally recommends the use of the NetWeaver RFC API due to its functional enhancements.
A detailed description of the different RFC API versions you can find here:
For information on security issues of the RFC API, see: