Designing the BAPI 

After the scenario and the business object types and BAPIs used in it have been identified in the analysis, the BAPI signature is defined conceptionally within the design phase. The content should be described and the parameter names and the parameter structure must be defined.

Because BAPIs are business interfaces and not technical interfaces, when you develop a BAPI, you must fulfil the central requirement that:
A user must be able to implement a BAPI call correctly in an external application, using only their knowledge of the application and the BAPI documentation. Users are not expected to have any knowledge of R/3, so that they can view the R/3 System as a "black box".

In this phase you also have to decide from the BAPI's functions whether the BAPI is an instance method or a class method and whether it can be implemented as a Standardized BAPI.


Instance methods refer to a specific instance of a business object type, for example, the BAPI SalesOrder.GetDetail retrieves the details of precisely one sales order. These methods are defined as instance-dependent in the BOR.
Class methods do not refer to a specific instance of a business object type, for example, the BAPI SalesOrder.GetList supplies a list of all the existing sales orders that match specific criteria. Standardized create methods also belong to class methods. A create method creates a new instance, for example, the BAPI SalesOrder.Create creates a new sales order in the R/3 System. These methods are defined as instance-independent in the BOR.

The specific instances of a business object type are identified by their key fields , which is why they play a special role in this context. In the design phase, the keys of instance-dependent BAPIs should be identified as special parameters. For more details see Defining the Interface.

When designing the BAPI signature you should keep in mind:

  1. The design of the method (BAPI) and the parameters must comply with certain conventions See also Conventions.
  2. There are a range of standard methods and parameters that provide basic functions. If the BAPIs and their parameters fall into this category, they must be structured according to specified rules. For an overview see Standardized BAPIs and Standardized Parameters.
  3. So that the signature is clearly structured and easy to use, you should follow the Design Recommendations.