BDC vs BAPI
What is the main difference between BAPI and BDC?
|BAPI is used only when it is available for the particular transaction like Delivery Sales order.||BDC can be used for any transaction which have screen and fields.|
|BAPI has directly updated the database. So BAPI can't handle all the flow logic checking and enhancement put by programmer to facilitate the user requirement.||BDC run through the screen flow.|
Difference between BAPI and BDC:
BAPI is a higher end usage for tranfering the data from SAP to non-SAP and vice-versa. for ex: if we are using VB application, where in that we want to connect to SAP and retireve the data, and then change and update the data in SAP for that purpose we can use that.
Apart from that, we can also use it for Uploading/Downloading the data from SAP to Non-SAP like BDC, provided we have an existing BAPI for that.
BAPI function modules will also do all the checks required for data integrity like Transactions for BDC.
There is one more advantage using BAPI instead of BDC. When we go for upgradation, there might be pozzibility to change the screen elements for transactions depending on the requirement. In that case, our BDC pgm may or may not work (depending on the screen changes they have made). Unless and until we prepare new BDC we cant use the old BDC pgm. But in BAPI, SAP promises that they are going to keep the old BAPI and for new functionality they will provide an upgraded BAPI. Until we write a new BAPI pgm, we can use the exisitng BAPI pgm.
Read Here for More SAP ABAP Tutorials