08-07-2006 12:02 AM
How does an RFC differs from a BAPI?
If I have an RFC , now How should i convert this into a BAPI?
Thanks
08-07-2006 12:08 AM
BAPI's are nothing but RFC's from a technical perspective(implemenation perspective).
In case of BAPI's, you have something called as a BOR (Business Object Repository), where in you have a business object and then you have methods to deal with that business object. For example, MATERIAL is a business object and then you have methods to CREATE / CHANGE etc etc.
Each of the implementations of the methods is nothing but a RFC. You can see the same in BAPI transaction, drill down into the methods and see the implementation underneath.
Regards,
Ravi
Message was edited by: Ravikumar Allampallam
08-07-2006 12:09 AM
Hi Rohini,
Go through the link,
http://help.sap.com/saphelp_47x200/helpdata/en/7e/5e12154a1611d1894c0000e829fbbd/content.htm
Regards,
Azaz Ali.
08-07-2006 12:11 AM
HI ROHINI,
Technically, not much at all. They are both remote enabled functions that can be accessed from outside of SAP (to be more technically correct, from outside of the ABAP stack).
From a usage/functional perspective however, BAPIs are a little bit more special from RFCs.
Bapis:
- are designed as the methods of business objects in the business object repository (accessable using transaction BAPI or SWO1)
- have non-technical parameter names (the technical field names in SAP are mapped)
- have a fixed interface and functionality across all SAP releases (this is probably the key point as it means you can develop integrations with them which do not need to be changed when you upgrade)
Generally, if you are trying to find a function for a particular requirement you should look for a BAPI first, then for a RFC function which has a released status (check the function attributes in SE37), and then just a normal RFC last.
The benefit of an RFC function with released status means that it also has a fixed interface which will not change with new SAP releases.
check all these links also
Hope that helps.
Regards,
Naveen
08-07-2006 2:59 AM
Hi,
What is the difference between a BAPI and an RFC?
> EXPERT RESPONSE
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. They are then called RFC function modules. BAPIs are complete sets of (BAPI) function modules that model a business application.
When you are familiar with web developments: RFC can be compared to HTTP and BAPIs are CGI applications.
In other words: A BAPI function is a function module that can be called remotely using the RFC technology.
Cheers
VJ
08-07-2006 3:56 AM
Hi,
Agreed with Vijayendra, RFC is a protocol (communicating protocol). It is a method for you to communicate (passing of data) when called upon by a program.
In se37, if you create a function module, beneath the bottom there is a tick box whether you want the FM to be able to called remotely.
However, just a little something to add, BAPI not only can use RFC to be called externally but using OO Objects too.
RFC are encapsulated in BAPI so external non SAP applications can call it.
Regards,
William Wilstroth
01-21-2016 10:34 AM