Show TOC

Characteristics of BAPIsLocate this document in the navigation structure

Use

This section tells you what you should know about BAPIs before you start integrating BAPI calls into your application programs.

Naming Conventions

BAPIs are identified by the name of the business object type followed by the name of the BAPI. (BAPI names are in English and describe what the BAPI does to the business object). A period separates the two parts of the name.

Example

For example, the full name of the BAPI CheckAvailability() of the business object Material is Material.CheckAvailability() .

Standardized BAPIs and Parameters

There are some standardized BAPIs that can be implemented for most business object types. These BAPIs have specific functions, for example, the BAPI GetList(), retrieves a list of the instances of a business object type.

These BAPIs are implemented according to specified rules and have the same name for all business objects. The BAPI GetList() can be used for many business objects, for example, CompanyCode.GetList() and Material.GetList() . For more information about these BAPIs, see Standardized BAPIs .

As far as possible, the parameters of BAPIs are also standardized. Standardized Parameters that can be implemented and defined for BAPIs are used in the BAPI interface.

Database Consistency

Each BAPI that creates an instance of an object or updates the data of an object is responsible for database consistency. All database changes are carried out completely or not at all.

However, the COMMIT WORK command must not be executed by the BAPI itself; it must be executed by the calling program. For more information, see the Transaction Model for Developing BAPIs .

No Dialog Orientation

BAPIs do not return any screen dialogs from the SAP server system to the calling application.

Authorizations

To interact with an SAP System, users must have a certain set of authorizations. To execute a BAPI as part of your application program, the users of your application must have the appropriate authorizations set up in their SAP master records. The documentation provided with the BAPI contains information about the required authorizations.

Any attempts to execute a BAPI that fail as a result of insufficient authorization are reported back to the calling application.

Data Types and Data Display

BAPIs are programming interfaces for business applications. Neutral (internal) data types and data formats are therefore used almost exclusively in BAPI interfaces. There are some exceptions, for example:

  • Currency codes

  • Internal keys

  • Quantities

  • Specific fields in address structures

Specific fields in address structures For information about these exceptions see Internal and External Data Formats in the BAPI Programming Guide.

Conversion BAPIs are provided for the appropriate conversions between internal and external formats. For more information, see Service BAPIs for Help Functions .

BAPI parameters can use most of the data types supported by SAP. The data types are documented in the structure entries of each parameter in the ABAP Dictionary.

Processing Modes

When BAPIs are called directly, for example with the BAPI ActiveX Control, the SAP DCOM Component Connector, or by directly calling the underlying function module, they are processed in synchronous mode.

For more information about calling BAPIs in a distributed environment (ALE), see Programming Distributed Applications .

Business Object Attributes

The attributes of business objects are accessed through the BAPI interface itself. An example of a BAPI that retrieves such attributes is GetDetail() of the business object CompanyCode .