There are a lot of new and very interesting and hyped new technologies in the SAP world: HANA, mobile, cloud, NetWeaver Gateway, SAP UI5 and some more. That makes life very exciting for developers and geeks. I also like to use and test new technologies just for the sake of technology. And there is BOPF, an ABAP development framework which is used inside the SAP development teams since years (e.g. SAP Transportation Management is based on BOPF). It really makes custom development faster, more stable and the applications developed with BOPF have a similar architecture. BOPF is part of the Business Suite Foundation and since this spring general available for customers. BOPF is a framework which supports developing ABAP applications. This might sound a bit boring compared to the new technologies mentioned before. In this blog I want to explain why BOPF is a MUST for every ABAP developer who ever works in custom development projects.
When I started in my first big ABAP based custom development project a couple of years ago, we started to build up our own object oriented ABAP development framework. We used a common three layer architecture and built for some extend a generic database layer. This was quite a lot of work, but it made it easy for the developers to use our database layer. Only a few developers knew exactly how it works. All the others just used the provided interfaces to access it. We had a central transaction manager which was responsible for committing the data and a common database lock handling. We also used common design patterns for the rest of the framework. There I realized how important it is to have a framework in big projects. New developers could focus on implementing new business functionality and because we had our common patterns it was quite easy for them to switch from one business object to another. But I have to admit, that it was quite hard work to implement and maintain the framework.
With BOPF there is no need to design and implement such a framework on your own. You can just use BOPF and it brings even more time saving features for the developers. In BOPF you start to model your business objects in a declarative manner. You decide which entities a business object has, which actions can be executed on the entity and how this entity is associated to other entities of the same or entities of other business objects. The BOPF framework itself is implemented in a very generic way. The framework interprets the defined meta model and provides methods to interact with the business objects.
After modelling your business objects, including data structures, keys, associations and actions BOPF supports you generating the needed DDIC objects and also interfaces for constants. As you also define the lock behavior of each entity, you can already test your business objects using the BOPF Test UI. The declarative way of modelling the business object has also a big advantage: BOPF generates a visualization of the defined model where you can easily see how the entities relate to each other. This visualization can also be used as a base for discussions between the functional architects and developers. So it’s easier for the functional architects to understand how the system works.
Example of BOPF model visualization
Furthermore with FBI (Floor Plan BOPF Integration) there is an easy and fast way to implement UIs for BOPF objects. This is an integration layer between BOPF and SAP Floor Plan Manager (FPM). You can define your UI elements based on your business model and the defined UI is from the beginning able to read and change data.
Of course, it needs some time to be able to work with BOPF and to fully understand it. But this is a onetime effort. Afterwards you will deliver your custom development projects much faster as today. And you do not need to care about transaction handling and lock handling, because the framework takes care about all this. As it is used since years within SAP development, the framework is mature and stable. If you run into problems with the framework you can rely on your SAP support you have.
If BOPF becomes common knowledge in the ABAP world, is makes it easy for developers to start in a new project. The developers can focus on the business functions and do not need to do a deep dive into the underlying development framework and architecture.
With BOPF your team should have object oriented programming skills. Which is still a problem in the SAP world. But if you have a look on all the new technologies pushed by SAP, there is now future as an ABAP developer without these skills.
If you are going to EMEA TechEd in Amsterdam, join Oliver Jägle’s session CD219, on November 6th:
He will tell his experience with BOPF in a custom development project.