Friday, March 14, 2008

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 RFC
development 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.

No comments:

Blog Archive