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 IDocs and BAPI

Former Member
0 Kudos

Hi all,

I'm quite confused about the IDocs and BAPI,

It seems to me that both are acting as interface to exchange business data.

What are the main differences?

Thanks.

5 REPLIES 5

Former Member
0 Kudos

BAPIs are called from the outside-in. That is, an external program

invokes a BAPI that gets data from SAP to display or updates data in

SAP. The BAPI concept does not include an event concept -- you cannot

tell SAP that when certain events happen to a "business object", to fire

a message or a file to an external system.

BAPIs are not totally immune to upgrades but if they are to be retired

you supposedly will have them supported for two releases. Whether those

are point or letter releases, I don't know. I believe that IDOCs may

be more changable from release to release.

BAPIs are reasonably well documented and there is a common place to look

to see what is available. IDOCs -- I have heard -- are poorly

documented in terms of finding them, and IDOCs were done differently by

different groups in SAP.

BTW, you can also use Java, C/C++, Visual Basic, ... to invoke RFCs in

SAP and get or update data. That's how the BAPIs work since they

utimately are sets of RFC calls (written to a design spec for BAPIs).

Former Member
0 Kudos

HI

the functionality of both idoc and bapi are same.

the main difference in BAPI is it is used for Third party application like JAVA, VB etc.

and IDOC is used transfer data from the SAP to sap or non-sap system.

For details refer the contents below

ALE

ALE is SAP proprietary technology that enables data communications between two or more SAP R/3 systems and/or R/3 and external systems. When a new enterprise resource planning (ERP) solution such as R/3 is implemented, companies have to interface the ERP system with legacy systems or other ERP systems.

ALE provides intelligent mechanisms where by clients can achieve integration as well as distribution of applications and data.

ALE technology facilitates rapid application prototyping and application interface development, thus reducing implementation time.

The ALE components are inherently integrated with SAP applications and are robust, leading to a highly reliable system.

ALE comes with application distribution/integration scenarios as well as a set of tools, programs, data definitions, and methodologies that you can easily configure to get an interface up and running.

BAPI

BAPIs provide a stable, standardized method for third-party applications and components to integrate into the Business Framework. These interfaces are being specified as part of SAP's initiative with customers, partners and leading standards organizations. Also, SAP has implemented the emerging Object Application Group (OAG) specifications with BAPIs.

Former Member
0 Kudos

Hi Macy,

1. It seems to me that both are acting as interface to exchange business data.

Yes, u are right !

2. BAPI :

SYSTEM <----


> SYSTEM

IDOC :

SYSTEM <----


IDOC -


> SYSTEM

3. This is the difference :

a) in BAPI, the data is exchanged IMMEDIATELY,

and not stored anywhere in between.

b) Whereas in IDOC,

the data/information is FIRST STORED IN

the SENDING SERVER

and then (using ALE technology)

it is SENT to the RECEIVER sytem.

c) There are RECORDS (which are stored)

found for all IDOCs sent and received,

whereas, in BAPI thisis not the case.

regards,

amit m.

Former Member
0 Kudos

Hi Macy,

1.An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data.

2.IDoc is not a process.

3.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables

3.A BAPI is a method in SAP Business Object type..

For eg.

The functionality implemented with SAP business object type "Material" includes a check for the materials availability ..Thus the Business Object type "material" offers a BAPI called "Material.CheckAvaliability"..

regards

satesh

Former Member
0 Kudos

Hi,

In Simple,

BAPI ( Business Application Programming Interface) it is Function module through which you can communicate TO SAP.

IDOC (Intermediate Document) is a Document to trnsfer data between SAP Systems or From an SAP to Non SAP system.

If you find this info usefull, Kindly assign points by clicking the star button.

Regards,

Lijo Joseph