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

difference between BDC and BAPI

Former Member
0 Likes
1,705

hi experts

pls tell me the difference between BDC and BAPI

In bapi we have to enter mandatory fields or not

what happen when we are not entering mandatory fields and saving it to the database

thank in advance

4 REPLIES 4
Read only

varma_narayana
Active Contributor
0 Likes
1,334

Hi..

BDC will process a Transaction to Update the Data using Session or Call transaction Method.

BAPI will not process screens to update the data. It will update the Tables directly.

So it is always fast. And to Call a BAPI we must fill the Mandatory fields.

<b>Reward if Helpful.</b>

Read only

Former Member
0 Likes
1,334

Hi

For one, 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.

A BAPI is a method of a SAP Business Object. BAPI enables SAP and third party applications to interact and integrate

with each other at the Business Object / Process level.

Check this link to know more about BAPI.

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

http://sappoint.com/abap/

Batch Data Communication (BDC) is the oldest batch interfacing technique that SAP provided since the early versions of R/3. BDC is not a

typical integration tool, in the sense that, it can be only be used for uploading data into R/3 and so it is not bi-directional.

BDC works on the principle of simulating user input for transactional screen, via an ABAP program. Typically the input comes in the form

of a flat file. The ABAP program reads this file and formats the input data screen by screen into an internal table (BDCDATA). The

transaction is then started using this internal table as the input and executed in the background.

In ‘Call Transaction’, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling.

It can also be used for real-time interfaces and custom error handling & logging features. .

To know more about BDC,

check the link.

http://sappoint.com/abap/

Main differences are...

In case of bdc data transfer takes place from flat file into sap system ie the file existing in sap system to sap sytem

where is bapi's r remotly enabled function modules which are assigned to some business objects n used to transfer the data between different business partners who are using different systems other than sap.

not only that...

when you plan to upgrade your system version then bdc willnot support those upgradations where as bapi's will support.

Reward all helpfull answers

Regards

Pavan

Read only

Vijay
Active Contributor
0 Likes
1,334

Hi,

A BAPI is a method of a SAP Business Object. BAPI enables SAP and third party applications to interact and integrate

with each other at the Business Object / Process level.

Check this link to know more about BAPI.

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

http://sappoint.com/abap/

Batch Data Communication (BDC) is the oldest batch interfacing technique that SAP provided since the early versions of R/3. BDC is not a

typical integration tool, in the sense that, it can be only be used for uploading data into R/3 and so it is not bi-directional.

BDC works on the principle of simulating user input for transactional screen, via an ABAP program. Typically the input comes in the form

of a flat file. The ABAP program reads this file and formats the input data screen by screen into an internal table (BDCDATA). The

transaction is then started using this internal table as the input and executed in the background.

In ‘Call Transaction’, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling.

It can also be used for real-time interfaces and custom error handling & logging features. .

To know more about BDC,

check the link.

http://sappoint.com/abap/

Main differences are...

In case of bdc data transfer takes place from flat file into sap system ie the file existing in sap system to sap sytem

where is bapi's r remotly enabled function modules which are assigned to some business objects n used to transfer the data between different business partners who are using different systems other than sap.

not only that...

when you plan to upgrade your system version then bdc willnot support those upgradations where as bapi's will support.

Regards

vijay

<b>reward points if helpful</b>

Read only

Former Member
0 Likes
1,334

hi

<b>Batch Data Communication: Batch Input</b>

Batch input is typically used to transfer data from non-R/3 systems to R/3 systems or to transfer data between R/3 systems.

It is a data transfer technique that allows you to transfer datasets automatically to screens belonging to transactions, and thus to an SAP system. Batch input is controlled by a batch input session.

<b>Batch input session</b>

Groups a series of transaction calls together with input data and user actions . A batch input session can be used to execute a dialog transaction in batch input, where some or all the screens are processed by the session. Batch input sessions are stored in the database as database tables and can be used within a program as internal tables when accessing transactions.

<b>BAPI</b>

BAPIs are standardized programming interfaces (methods) enabling external applications to access business processes and data in the R/3 System.

BAPIs provide stable and standardized methods to achieve seamless integration between the R/3 System and external applications, legacy systems and add-ons.

BAPIs are defined in the BOR(Business object repository) as methods of SAP business object types that carry out specific business functions.

BAPIs are implemented as RFC-enabled function modules and are created in the Function Builder of the ABAP Workbench.

<b>Plz refer</b>

sapmaterial.com/bapi.html

sapmaterial.com/badi.html

<b>Hope this helps</b>

<b>reward points for useful ans</b>

regards

vivek