Application Development 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: 

difference between RFC and Idoc

Former Member
0 Kudos

Hi

What is the difference between rfc and idoc, since idoc is to transfer data between two systems while rfc also does the same.

regards

raghu

1 ACCEPTED SOLUTION

Former Member

HI,

For RFC you need to create RFC destinations not for Idoc

For Idoc you also need to manage Partners Profiles..inn R3..

These are few differences in using RFC/BAPI and Idoc...not the only ones..

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.We get information in response to RFC no functional acknowledgement will b received.

IDOC is jus a predefined structure like where in u would post them to your peer in distributed environment.As a response u can get functional acknowledgement for the IDOC which is being sent.

RFC is used when we need to get the details from the Rs system.

For example you have a company number coming from the file and you need to get the company information from R3 system for that company number that time you use the RFC. SO you send a request to R3 system and you get the response back from R3 system to XI.

As said IDOC is async its intermidiate doucments which has the predetrmined strucutre and which holds data for transfer between systems.

Regards,

Brown.

5 REPLIES 5

former_member184119
Active Contributor
0 Kudos

Hi Rfc means remote function calling..

it is used to store between two systems where as Iodc is intermediate doument which acarry data ..ok..rfc need to connect bwetween two systems....

if between sap to sap the data is carried by Idoc...as if i said earlier..

if this is between sap to non-sap system..we called it as EDI..

Hope u understand if not let me know..and

Reward points if usefull...

regards

sas

0 Kudos

Thank you so much. Now I understood the basic thing.

Former Member

HI,

For RFC you need to create RFC destinations not for Idoc

For Idoc you also need to manage Partners Profiles..inn R3..

These are few differences in using RFC/BAPI and Idoc...not the only ones..

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.We get information in response to RFC no functional acknowledgement will b received.

IDOC is jus a predefined structure like where in u would post them to your peer in distributed environment.As a response u can get functional acknowledgement for the IDOC which is being sent.

RFC is used when we need to get the details from the Rs system.

For example you have a company number coming from the file and you need to get the company information from R3 system for that company number that time you use the RFC. SO you send a request to R3 system and you get the response back from R3 system to XI.

As said IDOC is async its intermidiate doucments which has the predetrmined strucutre and which holds data for transfer between systems.

Regards,

Brown.

Former Member
0 Kudos

DIFFERENCE

The interface concept of the classic R/3 is based on two different strategies: Remote Function Calls (RFC) and data exchange through IDoc message documents. RFC makes direct and synchronous calls of a program in the remote system. If the caller is an external program it will call an RFC-enabled function in R/3 and if the calling program is the R/3 system it will call an RFC-function in another R/3-system or it will call a non-R/3 program through a gateway-proxy (usually rfcexec.exe).

IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.

While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.

Do reward if helpful

abapdeveloper20
Contributor

RFC:

Remote Function Call (RFC) is a call to a function module running in a system different from the caller's. The remote function can also be called from within the same system, but usually caller and callee will be in differene system. RFC allows for remote calls between two SAP Systems (R/3 or R/2) or between an SAP System and a non-SAP System.

Idoc

IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an

asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.

IDoc is a intermediate document to exchange data between two SAP Systems.

While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario

reward if useful

Lakshmiraj.A