Application Development and Automation 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: 
Read only

idoc and bapi

Former Member
0 Likes
810

hi gurus,

what is the difference between bapi and idoc?

5 REPLIES 5
Read only

Former Member
0 Likes
767

Hi Rohit.

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.

BAPI is a Remote enabled function module.

Just follow this simple procedure or steps to create a BAPI.

1. Defining BAPI Data structures in SE11

2. Program a RFC enabled BAPI function module for each method

3. Create a Business object for the BAPI in the BOR

4. Documentation the BAPI

5. Generate ALE interface for asynchronous BAPIs

6. Generate and release

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.

There are basically two types of IDOCs.

Basic IDOCs

Extended IDOCs

Idoc Components

Basic Idoc

Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.

Extension Idoc

Extending the functionality by adding more segments to existing Basic IDOCs.

Reward if useful.

Thanks

Aneesh.

Read only

abdul_hakim
Active Contributor
0 Likes
767

Hi Rohit,

BAPI:

BAPI is a well defined interface to processess the data of the business application system

implemented as business object in the BOR.

Confusing?? It is like a door to the SAP System thru which other systems(Not Just SAP Systems) can access the functionality of the SAP System.

Usage:

Depiction of the individual SAP Functions in the internet/intranet.

IDoc:

IDoc stands for intermediate documents.It is a data container which will carry the

data between different systems.It is used in ALE and XI Scenarios.

Conclusion::

BAPIs are function modules thru which the SAP Functions can be accessed from the outside

world.IDocs are data containers thru which the data is exchanged between SAP systems or

between SAP and Non-SAP Systems.

Cheers,

Hakim

Mark all useful answers..

Read only

Former Member
0 Likes
767

Hi,

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 I haven't misstated any of the details.

Regards,

Bhaskar

Read only

Former Member
0 Likes
767

Hi,

BAPI-

http://help.sap.com/saphelp_nw2004s/helpdata/en/7e/5e114a4a1611d1894c0000e829fbbd/frameset.htm

http://www.sapgenie.com/abap/bapi/example.htm

http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm

http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html

http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html

http://techrepublic.com.com/5100-6329-1051160.html#

http://www.sap-img.com/bapi.htm

http://www.sap-img.com/abap/bapi-conventions.htm

http://www.sappoint.com/abap/bapiintro.pdf

http://www.sapgenie.com/abap/bapi/example.htm

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf

http://techrepublic.com.com/5100-6329-1051160.html#

http://www.sap-img.com/bapi.htm

http://www.sap-img.com/abap/bapi-conventions.htm

http://www.sappoint.com/abap/bapiintro.pdf

IDOC Convertion

/people/kevin.wilson2/blog/2005/12/07/changing-fields-in-an-idoc-segment

http://www.sappoint.com/abap/ale.pdf

http://www.sappoint.com/abap/ale2.pdf

http://www.sapgenie.com/ale/configuration.htm

http://www.sappoint.com/abap/ale.pdf

http://www.sappoint.com/abap/ale2.pdf

http://www.sapdevelopment.co.uk/training

http://www.sapgenie.com/ale/why_ale.htm

http://www.sapdevelopment.co.uk/training

****DO REWARDS IF USEFULL

REGARDS,

VIJAY

Read only

Former Member
0 Likes
767

Hi,

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

*IDocs are structured ASCII files (or a virtual equivalent).

*Electronic Interchange Document

*They are the file format used by SAP R/3 to exchange data with foreign systems.

*Data Is transmitted in ASCII format, i.e. human readable form

*IDocs exchange messages

*IDocs are used like classical interface files

IDOC types are templates for specific message types depending on what is the business document, you want to exchange.

WE30 - you can create a IDOC type.

An IDOC with data, will have to be triggered by the application that is trying to send out the data.

FOr testing you can use WE19.

how to create idoc?

*WE30 - you can create a IDOC type

For more information in details on the same along with the examples can be viewed on:

http://www.netweaverguru.com/EDI/HTML/IDocBook.htm#_Toc8400404

http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6620507d11d18ee90000e8366fc2/frameset.htm

http://www.sappoint.com/presentation.html

http://www.allsaplinks.com/idoc_search.html

http://www.sapgenie.com/sapedi/idoc_abap.htm

BAPI

BAPI stands for Business API(Application Program Interface).

A BAPI is remotely enabled function module

ie it can be invoked from remote programs like standalone JAVA programs, web interface etc..

You can make your function module remotely enabled in attributes of Function module but

A BAPI are standard SAP function modules provided by SAP for remote access.

Also they are part of Businees Objest Repository(BOR).

BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects.

You create business objects and those are then registered in your BOR (Business Object Repository)

which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA.

In this case u only specify the business object and its method from external system

in BAPI there is no direct system call. while RFC are direct system call.

Some BAPIs provide basic functions and can be used for most SAP business object types.

These BAPIs should be implemented the same for all business object types.

Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs.

Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.

http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm

http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html

Checkout !!

http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html

http://techrepublic.com.com/5100-6329-1051160.html#

http://www.sap-img.com/bapi.htm

http://www.sap-img.com/abap/bapi-conventions.htm

http://www.sappoint.com/abap/bapiintro.pdf

http://www.sapgenie.com/abap/bapi/example.htm

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf

Regards,

Priyanka.