Register Login

Difference between BAPI and Function Module

BAPI vs Normal Function Module

BAPI stands for Business API (Application Program Interface).

A BAPI is remotely enabled function module ie it can be invoked from remote programs like standalone JAVA programs, web interface etc. You can make your function module remotely enabled in attributes of Function module but A BAPI are standard SAP function modules provided by SAP for remote access. Also they are part of Businees Objest Repository(BOR).

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


  • 19 Jul 2017 12:59 pm Abhijeet Mudgal Helpful Answer
    • Each Bapi Object has Interface, Key Fields, Attributes, Methods and Events.
    • Bapi Function Modules can be attached to these Bapi objects. 
    • BAPIs are remote function modules can be also used in Non SAP environment like Java Applications.
    • Function module has a single bound functionality while a BAPI object can contain many functionalities.
  • 24 Sep 2012 5:03 pm Guest
    nice article , very helpful and reliable data