1. SAP Fiori Basics
- Fiori = Design Language + UX framework
- Role-based, responsive, simple, coherent, delightful
- Based on SAPUI5, OData, Fiori Launchpad
- Runs on browser (HTML5 + JavaScript)
Types of Fiori Apps
- Transactional apps
- Analytical apps
- Fact sheets
- SAP Fiori elements apps
- SAP Mobile Cards / Offline apps
Fiori Architecture (Core Layers)
- UI Layer → SAPUI5 / Fiori Elements
- Gateway Layer → OData + SAP NW Gateway
- Backend Layer → SAP S/4HANA / ECC
- Database Layer → HANA
2. SAPUI5 Fundamentals
Key Concepts
- MVC Architecture (Model-View-Controller)
- Data binding (one-way, two-way, one-time, property binding)
- Controls (sap.m, sap.ui.layout, sap.f)
- Fragments vs Views
- Formatters
- i18n Resource handling
- Component.js (App entry point)
- Manifest.json (App descriptor)
Supported View Types
- XML (most common)
- JSON
- HTML
- JS
3. OData / Gateway
OData Versions
- OData V2 (common in Fiori)
- OData V4 (new Fiori elements templates)
Common OData Operations
- $filter
- $select
- $expand
- $batch
- $top / $skip
Gateway T-Codes
- SEGW → OData service development
- /IWFND/MAINT_SERVICE → Activate service
- /IWFND/ERROR_LOG → Debug
- /IWBEP/REG_SERVICE → Register service
4. Fiori Launchpad
Key Components
- Tiles / Target Mappings
- Catalogs
- Groups
- Roles (PFCG)
- LPD_CUST
Fiori App Lifecycle
- App development
- Deployment to ABAP repo
- Activation in FLP
- Role creation & assignment
5. SAPUI5 Controls (Commonly Asked)
- sap.m.Table
- sap.m.List
- sap.m.Dialog
- sap.m.ObjectListItem
- sap.m.Page
- sap.ui.model.odata.v2.ODataModel
- sap.m.BusyDialog
- sap.m.MessageToast/MessageBox
6. Fiori Elements
Metadata-driven UI using:
- CDS Views
- Annotations
- OData V4
- Template apps (List Report / Object Page)
Common Annotations
- UI.LineItem
- UI.SelectionFields
- UI.FieldGroup
- UI.Chart
- UI.Identification
- UI.DataPoint
7. Performance Optimization
- Use fragment over nested views
- Avoid synchronous OData calls
- Use $batch requests
- Lazy loading
- Use XML views for better performance
- Minimize formatter logic in views
8. Extensibility & Customization
Types of Extensions
- Extension Points
- Controller Extensions
- View Replacement
- Fragments / Custom Fields
- Adaptation Projects (BAS)
- UI Adaptation at Runtime (S/4HANA)
9. Deployment Options
- SAP BTP (Cloud Foundry / Kyma)
- ABAP Repository (SE80 / SE38)
- On-Premise Fiori Frontend Server
- Embedded deployment (S/4HANA)
10. Security
- OAuth2 / SSO
- Trusted RFC
- PFCG Role integration
- SICF activation
- CSRF tokens for POST/PUT
11. Testing & Debugging
Debugging Tools
- Chrome DevTools
- UI5 Inspector extension
- Gateway Error Log
- Support Assistant (Ctrl+Alt+Shift+S)
Unit Testing
- QUnit
- OPA5
⚡ 12. TOP 30 Fiori/UI5 Interview Questions
- Difference between SAP Fiori & SAPUI5.
- What is MVC in UI5?
- What is Component.js & Manifest.json?
- Types of view bindings in UI5.
- Explain routing in SAPUI5.
- Difference between Fragment and View.
- What are XML / JSON / JS views?
- What is the Fiori Launchpad?
- What is a Target Mapping?
- What is a Tile vs Catalog vs Group?
- How OData is consumed in UI5?
- What is the use of $batch?
- What is two-way data binding?
- What is a formatter?
- How to handle events in UI5?
- What is a List Report in Fiori Elements?
- Explain annotations in CDS.
- Difference between Smart Controls & UI5 controls.
- How to implement value help (F4)?
- What is component-preload?
- What is SAP Fiori launchpad plugin?
- SAPUI5 lifecycle hooks?
- What is manifest routing?
- How to extend a standard Fiori app?
- What are controller hooks in extension?
- Explain adaptation project.
- Workflow integration with Fiori.
- What is SAP Build Work Zone?
- Difference between OData V2 & V4.
- How to optimize UI5 app performance?
13. Rapid Revision: Key T-Codes
- SEGW → OData service creation
- /IWFND/MAINT_SERVICE → Activate service
- SICF → Activate services
- PFCG → Role maintenance
- SU01 → User assignment
- SE80 → Deploy apps
I share content relevant to Tech/Interview/Corporate/ & Anything Stuff !!
Do follow for more useful content : https://www.linkedin.com/in/vartika-gupta24/