cancel
Showing results for 
Search instead for 
Did you mean: 

Diff... between ALE, IDOC, RFC, BAPI, BADI --- Not clear and clarify

Former Member
0 Kudos

Hi All

I am learning XI and the difference between " ALE, IDOC, RFC, BAPI, BADI "

Not clear and when to use what and how in point of XI ?

Pl..clarify me

Adv..thanks and points

--- Rakesh Behera

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

IDOC-Intermediate documents

BAPI-Business ApplicationProgramInterface

BADI-Bsuiness Addins

RFC-Remote Function call

ALE-Application liniking and enabling

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

Former Member
0 Kudos

Hi

Thanks and but what is the difference when we go for " XI"

When to use what ?

regards

rakesh

Former Member
0 Kudos

rakesh

IDocs <---(reprocessing,great error handling and all in standard)

Proxies (from which you can call bapis) <-- (you need to code the error handling youself)

don't use BAPIs if you have proxies...

Also refer Ravi's weblog

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

XI Customer Polling 2006 – Summary of Results

/people/swen.conrad/blog/2007/01/26/xi-customer-polling-2006-150-summary-of-results

Regards

Sreeram.G.Reddy

Former Member
0 Kudos

Hi

In " XI"

IDOC ---> Will be used to sending data in Async mode ...

It is very standard and for better performance Async case

RFC --- > Function module and general will be used to make call to function

sending the function (XI has RFC adapter)

BAPI ---> Other version of RFC (Objected oriented) mostly we will use for Sync

calls (Mostly in XI using proxies we will call BAPI's)

regards

--- prasad

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi

This will expalin you every thing ...pl..go through

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

The philosophical difference between EDI and ALE can be pinned as follows: If we send data to an external partner, we generally speak of EDI, while ALE is a mechanism to reliable replicate data between trusting systems to store a redundant copy of the IDoc data. The difference is made clear, when we think of a purchase order that is sent as an IDoc. If we send the purchase order to a supplier then the supplier will store the purchase order as a sales order. However, if we send the purchase order via ALE to another R/3 system, then the receiving system will store the purchase order also as a purchase order.

I hope this will help you to understand the difference bet..those

regards

--- prasad