BAPI's - Business Application Programming Interfaces

BAPI's are FM to execute actions over the SAP Business Objects. As you may have read in the ABAP Business Objects section, they are in fact Methods of the Business Objects.

SAP Business Objects belong to the BOR, or Business Object Repository. They are encapsulated, so the only way to access their data and processes is with it's methods for that purpose - that is, the business object BAPI's.

BAPI's are implemented as Function Modules. Like every FM, they are maintained with the Function Builder (transaction SE37). As a condition, all BAPI's support the following:

  • Supports the RFC (Remote Function Call) protocol
  • Is a method of a Business Object of the Business Object Repository
  • Does not return screen dialogs to the calling program

This conditions ensure that BAPI's will execute correctly in different conditions, like background tasks and as RFC's.

Another characteristic of BAPI's is that because of its encapsulation, the internal processes are independent of the external applications. The only thing needed is to know how to call this methods, but not the process itself. In this conditions, SAP may modify BAPI's without affecting external applications.

Prerequisites to use BAPI's

The only things needed to use BAPI's is:

  • The BAPI's name
  • Interface Usage; that is, how import, export and tables parameters must be populated for correct usage

Finding BAPI's

There are many ways to find a particular BAPI. We will show you how to use the BAPI Explorer transaction:

BAPI Explorer

As you can see, on the left there is a tree to navigate BAPI's hierarchically or alphabetically.

Here we have selected a BAPI belonging to the SalesOrder BO: BAPI_SALESORDER_CREATEFROMDAT2.


Finally, by double-clicking on the Function Module name we get to the BAPI itself:


We could have found this BAPI from the SWO1 transaction. Let's see...

Find BAPI in SWO1

Double-Click on BUS2032...


If we click on the green square, we will be directed to the BAPI FM.