Getting an Overview of the Flexible Programming Model

Objective

After completing this lesson, you will be able to identify the main components of the flexible programming Model.

The Flexibility of the 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 through the flexibility built into its programming model. This flexibility has been available starting with SAPUI5 version 1.94.

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

You can use the SAP Fiori development portal to interactively explore all the available SAP Fiori elements features and capabilities, both standard and extension possibilities. With live editing, you can do the following:

  • Change annotations and instantly see how they alter the user interface.
  • Test different configuration combinations.
  • Discover how metadata drives UI behavior.
  • Explore safely in a sandbox environment, isolated from your own projects.

How to access the SAP Fiori development portal:

  1. Open the UI5 Demo Kit at https://sapui5.hana.ondemand.com/.
  2. In the top navigation, select Resources.
  3. In the Development Tools section, select SAP Fiori development portal.

    Note

    In some places, it may still appear under its former name, flexible programming model explorer.

The SAP Fiori development portal groups everything you need into four main areas, each supporting a different aspect of SAP Fiori app development.

  • Building Blocks: This section covers the core UI components—from the basic field used in most applications to advanced elements such as tables and charts. Each standard floorplan consists internally of building blocks. Every building block comes with built-in, enterprise-grade features you’d otherwise spend months building yourself.
  • Global Patterns: These are the behind-the-scenes essentials - non-visual building blocks that make your app production-ready: draft saving, in-app and cross-app navigation, and solid error handling. Use them to deliver the reliability users expect from SAP solutions.
  • Standard Floorplans: Need a proven layout quickly? This area offers ready-made page types for common scenarios (like List Report and Object Page). They’re based on years of UX research, giving you consistency and speed. You’ll also see where you can plug in extensions with SAP Fiori elements. If your app is close to a standard floorplan, extending it using extension points is the fastest way to the finish line.
  • Custom Pages: For unique requirements, this section explains how to assemble visual and non-visual building blocks to craft custom layouts without losing enterprise features or annotation-based advantages.

The extension capabilities for SAP Fiori elements for OData V4 applications include:

  • EXTENSION POINTS. They 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. They 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. They are methods that let you override or augment standard logic with custom code - for example, implementing event handlers, lifecycle hooks, validations, and navigation or edit-flow behavior. SAP Fiori elements provides the Extension API, which offers comprehensive capabilities for extending list report and object page applications. Use the Extension API as the sole, supported interface for extending list report and object page applications. Do not access or manipulate internal methods or controls directly, as they are not public APIs and can change without notice, which will break your application during future upgrades.

Summary

In this lesson, you have learned that the SAP Fiori elements programming model for OData V4 is flexible enough to add custom logic and UI controls beyond the standard features. By using the documented extension points and the Extension API provided in the SAP Fiori development portal, your extensions remain stable, upgrade-safe, and consistent with the framework.