Skip to Content

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:

http://erlebe-software.de/files/2014/09/090714_1729_BOPFAnpassu1.png

The consistency of developed business objects can be ensured via a Check function:

http://erlebe-software.de/files/2014/09/090714_1729_BOPFAnpassu2.png

Using a Check & Correct function, automated adjustments can be made to the business object model  to transform developed business objects into a consistent state:

http://erlebe-software.de/files/2014/09/090714_1729_BOPFAnpassu3.png

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:

http://erlebe-software.de/files/2014/09/090714_1729_BOPFAnpassu4.png

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:

http://erlebe-software.de/files/2014/09/090714_1729_BOPFAnpassu5.png

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.

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

  1. Oliver Jaegle

    Hi Aiko,

    thanks for sharing the information about the capabilities of the modeling environment and your company.

    However, as we’re on a techie-community: Would you be so kind to share with us how you implemented the custom enhancements to the check / check and correct? You only wrote you did neither use a modification nor an enhancement.

    Thanks and cheers,

    Oliver

    (0) 
    1. Aiko Schmale Post author

      Hi Oliver,

      sorry for the very late response. You’re right. Currently I have very limited time. But this will change within the next 2-3 weeks. Then I’ll write another post and explain the how in detail.

      Cheers

      Aiko

      (0) 

Leave a Reply