Module 27: Extensibility & Adaptation
Extensibility allows SAPUI5 and Fiori applications to be adapted without modifying standard code.
This is crucial for upgrade safety, clean core strategy, and long-term maintenance.
This module explains:
- Key user extensibility
- UI Adaptation Editor
- Custom fields & logic
- Adaptation projects
- Upgrade-safe extension principles
1. What is Extensibility in SAPUI5?
Definition
Extensibility means:
- Enhancing standard apps
- Without modifying original code
- In an upgrade-safe manner
Extend, don’t modify.
Types of Extensibility
| Type | Target User |
|---|---|
| Key User Extensibility | Business users |
| Developer Extensibility | Developers |
| Side-by-Side Extensibility | Cloud / BTP |
2. Key User Extensibility
What is Key User Extensibility?
Key users (functional users) can:
- Add fields
- Adapt UI layout
- Add simple logic
- Without developer support
Typical Capabilities
- Add custom fields
- Rename labels
- Hide/show fields
- Change UI order
Reduces dependency on IT teams.
3. UI Adaptation Editor (UI Adaptation)
What is UI Adaptation Editor?
The UI Adaptation Editor allows:
- UI changes at runtime
- Personalization & adaptation
- No code changes
Accessed via:
Adapt UI
What Can Be Adapted?
Fields
Groups
Sections
Buttons (visibility)
Business logic cannot be changed here.
Adaptation Scope
| Scope | Effect |
|---|---|
| User | Personal |
| Role | Role-based |
| System | Global |
4. Custom Fields & Logic
Custom Fields
Custom fields are:
- Created via Custom Fields and Logic app
- Stored in backend tables
- Automatically exposed to UI
Custom Field Lifecycle
Create Field
↓
Publish
↓
Available in CDS
↓
Visible in UI
Once published, fields appear automatically in Fiori Elements apps.
Custom Logic
Custom logic allows:
- Validation
- Derivation
- Enhancement logic
Implemented using:
- BAdIs
- Enhancement points
- RAP behavior extensions
Custom logic executes in backend, not UI.
5. Adaptation Projects (Developer Extensibility)
What are Adaptation Projects?
Adaptation projects allow developers to:
- Extend standard Fiori apps
- Add UI logic
- Add custom actions
- Stay upgrade-safe
What You Can Do in Adaptation Projects
- Controller extensions
- View extensions
- Custom sections
Adaptation projects use extension points provided by SAP.
6. Upgrade-Safe Extensions (Critical Topic)
What Makes an Extension Upgrade-Safe?
- Never modify standard files
- Use only provided extension points
- Use CDS extensions for data
- Use RAP behavior extensions
What Breaks Upgrade Safety
- Copy-pasting standard apps
- Modifying generated code
- Hardcoding SAP internal IDs
- Bypassing extension framework
7. Extensibility in Freestyle UI5 vs Fiori Elements
| Aspect | Freestyle UI5 | Fiori Elements |
|---|---|---|
| UI Adaptation | Limited | Built-in |
| Custom Fields | Manual | Automatic |
| Upgrade Safety | Developer-dependent | High |
| Key User Support | ❌ | ✅ |
Fiori Elements provides best extensibility with least risk.
8. Clean Core & Extensibility Strategy
SAP Clean Core Strategy
Keep standard code untouched
Push custom logic to:
- Extensions
- Side-by-side apps
- BTP services
Clean Core is mandatory for S/4HANA cloud.
9. Common Extensibility Mistakes
- Using UI adaptation to fix logic issues
- Overusing custom fields
- Duplicating standard logic
- Ignoring clean core guidelines
10. Interview-Grade Explanation
Q: How do you extend standard SAP Fiori applications?
Answer:
Standard SAP Fiori applications are extended using key user extensibility, the UI Adaptation Editor, custom fields and logic, and developer adaptation projects. These mechanisms ensure upgrade safety and align with SAP’s clean core strategy.
11. Summary
- Extensibility avoids core modifications
- Key users can adapt UI
- UI Adaptation Editor supports layout changes
- Custom fields integrate seamlessly
- Adaptation projects enable developer extensions
- Upgrade safety is mandatory
12. What’s Next?
➡️ Module 28: Logging, Monitoring & Troubleshooting in UI5
If your extension breaks upgrades, it’s not an extension — it’s a liability.