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

bapi

Former Member
0 Likes
726

hi,

in bapi how many types?difference between bapi and bdc?

5 REPLIES 5
Read only

Former Member
0 Likes
703

Batch Data Communication (BDC) is older. Business Application Programming Interface (BAPI) came later, about 10 years ago (you can see this already from the name, which contains marketese like "business" ).More important though, they are different technologies.

With BDC you build the "batch input transaction" yourself, with an ABAP program which creates the "batch input session" ("Batch-Input-Mappe" in german). You then take that session, like an object, and "run" it on a system (most of the time, this is done on a local system by the administrators, after it has been tested for correctness).

With BAPI, a system (local or remote) exposes its interface to you through some kind of Remote Function Call (RFC). Practically, it tells you: "What do you want to do? Insert that data into Materials Management? Here is the function and the the parameters you have to use for each record". You only work with the Interface - the exposed function. How this function works does not have to interest you. You don't have sessions to "run", you fire your function calls filled with data, one after another and you're done.

BAPI can be run remotely. With BDC, you probably have to call the administrators of the remote system and send them the session you created for them to run. With BDC you go through the whole transaction in one BDC session, with BAPI you may need more than one "BAPI calls" to do this.

With BAPI you don't fill obcure field names with values, you just fill the parameters. You can use a BAPI from inside your ABAP program to let a "business object" do some clearly defined work for you, then you can continue with your code doing other things. You don't do this with BDC. With BDC you write a dedicated program that creates the "session", which is then executed separately.

Regards.

Read only

Former Member
0 Likes
703

Hi,

BAPI is an remote enabled function module. it is a business object repository. it maintains all the business objects to encapsulate the business objects through the bapi interface.

we can transfer the data between two sap and non legacy sytem.

we can upgrade the bapi easily.

bdc also transfer ths data through the methods like call transaction and session method.

it isnot easy to upgrade.

satish.

Read only

Former Member
0 Likes
703

hi Ganapathi,

The below link gives u a complete idea of wat is BAPI and BDC..Helps u a lot.

BAPI: [http://abapprogramming.blogspot.com/search/label/BAPI%27S%20IN%20ABAP]

BDC: [http://abapprogramming.blogspot.com/search/label/ABAP%20BDC%20COMPLETE]

Reward if helpful.

Thankyou,

Regards.

Read only

i048168
Product and Topic Expert
Product and Topic Expert
0 Likes
703

Hi,

BAPI is mainly used for data communication between SAP and legacy system when legacy system is complemented with SAP. Many times people uses it for data migration also.

The difference between BDC and BAPI when used as a data migration tool is:

BDC have to go thru screen validations for the data where as BAPI uses its own internal logic.

There are limitations of BDC such as there is a problem if there is a Screen variant, upgradation problems etc.

Regards,

Vadi

Read only

Former Member
0 Likes
703

Hi Ganapathi

I am sending you some document.

Pls go thru it.

Pls reward pts if help.

Deepanker

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.

Pls reward pts if help.