2008 Jul 12 5:48 AM
Hi Experts,
What is the difference between BDC and BAPI
Regards,
Venkat
2008 Jul 12 5:52 AM
hi,
Plz check out this link.
http://www.karakas-online.de/forum/viewtopic.php?t=6083
Hope this will help.
Regards
Sumit Agrwal
2008 Jul 12 5:52 AM
2008 Jul 12 6:02 AM
Hi ,
One of the main difference between BDc and Bapi is :
If the transaction has a screen exit with extended tab page then the user has to upload the data using BDC but not with BAPI.
When u work with BDC you need to capture screens where as in BAPI, basically it is a function module and the user has to pass appropriate structures.
2008 Jul 12 6:02 AM
Hi,
There are lot. Few of them,
1. BAPI is replacement for BDC. In new versions of SAP for almost all transactions we have BAPI.
2. BDC is like u have to call some transaction/create the session for that transaction for updating the table.
BAPI is implemented as function module. U have to pass the data to this FM. It is always RFC enabled.
So u can call from other systems as well. Where as vis BDC it is not possible.
3. Error handling is much easier with BAPI as u will get all the errors with descriptions in return table. U may or may not get the complete error description in BDC.
4. BAPI will never do COMMIT on its own. U have to call FM BAPI_TRANSACTION_COMMIT to update the database.
BDC will automatically does commit.
5.Implementing BDC for tables control or Step-loops is always a nightmare. Where as with BAPI it is much simpler as u have to populate internal table and send it to FMs. No need to put complex logics to take care of these things.
6. For currency and quantity fields u have to populate the data into seperate variables and have to use it in BDC. This is not required in BAPI as we have predefined structures in FM interface.
Like this there are N number of advantages with BAPI over BDC.
If some one asked to do BDC program first search for any BAPI. If not available then only go for BDC.
Also BAPIs are not only used for replacement of BDC. There are many BAPIs which replaces select statements.
Thanks,
Vinod.
Edited by: Vinod Reddy Vemuru on Jul 12, 2008 10:35 AM
2008 Jul 12 6:21 AM
Hi venkat,
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
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.
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.
If Found Help Full Do Reward.
Regards.
Eshwar.