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 are the two methods for modifying sap standard tables?
Explain what are the various types of selection screen event?
Specify the types of data dictionary objects.
What are the uses of secondary indexes?
What are match codes? describe?
Explain pai and pbo.
what is defference between repository and non repository Object?
When to use logical database?
What is For-period and In-period
what is difference between user exit, customer exit and badi?
What is locking ?
What are conversion & interface programs in sap?
What are the basic functions of database utility?
Did you create any joins?
Can we control the sequence in which multiple implementations of a multiple use BADI are called? If yes, how?