Capability Manifest: SAP Fiori Elements
This blueprint provides the procedural truth for engineering high-fidelity, metadata-driven user interfaces in the SAP ecosystem.
When to Use
This skill should be used when completing tasks related to sap fiori elements.
Process
Follow these procedures to develop SAP Fiori Elements applications:
Procedure 1: Layout Engineering (CDS Annotations)
- List Report Config:
- Use
@UI.selectionFieldfor filter bar entries. - Use
@UI.lineItemfor table columns with properpositionandimportance. - Use
@EndUserText.labelfor all column headers.
- Use
- Object Page Config:
- Define
@UI.facethierarchy (Collection Facets for grouping, Reference Facets for content). - Use
@UI.fieldGroupto organize fields into semantic sections. - Implement
HeaderInfowithTitleandDescriptionfor visual clarity.
- Define
Procedure 2: Intelligent Interaction (Value Helps & Actions)
- Semantic Value Helps: Use
@Consumption.valueHelpDefinitionfor all foreign key fields, ensuring search and validation are active. - Status Criticality: Bind the
criticalityof status fields to a specific property (e.g.,StatusCriticality) to provide visual feedback (Success/Warning/Error). - Action Exposure: Expose
BDEFactions via@UI.lineItem: [ { type: #FOR_ACTION ... } ]and@UI.identification.
Procedure 3: Draft-Ready UI
- Interaction Integrity: Ensure the Fiori app is configured to handle the "Draft" lifecycle (Resume, Discard, Activate).
- Side Effects: Annotate fields that trigger updates in other parts of the UI via
@Common.SideEffects.
Process (Fail-State & Recovery)
| Symptom | Probable Cause | Recovery Operation |
|---|---|---|
| Empty Filter Bar | Selection fields missing in the projection view. | Add @UI.selectionField: [ { position: X } ] to the relevant CDS fields. |
| Missing Navigation | Semantic Object mapping failure. | Verify the intent (Action/Object) in the manifest.json and ensure the @UI.lineItem has the correct type: #WITH_INTENT_BASED_NAVIGATION. |
| UI Not Updating | Side effects not defined for determinations. | Add @Common.SideEffects to the triggering field in the CDS metadata. |
Prerequisites
| Action | Tool / Command |
|---|---|
| Visual Modeling | Page Map (SAP Fiori Tools) |
| Metadata Check | OData Service Preview ($metadata) |
| Preview | npm start |
| Manifest Config | manifest.json Editor |
Best Practices
Before finalized, verify:
- No manual JS logic for standard CRUD operations.
- All mandatory fields labeled correctly.
- Criticality used for all "Status" or "Progress" indicators.
- Value helps active for all ID-to-Text mappings.