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 SAP 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
Supports SAPGUI protocol and start of SAPGUI (see SAP Note 1258724)
Does not support communication between two external systems
SAP generally recommends the use of the SAP NetWeaver RFC API due to its functional enhancements.