cancel
Showing results for 
Search instead for 
Did you mean: 

Difference between RFC & BAPI

Former Member
0 Kudos

HI friends,

what is the Difference between RFC & BAPI?

Thanks in Advance

Dheeraj

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hi deeraj

Please reward points if you feel this answer helpful for you

The simple difference is What is the difference between a BAPI and an RFC?BAPI stands for Business Application Programming Interface. It is a library of functions that are released to the public as an interface into an existing SAP system from an external system. RFC is the protocol used to call functions in an R/3 system by a caller external to R/3 or to call programs external to R/3 from an R/3 system. Functions can only be called via RFC, if they are tagged as RFC functions in the SAP development workbench.

Thanks & Regards

Rack29

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi Dhreej,

Please ignor my earlier solution.

RCF: Call of a function module that runs in a different system (destination) from the calling program. Connections are possible between different AS ABAP and between an AS ABAP and a non-SAP system. In non-SAP systems, instead of function modules, special programmed functions are called, whose interface simulates a function module. We distinguish between synchronous, asynchronous, and transactional function calls. The called system is accessed via the RFC interface. (SM59 transation to define RFCs)

BAPI: A standardized programming interface that facilitates external access to business processes and data in the SAP System.You define Business Application Programming Interfaces (BAPIs) in the Business Object Repository (BOR) as methods of SAP business objects or SAP interface types.

BAPIs offer an object-oriented view of business components in the SAP system. They are implemented and stored as RFC-enabled function modules in the Function Builder of the ABAP Workbench (BAPI transaction for bapi explorer).

Reward points if useful.

Regards

Sasikanth.Ch

Former Member
0 Kudos

Hello,

I'm seeking information about BAPI development.

I would like to know how SAP deals with licensing for BAPI code accessing SAP transactions.

Thanks

Jean

Former Member
0 Kudos

Hi dheeraj madan

BAPI'S has its own interface for entering data into SAP.

BAPI'S use RFC'S as Communication channel to Non sap

( i.e RFC'S are used as a communication Channel) .

so all BAPI'S use RFC as an Communication channel where as all RFC'S are not used for BAPIS.

All BAPI'S are RFC'S

but all RFC'S are not BAPI's.

Hope you got it.

Please reward points if found helpful.

Thanks and regards,

Rajeshwar.

Former Member
0 Kudos
Former Member
0 Kudos

Hi Dhreej,

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.

Regards

Sasikanth.Ch