‎2007 Mar 08 10:11 AM
‎2007 Mar 08 10:20 AM
Hi,
Difference between RFC and BAPI
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.
check these links
http://searchsap.techtarget.com/ateQuestionNResponse/0,289625,sid21_cid558752_tax293481,00.html
http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm
http://www.sap-img.com/fu033.htm
http://www.sap-img.com/abap/ale-bapi.htm
Remote Function Call:
RFC is an SAP interface protocol. Based on CPI-C, it considerably simplifies the programming of communication processes between systems.
RFCs enable you to call and execute predefined functions in a remote system - or even in the same system.
RFCs manage the communication process, parameter transfer and error handling.
http://help.sap.com/saphelp_47x200/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm.
Regards,
Priyanka.
‎2007 Mar 08 10:14 AM
Hello,
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
Vasanth
‎2007 Mar 08 10:17 AM
hi
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.
Compared to using the GUI interfaces, using RFC interfaces requires more knowledge of the business logic of the R/3 applications with which you are integrating the external application.
Types of RFC Interfaces
There are many levels at which external applications can integrate with R/3 through the RFC channel (interface). SAP Automation tools support several of these methods:
Making Remote Function Calls (RFCs) directly to invoke SAP function modules
External programs using RFCs can either make or receive remote function calls to or from an SAP system. Therefore, using RFCs an external program can act as either the client or the server to an SAP system. Conversely, the SAP system can take the role of either the client or the server to the external application.
You can use a combination of SAP Automation tools to incorporate remote function calls into your programming environment. SAP Automation offers several products that make programming RFCs easier. It offers products for programming of RFCs from languages such as C, C++, Java, or COM-compliant languages, such as Visual Basic and applications such as Excel.
SAP Automation also includes tools that help you browse the metadata of RFC function modules, meaning that they allow you to view the syntax of RFC functions, their parameters and fields.
Using RFCs requires knowledge of ABAP programming, because calling a remote function in R/3 is calling an ABAP function. You may also need to extend the existing set of available RFC with your own ABAP code.
Using Business APIs (BAPIs) to access and work with SAP business objects
R/3 systems contain a set of business objects, which are an object-oriented representation of real-world business objects. Examples of business objects are a purchase requisition, a G/L account, or an employee.
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.
The advantage of using BAPIs over using RFCs is that using BAPIs requires no ABAP programming knowledge. You use BAPIs from standard programming languages such as C++ and Java.
Using BAPIs also offers the most stability to your application, because BAPIs stay consistent over different R/3 releases.
However, business objects and their BAPIs are created by SAP, and you can only use BAPIs that were implemented by SAP. If a certain BAPI for performing a certain application task was not implemented yet, you must seek alternative programming methods.
regards,
madhu
‎2007 Mar 08 10:20 AM
Hi,
Difference between RFC and BAPI
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.
check these links
http://searchsap.techtarget.com/ateQuestionNResponse/0,289625,sid21_cid558752_tax293481,00.html
http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm
http://www.sap-img.com/fu033.htm
http://www.sap-img.com/abap/ale-bapi.htm
Remote Function Call:
RFC is an SAP interface protocol. Based on CPI-C, it considerably simplifies the programming of communication processes between systems.
RFCs enable you to call and execute predefined functions in a remote system - or even in the same system.
RFCs manage the communication process, parameter transfer and error handling.
http://help.sap.com/saphelp_47x200/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm.
Regards,
Priyanka.