Business Technology Platform

Dynamic Cross-App Navigation in Fiori Elements: Navigate to Different Apps from the Same Column

In many Fiori Elements apps, a single column can contain different types of business objects — for example, a Reference Document field showing Purchase Orders, Contracts, or Sales Orders. Standard annotations only support static intent-based navigation, which means all rows navigate to the same app. In this blog, we show how to extend the Object Page with a controller extension, access the inner SmartToggle → Link, and enable dynamic cross-app navigation so each row opens the correct target app.

read more

Extending Legacy SAP Fiori Apps: A Case Study with Clear Incoming Payments (F0773)

Extending modern SAP Fiori apps is usually straightforward with extension points. But when working with classical Fiori apps built on libraries, things get tricky. These apps often lack Component.js and extension points, making reuse and customization painful. This blog shares how to extend such legacy apps by replacing fragments and views.

read more

Extension Projects in BAS: Handling Legacy SAP Fiori Apps

While Adaptation Projects are the recommended way to extend modern Fiori apps, some legacy apps built with synchronous views—like Clear Incoming Payments (F0773)—still require the classic Extension Project approach. This blog explains why, how BAS detects these apps, and step-by-step guidance to create extensions safely.

read more

Refreshing Dynamic HTML Content in SAPUI5: Handling Updates and Rerendering Issues

Refreshing dynamic HTML content in SAPUI5 can be tricky, especially when using the HTML control to embed iframes or external content. Deprecated methods like rerender() often fail, leaving scripts unexecuted or DOM elements stale. A reliable solution is to toggle visibility before and after setContent(), forcing SAPUI5 to fully redraw the control. This approach ensures updated content loads correctly, with event handlers and scripts functioning as expected.

read more

Embedding External HTML Content with JavaScript in SAP Fiori Launchpad (CSP Challenges and Solutions)

When integrating external HTML content into a Fiori Launchpad (FLP) application, developers often face Content Security Policy (CSP) restrictions, blocked inline scripts, and the lack of direct support for SAPEVENT form actions. In our case, the API returned a full HTML page with embedded JavaScript and AJAX calls, which worked perfectly standalone but failed inside FLP due to security restrictions.

To solve this, we wrapped the HTML inside a BSP application and consumed it via an iframe in SAPUI5. Instead of relying on inline execution or custom URI schemes, we accessed the iframe’s DOM after load and attached an event listener directly to the form element. This allowed us to intercept the POST action, process the payload, and securely hand over data to the SAP backend.

This approach provides a clean and CSP-compliant integration pattern for scenarios where external or dynamically generated HTML must coexist inside SAP Fiori apps.

read more
Simplifying SAP Access with Gen AI: Built on Copilot Studio, Integrated via SAP BTP & Azure APIM, Delivered in Teams & Copilot

Simplifying SAP Access with Gen AI: Built on Copilot Studio, Integrated via SAP BTP & Azure APIM, Delivered in Teams & Copilot

Accessing business-critical data from SAP traditionally involves navigating complex systems and user interfaces. But what if your team could simply ask for what they need — right from Microsoft Teams or Microsoft Copilot? In this post, I’ll walk through how I built a...

read more