The SAP business objects stored in the Business Object Repository (BOR) encapsulate their data and processes. External access to the data and processes is only possible by means of specific methods - BAPIs (Business Application Program Interfaces).
The functions that are implemented in the SAP business CostCenter object type include, for example, listing all the available cost centers. The business object type CostCenter provides the BAPI GetList() for this purpose.
The BAPIs in the SAP Systems are currently implemented as function modules, which are created and managed in the Function Builder. Each function module underlying a BAPI:
Supports the Remote Function Call (RFC) protocol
Has been assigned as a method to a SAP business object type in the Business Object Repository
Is processed without returning any screen dialogs to the calling application Integration
The graphic below shows the relationship between an SAP business object type, its associated BAPIs and its function modules.
This architecture enables SAP to change the implementation of a BAPI without affecting external applications that are using the BAPI. For information on SAP policy for enhancing BAPIs, and SAP release strategy for BAPIs, see SAP Enhancements to Released BAPIs .
To use a BAPI method to access data in SAP business objects, an application program only needs to 'know' how to call the method. The following information is required:
The name of the BAPI
Details of the BAPI interface:
Import parameters, which contain data to be transferred from the calling program to the BAPI
Export parameters, which contain data to be transferred from the BAPI back to the calling program
Import/export (table) parameters for both importing and exporting data
Application programmers can work with SAP business objects and implement their BAPIs without needing to know or consider the underlying implementation and coding details for the object.