Release 4.0 of SAP AG's R/3 system supports object-oriented programming via an interface defined in terms of objects and methods called BAPIs. For example if a material object provides a function to check availability, the corresponding SAP business object type "Material" might provide a BAPI called "Material.CheckAvailability".
The definitions of SAP business objects and their BAPIs are kept in an SAP business object repository. SAP provide classes and libraries to enable a programming team to build SAP applications that use business objects and BAPIs. Supported environments include COM and Java.
The Open BAPI Network (http://sap.com/solutions/technology/bapis/index.htm). gives background information and lists objects and BAPIs.