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.

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 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 further information see the
Transaction Model for Developing BAPIs.No Dialog Orientation
BAPIs do not return any screen dialogs from the R/3 server system to the calling application.
Authorization
To interact with the R/3 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 R/3 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 authorizations 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:
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 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, via BAPI ActiveX Control, the R/3 DCOM Component Connector or by directly calling the underlying function module, BAPIs are processed in synchronous mode.
For 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.