1. SAP BAPIs provide developers with stable, reliable interfaces for accessing the functionality offered bySAP business objects.
2. BAPIs can reduce development cost by providing built in functionality through predefined methods of the SAP business objects. These methods can reduce programming time in development projects.
3. Maintenance costs can be reduced because the BAPIs are stable and documented structures representing SAP’s investment in the R/3 business object architecture.
Naming Standards:
1. Instance-independent BAPIs can be used without explicitly creating an instance n of the business object.
2. Instance-dependent BAPIs require explicit creation of the business object instance.
BAPI Life Cycle: Change Management
1.On the basis of SAP Release strategy and the strict rules for enhancing existing BAPIs, application developers can rely on the stability of BAPI interfaces.
2. Each enhancement to a released BAPI is carried out ensuring that the syntax and contents are downwardly compatible. This means that applications programmed with BAPIs in a particular R/3 Release are not affected by changes to this BAPI in later releases.
3. If changes that are not downwards compatible need to be made to an existing BAPI, a new interface, that is, a new additional BAPI is created. This BAPI has the same name of the existing BAPI to be replaced but with a number added at the end, for example, CustomerCode.GetDetail1.
4. The BAPI to be replaced is marked as expiring (obsolete) in the Release in which the successor BAPI is implemented, but will continue to be supported in the next two functional Releases.
5.The BOR organizes SAP objects in a hierarchical scheme within applications.
6. The object-oriented principle of inheritance is supported enabling hierarchies and subclassing.