cancel
Showing results for 
Search instead for 
Did you mean: 

what is BAPI???? and how it is different from IDocs?

Former Member
0 Kudos

Hi,

I am new XI.I want to know what exectly BAPI is? and why it is required if we already have IDocs.How it is different from Idoc?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

IDOC's are mainly used for Async Process

BAPI/RFC are used for Sync process

Both are used for carrying the data from/into SAP only

If you want to know which option is the better while dealing with the SAP means , follow this

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

Regards

Seshagiri

Edited by: N V Seshagiri on Mar 7, 2008 12:09 PM

Answers (11)

Answers (11)

Former Member
0 Kudos

Hi,

BAPIs can be called within the R/3 System from external application systems and other programs. BAPIs are the communication standard for business applications. BAPI interface technology forms the basis for the following developments:

Connecting:

New R/3 components, for example, Advanced Planner and Optimizer (APO) and Business Information Warehouse (BW).

Non-SAP software

Legacy systems

Isolating components within the R/3 System in the context of Business Framework

Distributed R/3 scenarios with asynchronous connections using Application Link Enabling (ALE)

Connecting R/3 Systems to the Internet using Internet Application Components (IACs)

PC programs as frontends to the R/3 System, for example, Visual Basic (Microsoft) or Visual Age for Java (IBM).

Workflow applications that extend beyond system boundaries

Customers' and partners' own developments

Regards,

Sushama

Former Member
0 Kudos

Hi Shweta,

BAPIs (Business Application Programming Interfaces) are the

standard SAP interfaces. They play an important role in the

technical integration and in the exchange of business data

between SAP components, and between SAP and non-SAP

components. BAPIs enable you to integrate these components

and are therefore an important part of developing

integration scenarios where multiple components are

connected to each other, either on a local network or on

the Internet.

BAPIs allow integration at the business level, not the

technical level. This provides for greater stability of the

linkage and independence from the underlying communication

technology

Former Member
0 Kudos

Thanks to all..

Former Member
0 Kudos

Hi,

BAPI stands for Business Application Programming Interface.Its used for synchronous process.

idosc are used in asynchronous process.

U can go to the below link for detailed study:

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

http://searchsap.techtarget.com/tip/1,289483,sid21_gci824860,00.html

Thanks

Former Member
0 Kudos
Former Member
0 Kudos

Hi Shweta,

BAPI's are programming interface to access SAP Database from within SAP or other development platforms external to R/3 that support the Remote Function Call. BAPI stands for Business Application Programming Interface.

There are many differences between IDOCs and BAPIs.

BAPIs in 3.1 are synchronous; in 4.+ they can be asynchronous (and I

believe they then drive certain ALE/IDOCs).

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 invokable from Java or C/C++ or Visual Basic (and I think some

people are using Delphi).

In 3.1x there are very few BAPIs to use. In 4.+ SAP has added a large

number.

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

Hope this will help you,

Plz reward points

Regards,

Sushama

Former Member
0 Kudos

Hi Shweta,

BAPI are RFC enabled function modules in R/3 System. So BAPIs take a request message from an external system and then give its response message from R/3 system to that external system. So BAPIs are synchronous in nature.

IDOCs are intermediate documents in which R/3 sends or receives data. IDOC are asynchronous in nature.

Regards,

Rajeev Gupta

Edited by: RAJEEV GUPTA on Mar 7, 2008 12:15 PM

Former Member
0 Kudos

Hi,

1. BAPI Function module start with BAPI_

BAPI Function will not allow Comiit work so we use BAPI_TRANSACTION_COMMIT .

COMITT - It update the data into database tables suceessfully..

Rollback _ it reverse the data...

and for IDOC you need IDOC inbound or Outbound program for processing

2. IDOC internally converted to IDOC-XMl so no need of sender agreement in XI. But for BAPIs you need RFC adapter to be converted to XMl format and sender agreement is mandatory.

3. IDOC is default asynchornous communciation. BAPI is synchornous communication.

Idoc's and BAPI's are used to integrating XI with a SAP system.

When XI needs to send data to a SAP system , it can use BAPI's or Idoc's or Proxies.

Idoc's support only asynchronous calls whereas BAPI supports both synch and Asynch so do proxies.

Read this blog to understand when BAPI, Idoc and proxies are to be used,

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

BAPI Vs IDOC - in detail

http://searchsap.techtarget.com/tip/1,289483,sid21_gci824860,00.html

/thread/127699 [original link is broken]

Thanks

Swarup

Former Member
0 Kudos

BAPIs are remote enabled Function modules.

These act as Service Providers of any Business applications.

IDOC are intemediate documents. They are messages which flow from one system to another. Thus hold what is communicated.

Reward points if useful

Regards

Abhishek

Former Member
0 Kudos

HI SHWETHA,

BAPI are used for synchronus and IDOC are used for synchronus.

in WAS 6.4 we got IDOC sysnchronus in to picture.

Thanks & Regards,

Rama Krishna

former_member335553
Active Contributor
0 Kudos

BAPI- Business Application Programming Interface

For asynchronous communication- use IDOCS

For use in synchronous communciation and want to communicate external langauges -use BAPIS

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

former_member335553
Active Contributor
0 Kudos

Extract taken out :

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