RFC in R/3

RFC provides interface shims for different operating systems and platforms, which provide the communication APIs for doing RFC from and to R/3.

SAP R/3 is designed as a multiserver architecture. Therefore, R/3 is equipped with a communication architecture that allows data exchange and communication between individual R/3 application and database servers. This communication channel also enables R/3 to execute programs running on a remotely connected server using RFC technology.

SAP R/3 provides special routines to enable RFC from and to R/3 for several operation systems. For NT and WINDOWS the DLLs are delivered with the SAPGUI Non SAP R/3 programs can access function modules in R/3, which is done by calling an SAP provided interface stem. Interfaces exist for UNIX, Windows and IBM S/390 platforms.

R/3 systems which are tied together via TCP/IP are always RFC capable. One R/3 system can call function modules in a remote RFC system, just as if the function where part of the own calling system.A function module can be called via RFC if the function has RFC enabled. This is a simple flag on the interface screen of the function.

Enabling RFC for a function does not change the function. The only difference between RFC-enabled and standard functions is that RFC functions have some restriction: namely, they cannot have untyped parameters.

A text in SAP is an ordinary document, not a customizing or development object. Therefore, texts are never automatically transported from a development system to a production system. This example helps to copy text into a remote system.

R/3 RFC is not limited to communication between R/3 systems. Every computer providing support for the RFC protocol can be called from R/3 via RFC. SAP provides necessary API libraries for all operating systems which support R/3 and many major programming languages e.g. C++, Visual Basic or Delphi.

Calling a program via RFC on a PC or a UNIX system is very much like calling it in another R/3 system. Indeed, the calling system will not even be able to recognize whether the called program runs on another R/3 or on a PC.

To make a system RFC compliant, you have to run an RFC server program on the remote computer. This program has to have a calling interface which is well defined by SAP. In order to create such a server program, SAP delivers an RFCdevelopment kit along with the SAPGUI.

The RFC call to Windows follows the OLE/ACTIVE-X standard, while UNIX is connected via TCP/IP RFC which is a standard in all TCP-compliant systems.In order to call rfcexec, it has to be defined as a TCP/IP destination in SM59. R/3 comes with two destinations predefined which will call rfcexec either on the R/3 application server SERVER_EXEC or on the front end LOCAL_EXEC.

By specifying another computer name you can redirect the call for RFCEXEC to the named computer. Of course, the target computer needs to be accessible from the R/3 application server (not from the workstation) and have rfcexec installed.The object interface of rfcexec supports two methods only, which are called as remote function call from R/3.


RELATED POSTS

QUEUED RFC
RFC PART 3
RFC PART 2

No comments :

Post a Comment