What is the difference between BAPI and RFC?
Answers were Sorted based on User's Feedback
Answer / vijay
Bapi can't handle exceptions , the calling program has to
handle it whereas RFC fm can handle it.
every BAPI is a RFc whereas every RFC is not a BAPI.
Rfc enabled are basically for sap systems whereas BAPI are
for non sap systems like i want to acess data via java or vb.
Is This Answer Correct ? | 47 Yes | 8 No |
Answer / kalidas etienne solaimuthu
BAPI is nothing but a method of SAP Business Objects that has the data and the business process in the R/3 system.
RFC is an enables function module that can be used to implement the BAPI as a method, when enabling the link to the external application using the ALE-Application Enabling Link.
Please correct me if I am wrong.
Is This Answer Correct ? | 20 Yes | 3 No |
Answer / atanu
Bapis are RFC enabled function module stored in BOR
(Business Object Repository) used for access datas from
other system. SAP defined BAPI are easy to use by another
system such as JAVA VB etc.
Is This Answer Correct ? | 24 Yes | 12 No |
Answer / abc
We can develope RFC & BAPI also.
One more difference between RFC & BAPI is:
Through RFC, there is direct System Call; whereas there is
no direct system calls in case of BAPI.
Is This Answer Correct ? | 16 Yes | 8 No |
really bad, without knowing answers perfectly some of the persons giving answers.
Is This Answer Correct ? | 3 Yes | 0 No |
Answer / firdoos
I like to describe BAPIs as "Dialog without dialog". What does this mean?
BAPIs do the same validations like in the corresponding dialog transaction, e.g. BAPI_USER_CREATE1 and SU01.
Underneath a BAPI you may find RFC-enabled function modules which may also provide the BAPI functionality (e.g. create a SAP user) yet they do not care much about validations.
Example:
BAPI_USER_CREATE1 eventually uses fm SUSR_BAPI_USER_CREATE to create a SAP user.
The function module may allow you to create the SAP user with a wrong title whereas the BAPI won't. The wrong title will cause problems in the dialog transaction (SU01).
Another important aspect is that BAPIs never raise exceptions but return the AEX-messages in a RETURN parameter (e.g. of type BAPIRET2).
Last but not least a BAPI should never do the COMMIT WORK itself but you have to do it after a successful BAPI call (e.g. by calling BAPI_TRANSACTION_COMMIT or BAPI_TRANSACTION_ROLLBACK).
Is This Answer Correct ? | 1 Yes | 0 No |
Answer / kishan.nareddy
i)Every BAPI is an RFC but every RFC can not be a BAPI
untill is defined as a method in Business Object Repository.
ii)RFC has Exceptions.Bcz they are for SAP systems.Where as
BAPI has no Exceptions.Bcz they are for Non SAP Systems.
Is This Answer Correct ? | 5 Yes | 5 No |
Answer / raja narayanan
In BAPI you can write Macro Coding.
In BAPI you have methods, Interface, events, attributes and key fields. So basically it is based on OOPS concept.
In BAPI you have delegation which we can use for inheritance purpose.
In RFC can be called both SAP and Non-SAP system, so we can't say that difference for a BAPI, because even BAPI can be called both SAP and Non-SAP system.
In RFC we have different types like RFC, ARFC, QRFC, TRFC.
RFC's can handle exceptions whereas BAPI's has to handle exception's via return parameters.
Is This Answer Correct ? | 5 Yes | 5 No |
Answer / kishore
Bapi:- Bapi is a Remote enable function module and using
API technology,the business objects are held in BOR and
Encapsulated into DATA and PROCESS,By Accessing these data
and process for an external system using bapi.
bapi can not have any exception handling,bapi using RETURN
parameter to handle the messages.
RFC:- remote functional call it is a normal function module,
RFC can have messasge handling through Exception handling
Is This Answer Correct ? | 5 Yes | 5 No |
Answer / pradipta kumar mishra
The main and basic difference between BAPIs and RFC is the
business object.Both are remote-enabled calls.But business
object differentiates between them.To know more you can use
sdn.sap.com.
Is This Answer Correct ? | 15 Yes | 24 No |
what happend if a select statement inside aloop....
difference between primary index and secondary index.when we use secondary index in reports?
What is foreign key relationship? : abap hr
What is a collect statement?
3 types of buffering techniqes. 1.bufering not allowed 2.buffering swithed on 3.buffering not allowed but switced on what does it means?
how can be restore a project deleted in lsmw?
What is pf-status?
How to display dynamic logo's in Smartforms? i mean to say different logo's on different pages?
2 Answers Altimetrics, Cap Gemini,
How to display if the value entered contains records or not?
what is the difference between FOR ALL ENTRIES and SELECT * FROM ?
What happens if a function module runs in an update task? : abap modularization
What are the differences between table controls and step loops?