cancel
Showing results for 
Search instead for 
Did you mean: 

What is RFC and how does work

Former Member
0 Kudos

Hi Sap Guru's

I want to know the RFC in SAP and how does it work?

Thanks in advance

Regards

Ramesh

Accepted Solutions (1)

Accepted Solutions (1)

Former Member

Hi Ramesh

The RFC Interface

A remote function call (RFC) is the call of a function module that runs in a different system to the calling program. Although it is also possible to call a function module in the same system as an RFC, normally RFCs are used when the caller and the called function module run in the same system.

In the SAP system, these functions are provided by the RFC interface system. The RFC interface system enables function calls between two SAP systems, or between an SAP system and an external system.

The RFC- interface system is made up of the following interfaces:

· Calling interface for ABAP programs

· Each ABAP program can call a remote function module using the command CALL FUNCTION...DESTINATION. The parameter DESTINATION informs the SAP system that the called function module runs in a different system to the calling system. RFC communication with the remote system takes place as a part of the CALL FUNCTION command.

· RFC function modules in an SAP system must be proper function modules and must be registered in the SAP system as remote.

· If the calling program and the called program are both ABAP programs, the RFC interface provides both communication partners. The calling program can be any ABAP program, and the called program must be a function module that is registered as remote.

· For more detailed information on calling function modules that are registered as remote, see Calling RFC Function Modules in ABAP.

· Interfaces for calling non-ABAP programs

If either the calling program or the called partner is not an SAP program, this program must be programmed in such a way that it can play the role of the other partner in RFC communication.

To support you when implementing RFC partner programs in non-SAP systems, read: Components of the SAP Communication Technology

RFC-supported and GUI-supported interfaces can be used by external programs to call function modules in SAP systems, and execute them in these systems. Likewise, ABAP programs can also use these interfaces to use functions supplied by external programs.

Hope this gives you an idea.

Britto

Answers (4)

Answers (4)

Former Member
0 Kudos

This message was moderated.

Former Member
0 Kudos

> Hi Sap Guru's

>

> I want to know the RFC in SAP and how does it work?

>

>

> Thanks in advance

>

>

> Regards

> Ramesh

Hi Ramesh,

RFC is nothing but Remote Function Call.

when ever u define a function module as RFC it will connect to the another SAP R/3 systems.

In SE37 when u r creating a function module,in attribute tab if u click the radio button of Remote Function Call, then it will be remote function call.Created Function module can be call anywhere.

Rgds,

Deepti.

Former Member
0 Kudos

Hi Ramesh,

These are the types of RFC

Asynchronous RFC (aRFC)

Synchronous RFC (sRFC)

Transactional RFC (tRFC)

Queued RFC (qRFC)

Parallel RFC (pRFC)

Asynchronous RFC :

This is used when you need to increase the performance of ABAP program by having system call more than one function module in parallel than forcing the program to wait for results .

Transactional RFC

This let you group one or more function module call together o tRFC LUW and ensure that fucnction module within LUW is called once . In contrast to aRFC and sRFC the tRFC belonging to tRFC LUW are executed in order .

tRFC is always used if a function is executed as a Logical Unit of Work (LUW). Within a LUW, all calls are

1.Executed in the order in which they are called

2.Executed in the same program context in the target system

3.Run as a single transaction: they are either committed or rolled back as a unit.

Implementation of tRFC is recommended if you want to guarantee that the transactional order of the calls is preserved

Asynchronous remote function calls (aRFCs) are similar to transactional RFCs, in that the user does not have to wait for their completion before continuing the calling dialog. There are three characteristics, however, that distinguish asynchronous RFCs from transactional RFCs:

• When the caller starts an asynchronous RFC, the called server must be available to accept the request.

The parameters of asynchronous RFCs are not logged to the database, but sent directly to the server.

• Asynchronous RFCs allow the user to carry on an interactive dialog with the remote system.

• The calling program can receive results from the asynchronous RFC.

You can use asynchronous remote function calls whenever you need to establish communication with a remote system, but do not want to wait for the function’s result before continuing processing. Asynchronous RFCs can also be sent to the same system. In this case, the system opens a new session (or window). You can then switch back and for between the calling dialog and the called session

RECEIVE RESULTS FROM FUNCTION Remotefunction is used within a FORM routine to receive the results of an asynchronous remote function call. The following receiving parameters are available:

IMPORTING

TABLES

EXCEPTIONS

The addition KEEPING TASK prevents an asynchronous connection from being closed after receiving the results of the processing. The relevant remote context (roll area) is kept for re-use until the caller terminates the connection.

Hope this resolves your query.

Reward all the helpful answers.

Regards

Former Member
0 Kudos

Remote Function Call,

It is used to connect systems. You can define RFC connection by SM59.

You connect r3 system to bw with rfc connection for example...