Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

rfcs

Former Member
0 Likes
505

hi can u give me some ideaa on RFC??

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
488

hi,

RFC:

Purpose

Communication between applications of different systems in the SAP environment includes connections between SAP systems as well as between SAP systems and non-SAP systems. Remote Function Call (RFC) is the standard SAP interface for communication between SAP systems. The RFC calls a function to be executed in a remote system.

Synchronous RFC

The first version of RFC is synchronous RFC (sRFC). This type of RFC executes the function call based on synchronous communication, which means that the systems involved must both be available at the time the call is made.

Transactional RFC (tRFC)

Transactional RFC (tRFC, also originally known as asynchronous RFC) is an asynchronous communication method that executes the called function module in the RFC server only once. The remote system need not be available at the time when the RFC client program is executing a tRFC. The tRFC component stores the called RFC function, together with the corresponding data, in the SAP database under a unique transaction ID (TID).

If a call is sent, and the receiving system is down, the call remains in the local queue until a later time. The calling dialog program can proceed without waiting to see whether or not the remote call was successful. If the receiving system does not become active within a certain amount of time, the call is scheduled to run in batch.

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

· executed in the order in which they are called

· executed in the same program context in the target system

· 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.

Disadvantages of tRFC

· tRFC processes all LUWs independent of one another. Due to the amount of activated tRFC processes, this procedure can reduce performance significantly in both the send and the target systems.

· In addition, the sequence of LUWs defined in the application cannot be kept. Therefore, there is no guarantee that the transactions are executed in the sequence dictated by the application. The only guarantee is that all LUWs are transferred sooner or later.

Queued RFC (qRFC)

To guarantee that multiple LUWs are processed in the order specified by the application, tRFC can be serialized using queues (inbound and outbound queues). This type of RFC is called queued RFC (qRFC).

qRFC is therefore an extension of tRFC. It transfers an LUW (transaction) only if it has no predecessors (in reference to the sequence defined in different application programs) in the participating queues.

Implementation of qRFC is recommended if you want to guarantee that several transactions are processed in a predefined order.

RFC: Data Transfer

All RFC types are transferred by means of CPI-C or TCP/IP. They constitute a form of gateway communication.

You can get additional information from:

http://help.sap.com/saphelp_nw04/helpdata/en/22/0424fe488911d189490000e829fbbd/content.htm

regards,

madhu.

4 REPLIES 4
Read only

Former Member
Read only

Former Member
0 Likes
489

hi,

RFC:

Purpose

Communication between applications of different systems in the SAP environment includes connections between SAP systems as well as between SAP systems and non-SAP systems. Remote Function Call (RFC) is the standard SAP interface for communication between SAP systems. The RFC calls a function to be executed in a remote system.

Synchronous RFC

The first version of RFC is synchronous RFC (sRFC). This type of RFC executes the function call based on synchronous communication, which means that the systems involved must both be available at the time the call is made.

Transactional RFC (tRFC)

Transactional RFC (tRFC, also originally known as asynchronous RFC) is an asynchronous communication method that executes the called function module in the RFC server only once. The remote system need not be available at the time when the RFC client program is executing a tRFC. The tRFC component stores the called RFC function, together with the corresponding data, in the SAP database under a unique transaction ID (TID).

If a call is sent, and the receiving system is down, the call remains in the local queue until a later time. The calling dialog program can proceed without waiting to see whether or not the remote call was successful. If the receiving system does not become active within a certain amount of time, the call is scheduled to run in batch.

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

· executed in the order in which they are called

· executed in the same program context in the target system

· 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.

Disadvantages of tRFC

· tRFC processes all LUWs independent of one another. Due to the amount of activated tRFC processes, this procedure can reduce performance significantly in both the send and the target systems.

· In addition, the sequence of LUWs defined in the application cannot be kept. Therefore, there is no guarantee that the transactions are executed in the sequence dictated by the application. The only guarantee is that all LUWs are transferred sooner or later.

Queued RFC (qRFC)

To guarantee that multiple LUWs are processed in the order specified by the application, tRFC can be serialized using queues (inbound and outbound queues). This type of RFC is called queued RFC (qRFC).

qRFC is therefore an extension of tRFC. It transfers an LUW (transaction) only if it has no predecessors (in reference to the sequence defined in different application programs) in the participating queues.

Implementation of qRFC is recommended if you want to guarantee that several transactions are processed in a predefined order.

RFC: Data Transfer

All RFC types are transferred by means of CPI-C or TCP/IP. They constitute a form of gateway communication.

You can get additional information from:

http://help.sap.com/saphelp_nw04/helpdata/en/22/0424fe488911d189490000e829fbbd/content.htm

regards,

madhu.

Read only

Former Member
0 Likes
488

hi,

You refer to the following link u will get some knowledge about RFC..How to create..

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE2/BCFESDE2.pdf

With Regards

madhavi.

Read only

vinod_vemuru2
Active Contributor
0 Likes
488

Hi Hema sunder,

RFC stands for Remote function call i.e U can call and execute a piece of code from one SAP system to another or SAP to NON SAP or NON SAP to SAP system. When u create a function module there will be one radio button for specifying whether function module is remote enabled or not. If u select this then u can call this FM from any system.

Check below links for more information on RFCs.

http://help.sap.com/erp2005_ehp_03/helpdata/EN/45/0a385c7efd4574e10000000a114a6b/frameset.htm

http://help.sap.com/erp2005_ehp_03/helpdata/EN/89/45aad99715462abdf09ec503e151e7/frameset.htm

http://help.sap.com/erp2005_ehp_03/helpdata/EN/89/45aad99715462abdf09ec503e151e7/frameset.htm

http://help.sap.com/erp2005_ehp_03/helpdata/EN/26/b439f1506511d182c20000e829fbfe/frameset.htm

http://help.sap.com/erp2005_ehp_03/helpdata/EN/26/b43a9a506511d182c20000e829fbfe/frameset.htm

Thanks,

Vinod.