Fiori Controller Extension - Validation - Sap-fiori-extensions Typing CST Test
Loading…
Fiori Controller Extension - Validation — Sap-fiori-extensions Code
Custom controller logic to validate a Purchase Order before submission.
sap.ui.controller("mycompany.ext.POExtension", {
onBeforeSave: function(oEvent) {
var amount = this.getView().byId("TotalAmount").getValue();
if (amount > 10000) {
sap.m.MessageToast.show("PO requires manager approval!");
oEvent.preventDefault();
}
}
});Sap-fiori-extensions Language Guide
SAP Fiori Extensions allow developers to enhance, customize, or extend standard SAP Fiori applications. They enable modifications without altering core SAP code, using tools like SAPUI5, OData services, and SAP’s extensibility framework.
Primary Use Cases
- ▸Adding custom fields or business logic to standard apps
- ▸Enhancing OData services to expose additional data
- ▸Implementing custom UI sections, buttons, or forms
- ▸Integrating Fiori apps with third-party systems
- ▸Building new Fiori apps using SAPUI5 and existing services
Notable Features
- ▸Upgrade-safe extensibility framework
- ▸SAPUI5-based UI modification
- ▸OData service extension capabilities
- ▸Adaptation projects for low-code customizations
- ▸Integration with SAP Business Application Studio and Web IDE
Origin & Creator
Developed by SAP SE as part of the SAP Fiori UX framework to provide safe, modular customization options for enterprise apps.
Industrial Note
Fiori Extensions are critical where SAP standard apps must be adapted to comply with local regulations, industry-specific workflows, or enterprise-specific UI requirements.
Quick Explain
- ▸Fiori Extensions enable tailored user experiences while keeping SAP standard apps upgrade-safe.
- ▸They support UI-level, OData-level, and backend-level enhancements.
- ▸Extensions can add fields, actions, business logic, and new UI elements.
- ▸Use SAPUI5 controls and extension hooks for customized layouts.
- ▸Widely used in finance, logistics, HR, supply chain, and manufacturing workflows.
Core Features
- ▸UI Adaptation at runtime (RTA)
- ▸Controller extension hooks
- ▸Custom fields and logic (CFL) framework
- ▸OData service redefinition and extension
- ▸Full SAPUI5 app creation and extension support
Learning Path
- ▸Learn basic SAP Fiori navigation
- ▸Understand SAPUI5 components and MVC
- ▸Study extension points and app extensibility
- ▸Practice OData backend extensions
- ▸Build custom apps and deploy on FLP
Practical Examples
- ▸Adding a custom field to a sales order app
- ▸Extending OData service to show plant-specific data
- ▸Injecting custom actions into Fiori tables
- ▸Replacing standard UI sections with custom fragments
- ▸Custom Fiori tiles hooked into extended apps
Comparisons
- ▸Fiori Extensions vs Custom Fiori Apps - faster & upgrade-safe
- ▸Fiori Extensions vs ABAP GUI enhancements - modern UX
- ▸Fiori Extensions vs Full-stack BTP Apps - simpler for S/4HANA data
- ▸Frontend vs Backend extensions - UI vs business logic focus
- ▸RTA vs Pro-code extension - low-code vs full flexibility
Strengths
- ▸No modification of SAP core ensures safe upgrades
- ▸Supports both low-code and pro-code development
- ▸Consistent SAP Fiori design guidelines
- ▸Seamless integration with SAP S/4HANA and BTP
- ▸Scalable from small tweaks to full app extensions
Limitations
- ▸Complex extensions require strong SAPUI5 and OData knowledge
- ▸Not all apps offer full extension hooks
- ▸App redesign may be limited by Fiori floorplans
- ▸Backend extensions require ABAP and OData expertise
- ▸Performance issues if OData services are poorly extended
When NOT to Use
- ▸For heavy backend logic without UI changes
- ▸When standard SAP app already meets all requirements
- ▸If extension point is not available in the target app
- ▸For extremely custom UIs not fitting Fiori guidelines
- ▸When backend system restricts OData extension
Cheat Sheet
- ▸RTA - quick UI changes
- ▸CFL - Custom fields framework
- ▸Manifest.json - extension metadata
- ▸Controller hooks - logic overrides
- ▸CDS - backend data modelling
FAQ
- ▸Can all Fiori apps be extended? -> Most, but not all.
- ▸Do extensions survive upgrades? -> Yes, if made correctly.
- ▸Is backend knowledge required? -> For advanced cases, yes.
- ▸Can we add new buttons? -> Yes, via extension points.
- ▸Can non-SAP systems integrate? -> Yes, via REST/OData.
30-Day Skill Plan
- ▸Week 1: SAPUI5 basics + Fiori design
- ▸Week 2: UI extensions (views/fragments)
- ▸Week 3: Controller hooks + custom logic
- ▸Week 4: OData service extension
- ▸Week 5: End-to-end extension project
Final Summary
- ▸SAP Fiori Extensions provide upgrade-safe customization for enterprise apps.
- ▸Developers can tailor UI, logic, and OData services.
- ▸Supports both low-code and pro-code development.
- ▸Seamlessly integrates with S/4HANA and SAP BTP.
- ▸Critical for personalized, efficient enterprise UX.
Project Structure
- ▸SAPUI5 component structure
- ▸Manifest.json for extension metadata
- ▸Controller and view extension files
- ▸OData redefinition artifacts
- ▸Transportable packages for deployment
Monetization
- ▸Enterprise Fiori customization consulting
- ▸Extension projects for S/4HANA clients
- ▸Template-based extension accelerators
- ▸BTP-based Fiori extension apps
- ▸Mobile Fiori app enhancements
Productivity Tips
- ▸Start with low-code RTA when possible
- ▸Use UI5 extension points wisely
- ▸Reduce backend round trips
- ▸Document extension metadata
- ▸Test extension behavior after every upgrade
Basic Concepts
- ▸SAP Fiori design principles
- ▸SAPUI5 component and controller structure
- ▸OData service architecture
- ▸Extension points and hooks
- ▸CDS views and ABAP backend enhancement concepts