| name | fiori-tools |
| description | Use when working with SAP Fiori tools in VS Code or SAP Business Application Studio: Application Generator, Page Editor, Guided Development, Service Modeler, cds add fiori, preview SAP Fiori apps locally, deployment with fiori-tools-proxy, or the UI5 Language Assistant for annotation code completion.
|
| metadata | {"category":"fiori","version":"1.0.0","keywords":["Fiori tools","Application Generator","Page Editor","Guided Development","cds add fiori","cds watch","ui5-deploy.yaml","UI5 Language Assistant","VS Code"],"related":{"fiori-elements-floorplans":"generate floorplan apps","fiori-annotations":"Page Editor writes annotations","btp-workzone":"deploy generated apps to Work Zone"}} |
Fiori Tools — Best Practices
Primary reference: https://help.sap.com/docs/SAP_FIORI_tools
VS Code extensions: SAP Fiori tools Extension Pack
BAS dev space: Full Stack Cloud Application (includes all Fiori tools)
Required VS Code Extensions
Install the SAP Fiori tools Extension Pack — installs all of these at once:
SAP Fiori tools - Application Generator
SAP Fiori tools - Page Editor
SAP Fiori tools - Guided Development
SAP Fiori tools - Service Modeler
SAP Fiori tools - Application Modeler
UI5 Language Assistant ← annotation code completion
XML Toolkit ← XML fragment editing
Ctrl+Shift+X → search "SAP Fiori tools Extension Pack" → Install
Generate a Fiori Elements app
Option A — VS Code command palette (recommended):
Ctrl+Shift+P → "Fiori: Open Application Generator"
→ SAP Fiori elements
→ List Report Object Page
→ Connect to a CAP Project (auto-discovers your services)
→ Select entity set
→ Generate
Option B — CLI in CAP project root:
cds add fiori
Both generate:
app/
└── <your-app>/
├── webapp/
│ ├── manifest.json
│ └── i18n/i18n.properties
└── annotations.cds
Run local preview
cds watch
For the sandbox launchpad, add to package.json:
{
"sapux": [
"app/orders",
"app/products"
]
}
Page Editor — configure annotations without writing CDS
The Page Editor in VS Code lets you configure UI.LineItem, UI.Facets, UI.FieldGroup
etc. via a visual UI instead of writing CDS annotations manually.
In VS Code → open any file in app/<name>/webapp/
→ Activity Bar → SAP Fiori icon
→ Application Modeler
→ Click your page (List Report / Object Page)
→ Page Editor opens
Changes made in Page Editor write directly to your annotations.cds file.
Guided Development — step-by-step annotation guides
For complex annotations (value helps, navigation, charts), use Guided Development:
Ctrl+Shift+P → "Fiori: Open Guided Development"
→ Select your app
→ Browse guides: "Add Value Help", "Add Navigation", "Configure Chart"
→ Follow the steps — generates correct CDS annotation
UI5 Language Assistant — annotation code completion
Install the UI5 Language Assistant extension for:
- Autocomplete for
@UI., @Common., @Capabilities. etc. in .cds files
- Validation of annotation paths (warns when entity property doesn't exist)
- Code completion for building block attributes in XML fragments
Make sure it's enabled for .cds files in VS Code settings:
{
"UI5LanguageAssistant.SplitAnnotationSupport": true
}
Deployment configuration
npx fiori add deploy-config
ui5-deploy.yaml for CF:
specVersion: "3.1"
metadata:
name: orders
type: application
builder:
resources:
excludes:
- /test/**
- /localService/**
customTasks:
- name: deploy-to-cf
afterTask: generateVersionInfo
configuration:
destination: <your-destination>
appName: <cf-app-name>
org: <cf-org>
space: <cf-space>
fiori-tools-proxy — connect to remote OData services locally
In ui5.yaml (generated by Fiori tools):
server:
customMiddleware:
- name: fiori-tools-proxy
afterMiddleware: compression
configuration:
ignoreCertError: false
backend:
- path: /sap
url: https://your-s4-system.example.com
destination: S4HANA_DEV
scp: true
Common mistakes to avoid
-
❌ Editing webapp/manifest.json routing manually when adding new pages
-
✅ Use Application Generator or Page Editor — manual edits break the visual tools
-
❌ Ignoring the UI5 Language Assistant warnings about invalid annotation paths
-
✅ Fix them — invalid paths silently produce no UI at runtime
-
❌ Running ui5 serve directly instead of cds watch in CAP projects
-
✅ cds watch starts both CAP server and UI — ui5 serve alone has no OData backend
-
❌ Deploying without npx fiori add deploy-config — missing ui5-deploy.yaml
-
✅ Run deploy-config first, then npm run deploy
-
❌ Not installing the SAP Fiori tools Extension Pack — missing annotation completion
-
✅ Install the full pack — individual extension installs often miss dependencies