cancel
Showing results for 
Search instead for 
Did you mean: 

BAPI & RFC

Former Member
0 Kudos

From XI perspective whether the RFC and BAPI settings are one and the same, or do we have a different flow.

Accepted Solutions (0)

Answers (4)

Answers (4)

former_member209575
Contributor
0 Kudos

Hi Pete,

can you explain RFC and BAPI???

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.

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.

BAPI 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.

It is not possible to connect SAP to Non-SAP systems to retrieve data using RFC alone. RFC can acces the SAP from outside only through BAPI and same is for vice versa access

BAPI's are specific methods for SAP business objects, which are stored in the Business Object Repository (BOR) of the SAP system and are used for carrying out particular business tasks.

In the SAP system, BAPIs are stored as RFC-capable function modules in the ABAP Workbench Function Builder. BAPIs have standard business interfaces, which enable external applications (with the help of SAP business objects) to access SAP processes, functions and data.

RFCs enable you to call and execute predefined functions in a remote system - or in the same system. They manage the communication process, parameter transfer, and error handling.

<b>

BAPI's do not have a implict COMMIT associated with them and so , in the receiver RFC adapter you need to provide the COMMIT HANDLING FOR BAPI CALLS. This option was avilable from SP 14.</b>

Prior to that you had to writter a warpper RFC and import it into XI and use this instead of the BAPI.

The RFC's conatin an Implicit commit so no such issue here

Regards

Pradeep

Message was edited by:

Pradeep P N

Former Member
0 Kudos

Hey,

BAPI is a set of interfaces to object-oriented programming methods that enable a programmer to <b>integrate third-party software</b> into the proprietary R/3 product from SAP. For specific business tasks such as uploading transactional data, BAPIs are implemented and stored in the R/3 system as remote function call (RFC) modules.

A Remote Function Call (RFC) is an application program interface to R/3 applications from SAP

Technically BAPI is also a RFC but with a custom code with a option of integrating third party s/w .

<b>Cheers,

*RAJ*

*REWARD POINTS IF FOUND USEFULL*</b>

Former Member
0 Kudos

Hi

For XI there is no difference between RFC and BAPI, We use the same RFC adapter for both.

In ABAP also..BAPI is created with the help of RFC's only.BAPI has a structure unlike RFC and it needs to be released to be integrated with the third party software.All BAPI's are RFC's but All RFC's are not BAPI's.

prateek
Active Contributor
0 Kudos

A BAPI is a function module that can be called remotely using the RFC technology. So the technical settings would be same excpt the one mentioned above

Regards,

Prateek

moorthy
Active Contributor
0 Kudos

Hi Pete,

Technical Settings are same like RFC destination i.e SM59 and also design is same in XI.

However there COMMIT property can be handled in different way in BAPI calls. Refre this help :http://help.sap.com/saphelp_nw70/helpdata/en/c8/e80440a832e369e10000000a155106/content.htm -->check in Advanced Mode options

Rgds,

Moorthy