Please note that this page is related to the classic Business Object Processing Framework.
A different BOPF flavor, called CDS-based BOPF, is used within the ABAP Programming Model for SAP Fiori. More information can be found in the blog Evolution of the ABAP Programming Model.
New applications shall be implemented using the ABAP RESTful Application Programming Model (RAP).
What is BOPF?
The Business Object Processing Framework is an ABAP OO-based framework that provides a set of generic services and functionalities to speed up, standardize, and modularize your development. BOPF manages the entire life cycle of your business objects and covers all aspects of your business application development. Instead of expending effort for developing an application infrastructure, the developer can focus on the individual business logic. Using BOPF, you get the whole application infrastructure and integration of various components for free. This allows you to rapidly build applications on a stable and customer-proved infrastructure.
Who uses BOPF?
BOPF is not really a new framework. In fact, it is well established and broadly used in multiple SAP ByDesign and SAP Business Suite applications and products – for example, Transportation Management (TM), Environment, Health and Safety (EH&S), SAP Supplier Lifecycle Management, SAP Management of Change, SAP Quality Issue Management, to name but a few. Apart from its use in SAP internal development, BOPF is also used in customer development projects.
How can SAP customers use BOPF?
Due to increased interest, BOPF is also used in SAP customer development projects. It is released with SAP Business Suite EHP5 SP11, SAP Business Suite EHP6 SP05, and SAP Business Suite EHP7. Moreover, starting with the SAP NetWeaver 7.50 release, BOPF is available in the SAP NetWeaver standalone system - as part of the SAP BASIS layer.
What are the main components of the application infrastructure?
With BOPF, you have a framework at your disposal with which you can seamlessly integrate different components of business applications. You can use them out-of-the-box. The advantages of using BOPF are thus obvious.
When using BOPF you don’t have to care about the development of adapters or integration layers to consume the following components.
Figure: BOPF acts as a bridging unit between various components
User Interfaces and Consumption
|Dynpro||BOPF provides a standard interface for consumption by the classic Dynpro UI.|
|Web Dynpro/Floor Plan Manager (FPM)||The generation and configuration of complex user interfaces has never been as easy as it is today with the FPM. FPM is implemented as a Web Dynpro component and can be easily integrated with BOPF. BOPF provides configurable and codeless integration of FPM and enables you to seamlessly consume the services of BOPF Business Objects in a modification-free environment.|
Web Dynpro ABAP and Floorplan Manager
|SAPUI5||SAPUI5 is designed for building lightweight UIs for casual use.|
More: SAP UI Development
|Gateway (OData)||SAP NetWeaver Gateway is a technology that provides a convenient way to connect devices, environments, and platforms to SAP software based on market standards. The BOPF integration of the Gateway is based on REST and OData standards.|
More: SAP Gateway on SAP Help Portal
|Business Object Layer & GenIL||The Business Object Layer (BOL) provides a generic API for accessing business data.|
The Generic Interaction Layer (GenIL) enables uniform access to business data using a stateless request/response format. BOPF provides adapters for BOL and GenIL integration.
More: SAP CRM
|Post Processing Workflow||With BOPF BOs, you can integrate business processes using the Post Processing Workflow.|
More: Post Processing Framework (PPF) on SAP Help Portal
|Archive Development Kit (ADK)||With ADK you archive not only table records but also business instances. Using BOPF you can select which BO instances have to be archived and then trigger the archiving process for them.|
More: Archive Development Kit on the SAP Help Portal
|Change Documents||BOPF uses the SAP NetWeaver Change Documents solution for recording changes on business object data.|
More: Change Documents on the SAP Help Portal
|Application Logging||Application logging is used to record particular events during the execution of an application so that you can reconstruct them later, if necessary.|
In BOPF, application logging is integrated with the help of the Application Log BO. This business object supports you when reading or writing application-specific log messages.
More: Application Log - Guidelines for Developers on the SAP Help Portal
|Enterprise Search||The search service of SAP NetWeaver provides a framework for enterprise-wide indexing of and searching for structured (business objects) and unstructured data (documents).|
BOPF design time provides you with a convenient way for enabling BOPF business objects for Enterprise Search. Using an existing BO model, you have the option of importing the BO data and, in this way, creating a corresponding Enterprise Search model.
More: Enterprise Search on SAP Help Portal
|Business Rules Framework plus (BRF+)||BRF+ is a rule engine. It provides a comprehensive API and user interface for defining and processing business rules and expressions.|
With a BOPF-specific expression type, it is possible to create BO data retrieval expressions in BRF+. These expressions make data of BOs available in BRF+ environments that support any kind of rule processing.
More: Business Rule Framework plus (BRFplus)
What are the elements of the programming model?
The business objects are the basic units of the BOPF-based programming model. Business applications or processes operate on certain business objects. A business object is represented as a hierarchical tree of nodes. A single node includes a set of semantically related business object data and the corresponding business logic. On the technical level, each node is implemented with a regular Dictionary table, where each node instance corresponds to a single table entry (table rows). Nodes, attributes, and alternative keys set up the data part of a business object. Again from a technical viewpoint, attributes form the columns of the table. A node serves as an anchor point for connecting the business logic of the business object.
For each node, several types of entities can be defined to form the specific business logic part of a business object.
|Node Entity||...is used...|
|Action||... to implement a service (operation or behavior) of a business object. An action is explicitly triggered by a service consumer, such as the user interface.
|Determination||... to provide functions that are automatically executed as soon as certain trigger conditions are fulfilled. A determination is triggered internally due to changes made to the instance of a business object.
|Validation||... to either validate whether a specific action can be executed on a specific node instance (action validations) or whether a set of node instances is consistent (consistency validations).
|Query||... to search for business object instances that meet certain search criteria.
||... to provide an authorization concept for BO nodes (for their data and for the operations on their data).
|Association||... to connect business object instances that are located on different nodes.
Figure: Business Object Metadata Model
What kind of development environment is available for BOPF?
BOPF offers tools support for SAP Internal Design Time Tools, BO Builder, BO Builder for eXperts, (Eclipse-Based) ABAP Development Tools for BOPF, BO Builder Test Environment (BOBT), BO-Specific Debugging, and Integrated BO Test Infrastructure. See the table below for additional details.
|SAP Internal Design Time Tools (BOBF)
||These are internal SAP tools and utilities that provide developers with a comprehensive feature set for building BO-centered applications for SAP Business Suite.
|BO Builder (BOB)
||This tool targets simple enhancement scenarios.
Customers can enhance SAP business objects and also create their own simple business objects in the customer namespace. The creation of business objects, nodes, actions, determinations, queries, or validations is extensively supported by wizard-driven tools and utilities.
BO Builder is available through SAP GUI and is released for customers with SAP Business Suite EHP5 upwards
|BO Builder for eXperts (BOBX)
||This tool targets experienced BOPF developers.
It also provides SAP Business Suite customers with a comprehensive feature set for building BO-centered applications so that they can use it for their own development projects.
BO Builder for eXperts is available through SAP GUI and is released for customers with SAP Business Suite EHP6 upward.
|(Eclipse-Based) ABAP Development Tools for BOPF||With SAP Business Suite EHP7 a new Eclipse-based client application
will be provided as part of an ABAP Development Tools installation. This set of tools runs on top of the Eclipse-based ABAP IDE and is aimed at supporting all kinds of BO-centric use cases: it allows both the creation of new BOPF-applications and the enhancement of existing ones.
|BO Builder Test Environment (BOBT)
||Starting from development environment, you can always test the current range of functions of each business object (or enhancement).
||Debugging on the business object entities level enables you to speed up the troubleshooting process:
You can set breakpoints for entities such as actions, determinations, and validations. Furthermore, you have the option of setting watchpoints for certain activities on the nodes (for example, to update a particular node attribute).
|Integrated BO Test Infrastructure||BOPF supports test automation and test-driven development. From the outset, you can apply ABAP unit tests to test isolated units of business objects, such as actions, validations, or determinations. In addition, with the scenario testing function, you can extend the tests to processes that consist of several steps.
How do I get started with BOPF?
Note: As a SAP customer, you can use the BO Builder (BOB), the BO Builder for eXperts (BOBX), or the Eclipse-based client for the development of your own business objects. Here, you will benefit from that interoperability is ensured between these development tools. So you can, for example, create new business objects in the BOB tool and then edit them in another tool on.
These blogs guides you through all the steps required to create from scratch your first business object and to implement a basic operation using the BOPF API.
- Navigating the BOPF: Part 1 - Getting Started
- Navigating the BOPF: Part 2 - Business Object Overview
- Navigating the BOPF: Part 3 - Working with the BOPF API
- Navigating the BOPF: Part 4 - Advanced BOPF API Features
- Navigating the BOPF: Part 5 - Enhancement Techniques
- Navigating the BOPF: Part 6 - Testing & UI Integration
- SAP TechEd 2013: Agile custom development with BOPF