The Business Object Processing Framework (BOPF) provides a very comprehensive foundation to quickly and cost-effectively carry out new in-house developments with ABAP. It provides a uniform architecture and structure, and comes with standard built-in functionality (e.g. database access and buffering). At the same time it is flexible enough to be completely adapted to project requirements.
The use of a framework for in-house development doesn’t always come without controversy. From a developer’s perspective, it offers many advantages and saves time; but frequently only if the framework’s operational guidelines are fully adopted. A variation from the standard behavior of the framework is often either not possible or only at a high cost. In this article you will learn about the built-in BOPF features and how you can use the framework to meet your individual requirements.
BOPF Built-in Features
The BOPF development environment offers several features to create clean and consistent business objects. The names of DDIC elements such as structures, tables and ABAP classes can automatically be suggested upon request:
The consistency of developed business objects can be ensured via a Check function:
Using a Check & Correct function, automated adjustments can be made to the business object model to transform developed business objects into a consistent state:
These are only just three features with which BOPF supports the development process and can ensure consistent custom development.
Going Out of the Box
In one of our customer projects, an custom Data Access Class (DAC) was developed to “wrap” standard SAP functions using a custom business object for HR Personnel Master Data. Since the DAC supports read and write access, it is necessary that standard SAP tables are also locked while locking business objects. This is ensured by using a “Lock” class. The problem here is, if a consistency check is performed within the SAP standard, there is no default notification when using a DAC that the corresponding “Lock” class should also be used. The next section addresses how such a warning message can be raised.
Extension of consistency checks
BOPF being a framework, pre-specifies structure and processes, but is fortunately not a “closed box”. It provides many points where custom logic can be inserted to influence the standard flow of these processes. It is therefore possible to for example influence the behavior of the standard Check and Check & Correct methods. For this, neither an enhancement or a modification is necessary:
As a result of this adjustment, the developer is now informed that there is a suitable “Lock” class for the DAC. Ofcourse, a more elegant solution will be for the Check & Correct method to use the “Lock” class directly when it uses the Data Access Class. For this, BOPF also offers the possibility to incorporate this functionality into the SAP standard, without modification or enhancement:
This is just one of many use cases showing a handful of possiblities that BOPF has offered me to deviate from the standard paths provided by the framework. Do you have any further questions on the adaptation of the BOPF Framework? How do you go about your own adaptations? I look forward to hearing from you, exchanging ideas and sharing experiences on this topic with you.
This article is a translated version of the article Kein starrer Käfig – Wie sich das BOPF Framework an Ihre Anforderungen anpasst (in German). You can also find other related articles to BOPF and FBI (in German) on our blog Erlebe Software – Individuelle SAP Software.