RFC with External Systems


In the SAP system, the ability to call remote functions is provided by the Remote Function Call (RFC) interface. This interface allows for remote calls between two SAP systems, or between an SAP system and a non-SAP system.

The present section describes how to write RFC partner programs that run in non-SAP systems.

If you are writing RFC programs in an SAP system, see RFC-Programming in ABAP.


Client and Server Programs

RFC programs for non-SAP systems can function as either the caller or the called program in an RFC communication.

There are two kinds of RFC programs: RFC client and RFC server programs:
The RFC client is the instance that calls up the RFC to execute the function which is provided by an RFC server. In the following, the functions that can be executed remotely will be called RFC functions, and the functions provided by the RFC API will be called RFC calls.


How to implement external RFC programs

Write your own RFC partner program

You can write an RFC partner that makes (or receives) the remote call directly. This program can call up any SAP function module or be called by any ABAP program. You must write the program in C. This method uses the RFC API.


What is the RFC API?

The SAP system provides the RFC API (Remote Function Call Application Programming Interface) that you install on non-SAP systems to help you implement RFC partner programs. The RFC API is a set of C-language routines that perform certain communications tasks for you.

The RFC API supports the following external systems:

·        Microsoft Windows platforms (Windows 2000 and Windows XP)

·        HP-UIX

·        Sun Solaris

·        Alfa OSF

·        IBM AIX

·        OS 390

·        OS 400

These platforms use the RFC functionality between an SAP system and a C program. It is of no significance whether the remote function is provided in an SAP system or in a C program.

For each supported platform, there is an RFC SDK including the RFC library specific for each of these platforms, SAP RFC header files and some sample RFC programs.

The RFC API is always required

Both methods for implementing RFC programs use the RFC API:

·        RFC programs generated by the RFC Interface Generator use API routines to call an SAP function module. In addition, the application you write (that calls the RFC stub program) must also use API routines to establish a connection with the SAP system, prepare table parameter structures, and so on.

·        User-created programs (if you write your own) must likewise use API routines. Your program must perform all the same communication tasks as an automatically-generated stub and its caller.

For information about the RFC API components you need for your RFC projects, see Contents of the RFC SDK.