What is the difference between BAPI and RFC?
Answer Posted / 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 |
Post New Answer View All Answers
What is the significance of technical settings (specified while creating a table in the data dictionary) ?
How do you find the information on the current screen? : abap bdc
Create any functions? How to go about it?
Why do we use dynamic where conditions?
What are th control break events in abap?
How many main windows are allowed in sapscript?
Does sap handle multiple languages?
what is call back in alv?
Define database layer?
What does hide statement do?
SAP query how to use end users?
Can there be more than 1 main window in sap script?
What is the relationship existing between the various data elements? : abap data dictionary
Filter badi and multiple used badi? Will the sequence matter of the badi implementation in case of multiple used badi?
what precautions or prerequisites do you follow to update a record into database table and how