A Business Application Programming Interface (BAPI) is a precisely defined interface providing access to processes and data in business application systems such as R/3.
BAPIs of SAP Business Object Types
BAPIs are defined as API methods of SAP business object types. These business object types and their BAPIs are described and stored in the Business Object Repository (BOR). A BAPI is implemented as a function module, that is stored and described in the Function Builder.
BAPIs of SAP Interface Types
As of Release 4.5A BAPIs can also describe interfaces, implemented outside the R/3 System that can be called in external systems by R/3 Systems. These BAPIs are known as BAPIs used for outbound processing. The target system is determined for the BAPI call in the distribution model of Application Link Enabling (ALE).
BAPIs used for outbound processing are defined in the Business Object Repository (BOR) as API methods of SAP Interface Types. Functions implemented outside the R/3 System can be standardized and made available as BAPIs. For further information see BAPIs Used For Outbound Processing.
BAPIs can be called within the R/3 System from external application systems and other programs. BAPIs are the communication standard for business applications. BAPI interface technology forms the basis for the following developments:
- New R/3 components, for example, Advanced Planner and Optimizer (APO) and Business Information Warehouse (BW).
- Non-SAP software
- Legacy systems
- Isolating components within the R/3 System in the context of Business Framework
- Distributed R/3 scenarios with asynchronous connections using Application Link Enabling (ALE)
- Connecting R/3 Systems to the Internet using Internet Application Components (IACs)
- PC programs as frontends to the R/3 System, for example, Visual Basic (Microsoft) or Visual Age for Java (IBM).
- Workflow applications that extend beyond system boundaries
- Customers' and partners' own developments
The graphic below shows how BAPI interfaces enable different types of applications to be linked together.
BAPIs - Interfaces to the R/3 System
For further background information on BAPIs refer to the document BAPI User Guide.