Getting an Overview of the Flexible Programming Model

After completing this lesson, you will be able to:

After completing this lesson, you will be able to:

  • Identify the main components of the flexible programming model

The Flexible Programming Model

In the previous units of this course, you have mostly used SAP Fiori tools to configure the features of SAP Fiori elements. Under the hood, these tools have added UI annotations and manifest.json settings to your app, but you haven't written any UI code so far. These tools are designed to cover most business scenarios you may come across.

At times, however, you may need more flexibility, introducing some custom code or custom controller logic. SAP Fiori elements supports this using the flexible programming model (FPM). It has been available starting with SAPUI5 version 1.94.

When extending your SAP Fiori elements apps with the flexible programming model, you may be sure that your extensions remain stable as SAP Fiori elements evolves.

You can use the flexible programming model explorer to interactively explore all the available FPM features.

The flexible programming model consists of three components:

  • Manifest-based extension points are "hooks" for the SAP Fiori elements framework. They are containers which you can use to implement your own UI, such as custom sections or custom pages.

  • Building blocks are reusable pieces of code provided by SAP Fiori elements, such as the table building block. You can use them in your own extension points.

  • Controller extensions are a set of methods you can use to override or extend the standard logic with your own custom code.


In this lesson, you have learned about the flexible programming model. It can be used to introduce custom logic or custom controls beyond the standard SAP Fiori elements features. Using the FPM ensures all additions remain safe and stable.

Log in to track your progress & complete quizzes