You are on page 1of 2

Difference Between BAPI and RFC

Bapi is Bussiness API which are developed by Abaper's The Adaptive Remote Function Call (Adaptive RFC) is a technology that enables the Web Dynpro application developer to use the business functions encapsulated in Business APIs (BAPIs) even after a structure modification, without having to provide the new data using a second back end or a new structure with subsequent regeneration of the proxies. How to create: 1.expand your component 2.Right click on model select create model 3.choose adaptive RFC

What is the main difference between BAPI and RFC and difference between BAPI and BDC? BAPI is used only when it is available for the particular transaction like Delivery Sales order. but BDC can be used for any transaction which have screen and fields. BAPI is directly updated the database instead BDC run through the screen flow. So BAPI can't handle all the flow logic checking and enhancement put by programmer to faciliate the user requirement.

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.

Diff between RFC and BAPI:

bapi is rfc enabled function, which can be called remotely and achieve certain business function. BAPI's can't handle the exceptions, the calling program has to handle. But RFC's are handle the exceptions independently. RFC can have only one instance whereas BAPI can have many. A RFC is just a function module which you can call in an outside system as a functional call. Technically BAPI is a remote enabled Fm but BAPI is basically a method of a business object which is called as a method in an outside system. BADI AND BAPI: BAPI - Business Application - commonly a function module that is normally RFC enabled as well and acts as a method of a business object. For example, Sales Order as the business object with a method of create - the BAPI is BAPI_SALESORDER_CREATEFROMDAT2. A BADI is a Business Add-in - one of SAP's methods of implementing a user-exit or change to standard SAP code. BADI's are ABAP object based changes instead of the more common subroutines/function modules. BAPI - It is nothing, but a FM which is used to load the data into SAP system. The data may be from the Legacy system. BADI - They are the enhancement which can be applied to the standard SAP program as per the business requirement. BADI are the newer version of user exits which uses ABAP OOPs concept.

You might also like