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 RFC and BAPI

Former Member
0 Likes
1,043

HI all,

Can any one tell me the exact differnce between RFC and BAPI.

Thanks.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,012

hi Rose,

Check out this thread

regards,

santosh

10 REPLIES 10
Read only

p291102
Active Contributor
0 Likes
1,012

Hi,

Difference Between BAPI and 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.

Thanks,

Shankar

Read only

Former Member
0 Likes
1,012

RFC and BAPIs are remote enabled function modules. They are practicly the same. A BAPI is one step further as it usually is a self contained business function, such as "Create Purchase Order", or "Change Sales Document". BAPIs interface is very well defined and documented. BAPIs can be found in the BAPI browser via transaction BAPI. RFCs are just remote enabled function modules.

Read only

Former Member
0 Likes
1,012

Hi,

Check this thread

Regards

SUdheer

Read only

Former Member
0 Likes
1,013

hi Rose,

Check out this thread

regards,

santosh

Read only

Former Member
0 Likes
1,012

hi

You can follow this link for differnce b/w two,

http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm

BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.

BAPIs are called from the outside-in. That is, an external program

invokes a BAPI that gets data from SAP to display or updates data in

SAP. The BAPI concept does not include an event concept -- you cannot

tell SAP that when certain events happen to a "business object", to fire

a message or a file to an external system.

regards

Read only

Former Member
0 Likes
1,012

Hi,

RFC: This is the Rmote function calling, if that FM is remote enabled, means u r executing a FM frm other server which is located in remote server.

BAPI: These r the methods or procedures, which helps in communicating with other application softwares by passing some input parameters and get the result frm other applications as output parameters.

Read only

Former Member
0 Likes
1,012

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 only

Former Member
0 Likes
1,012

Hi,

BAPI are RFC enabled function modules. The difference between RFC and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. In this case u only specify the business object and its method from external system. in BAPI there is no direct system call. While RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.

Hope this helps.

Reward if helpful.

Regards,

Sipra

Read only

0 Likes
1,012

hi ,

what do you mean by direct system call.

Read only

Former Member
0 Likes
1,012

hi

good

RFC=->

RFC refers to Request for Comments. It is a series that contains the internet’s technical and organizational documents. It also includes in it the technical specifications and the policy documents also that are produced by the Internet Engineering Task Force (IETF). These are funded by the Internet Society and can only be done online.

BAPI->

BAPI refers to the Business Application Programming Interface. It enables the SAP functions across for the formal, stable and dialog –free interfacing. These can be used by the external programs applications that have been developed by the customers. These provide the clients with the view that is object-oriented and that can use the logic of business.

thanks

mrutyun^