cancel
Showing results for 
Search instead for 
Did you mean: 

Difference between IDOC & RFC

Former Member
0 Kudos

1. Can someone explain the difference between IDOC & RFC

2. from processing point of view which one would be the best performance

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Refer the below links:

[http://searchsap.techtarget.com/tip/0,289483,sid21_gci824860,00.html|http://searchsap.techtarget.com/tip/0,289483,sid21_gci824860,00.html]

[|]

[Choose the Right Adapter to integrate with SAP systems|https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2162] [original link is broken] [original link is broken] [original link is broken];

[|]

Regards

Bhanu

Intelligroup.

Edited by: Bhanu Tiruveedula on May 13, 2008 8:14 PM

rajasekhar_reddy14
Active Contributor
0 Kudos

IDOC BAPI

IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system.

BAPIs are a subset of the RFC-enabled function modules, especially designed as Application Programming Interface (API) to the SAP business object, or in other words: are function modules officially released by SAP to be called from external programs.

Idocs are processed asynchronously and no information whatsoever is returned to the client,

BAPIs are called synchronously and (usually) return information

The target system need not be always online. The IDOC would be created and would send the IDOC once the target system is available (tRFC concept). Hence supports guaranteed delivery

whereas for BAPIs the client code needs to do the appropriate error handling.

With asynchronous links the sub-process on the client can be finished even if the communication line or the server is not available. In this case the message is stored in the database and the communication can be done later

Problems with synchronous links occur if the communication line or the server is temporarily not available. If this happens, the sub-process on the client cannot be finished (otherwise there would be data inconsistencies).

The disadvantage of asynchronous links is that the sub-process on the server cannot return information to the calling sub-process on the client. A special way for sending information back to the client is required. In addition, a special error handling mechanism is required to handle errors on the receiving side.

Synchronous links have the advantage that the sub-process on the server can return values to the sub-process on the client that has started the link.

IDOCs may

be more changeable from release to release.

BAPIs are not totally immune to upgrades

IDOCs are poorly documented

BAPIs are reasonably well documented.

Answers (6)

Answers (6)

Former Member
0 Kudos

Hi,

In a Simple and General Words

1) RFC is used mostly for Sync Communication

2) Idoc is used for Async Communication

3) RFC works on Adapter Engine and Idoc Works on ABAP Engine.

So Performance wise Idoc gives us Better Performance.

Regards

Seshagiri

Former Member
0 Kudos

hi,

Choose the Right Adapter to integrate with SAP systems

/people/ravikumar.allampallam/blog/2005/08/14/choose-the-right-adapter-to-integrate-with-sap-systems

Regrds

Former Member
0 Kudos

HI

Idoc adapter resides on the ABAP engine and the Idoc is sent directly to the Integration Engine of XI from the R3 system hence no sender idoc adapter and no sender agreement for the idoc adapter. The IDOC Adapter is implemented in ABAP and reside directly on the Integration Server (ABAP Stack).Hence cannot define a sender IDOC channel in directory due to the fact that the IDOC adapter does not run in J2EE Adapter Framework but is an "built in" adapter same for the HTTP adapter also.

The IDOC Adapter is implemented in ABAP and reside directly on the Integration Server (ABAP Stack).You cannot define a sender IDOC channel in directory due to the fact that the IDOC adapter does not run in J2EE Adapter Framework but is a "built in" adapter.

Idoc adapter resides on the ABAP engine and the Idoc is sent directly to the Integration Engine of XI from the R3 system and so , no sender idoc adapter and no sender agreement for the idoc adapter

Communication between applications in 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. RFC calls a function to be executed in a remote system.

RfcAdapter supports synchronous RFC (sRFC, sometimes also called only RFC) and transactional RFC (tRFC).

Queued RFC (qRFC) with inbound queues is currently not supported. A sRFC will result in a synchronous best effort (BE)message; a tRFC in a asynchronous exactlyonce (EO) and vice versa. Messages with exactly once in order (EOIO) are notsupported.

cheers

Reward points if found useful

Former Member
0 Kudos

Rum,

1. IDocs are standard structures used for asynchrnous communication.

RFCs support synchronous.

If you think of performance, The best to implement is using ABAP Proxies. It gives a very fast response and confirmed delivery.

Thanks

Sebin

former_member556603
Active Contributor
0 Kudos

Hi,

IDoc Processing with the IDoc Adapter

http://help.sap.com/saphelp_nw04/helpdata/en/b9/c5b13bbeb0cb37e10000000a11402f/content.htm

IDOC.

Purpose

The IDoc adapter enables you to process and send IDocs(Intermediate Documents) using the Integration Engine. You can use all existing IDoc types that have been released. ALE Audit is supported.

Processing IDocs using the Integration Engine pipeline is an alternative means of processing XML messages that are generated using the proxy interface. This alternative is considered for all SAP applications and external systems (subsystems) that have already defined IDocs, as well as for new SAP applications that do not yet have access to the proxy generation functions.

http://help.sap.com/saphelp_nw04/helpdata/en/ab/bdb13b00ae793be10000000a11402f/content.htm

RFC

Purpose

Communication between applications in 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. 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, meaning that the systems involved must both be available at the time the call is made.

http://help.sap.com/saphelp_nw04/helpdata/en/6f/1bd5b6a85b11d6b28500508b5d5211/content.htm

Thanks,

Satya

Edited by: SATYA KUMAR AKKARABOYANA on May 13, 2008 4:51 PM

Former Member
0 Kudos

Hi,

Reward points if helpful********

Thanks,

Madhu