cancel
Showing results for 
Search instead for 
Did you mean: 

RFC or BAPI ?

Former Member
0 Kudos

Hi,

I have to use RFC adapter on the receiver side and i have custom RFC's. I want to know whether i can proceed with the same RFC's or do i need to go for BAPI'S.

what is the advantage i have with Bapis compared to RFCs and how to convert RFC's to BAPI's.

help would be greatly appreciated and rewarded.

Thanks in advance

srini

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

the question is answered

prabhu_s2
Active Contributor
0 Kudos

12) 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.

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.

RFC is the protocol used by SAP for remote communication, that is, for communications between remote independent systems.RFC is used for communications between two independent SAP systems, or for communications between an SAP system and a non-SAP system, such as an external application. It can also be used for communications between modules on the same system.Using the RFC interfaces you can extend the functionality of R/3 applications from an external program.

An R/3 system also contains Business Application Programming Interfaces (also called Business APIs, or BAPIs), which provide a programming interface to business objects. BAPIs are a set of methods for working with and manipulating SAP business objects.Internally, BAPIs are implemented as function modules stored in the R/3 Function Builder. Each BAPI has an equivalent internally-named function module. However, you should use the BAPI and not the function module behind it, because the BAPI provides a stable, object-oriented view of R/3 applications and data. The internal function modules or even the fact that the BAPIs are implemented as function modules are not guaranteed to remain the same in future releases of R/3.

prabhu_s2
Active Contributor
0 Kudos

RFC(Remote Function Call) is a protocol to transfer data between two systems.

BAPI is a function module which is RFC enabled......means BAPI is a function module which a second system can call via RFC conn to SAP system to get data from SAP system.

advantage of bapi is u will have std objects for creation of master records or for some transactional records in SAP system but not via RFC.

Former Member
0 Kudos

Hi srinivas,

You can go ahead with the RFC if it is remotely enabled.

obsolutely no need to go for BAPI in your case.

Thanks,

venu.