--- name: sap-fiori-tools description: | Develops SAP Fiori applications using SAP Fiori tools extensions for VS Code and SAP Business Application Studio. Use when: generating Fiori Elements or Freestyle SAPUI5 applications, configuring Page Editor for List Report or Object Page, working with annotations and Service Modeler, setting up deployment to ABAP or Cloud Foundry, creating adaptation projects, using Guided Development, previewing with mock data or live data, configuring SAP Fiori launchpad, or using AI-powered generation with Project Accelerator/Joule. Technologies: SAP Fiori Elements, SAPUI5, OData V2/V4, CAP, SAP BTP, ABAP, Cloud Foundry. license: GPL-3.0 metadata: version: "1.0.0" last_verified: "2025-11-25" --- # SAP Fiori Tools Development Skill ## Related Skills - **sapui5**: Use for underlying UI5 framework details, custom control development, and advanced UI patterns - **sap-cap-capire**: Use for CAP service integration, OData consumption, and backend service configuration - **sap-abap-cds**: Use when consuming ABAP CDS views as OData services or working with ABAP backends - **sap-btp-cloud-platform**: Use for deployment targets, BTP destination configuration, and Cloud Foundry deployment - **sap-api-style**: Use when documenting OData APIs or following API documentation standards for Fiori apps Comprehensive guidance for developing SAP Fiori applications using SAP Fiori tools extensions. ## Overview SAP Fiori tools is a collection of extensions that simplifies SAP Fiori elements and SAPUI5 application development. It includes six main components: | Component | Purpose | |-----------|---------| | **Application Wizard** | Generate Fiori Elements and Freestyle SAPUI5 templates | | **Application Modeler** | Visual Page Map and Page Editor for configuration | | **Guided Development** | Step-by-step feature implementation guides | | **Service Modeler** | Visualize OData service metadata and annotations | | **Annotations Language Server** | Code completion, diagnostics, i18n for annotations | | **Environment Check** | Validate setup and destination configurations | **Minimum SAPUI5 Version**: 1.65+ **Support Component**: CA-UX-IDE ## Sample Projects Official SAP sample repository with Fiori Elements applications built using SAP Fiori tools: **Repository**: [SAP-samples/fiori-tools-samples](https://github.com/SAP-samples/fiori-tools-samples) | Folder | Content | |--------|---------| | `V2/` | OData V2 Fiori Elements samples | | `V4/` | OData V4 Fiori Elements samples | | `cap/` | CAP project integration samples | | `app-with-tutorials/` | Tutorial companion projects | **Quick Start**: ```bash git clone [https://github.com/SAP-samples/fiori-tools-samples](https://github.com/SAP-samples/fiori-tools-samples) cd fiori-tools-samples/V4/apps/salesorder npm install npm start ``` --- ## Quick Start Commands Access features via Command Palette (`Cmd/Ctrl + Shift + P`): ``` Fiori: Open Application Generator # Create new application Fiori: Open Application Info # View project commands Fiori: Open Page Map # Visual navigation editor Fiori: Open Guided Development # Feature implementation guides Fiori: Open Service Modeler # Explore OData service Fiori: Add Deployment Configuration # Setup ABAP or CF deployment Fiori: Add Fiori Launchpad Configuration # Configure FLP tile Fiori: Validate Project # Run project validation Fiori: Open Environment Check # Troubleshoot destinations ``` ## Application Generation ### Fiori Elements Floorplans | Floorplan | OData V2 | OData V4 | Use Case | |-----------|----------|----------|----------| | List Report Page | Yes | Yes | Browse large datasets, navigate to details | | Worklist Page | Yes | 1.99+ | Process work items, task completion | | Analytical List Page | Yes | 1.90+ | Data analysis, KPI visualization | | Overview Page | Yes | Yes | Role-based dashboards, multi-card views | | Form Entry Object Page | Yes | Yes | Structured data entry | | Custom Page | No | Yes | Extensible custom UI with building blocks | ### Data Source Options 1. **SAP System** - Connect to ABAP on-premise or BTP systems 2. **CAP Project** - Use local Node.js or Java CAP project 3. **EDMX File** - Upload metadata for mock-only development 4. **SAP Business Accelerator Hub** - Development/testing only (deprecated) ### Generated Project Structure ``` webapp/ ├── manifest.json # App descriptor ├── Component.js # UI5 component ├── localService/ # Mock data and metadata │ ├── metadata.xml │ └── mockdata/ └── annotations/ # Local annotation files package.json ui5.yaml # UI5 tooling config ui5-local.yaml # Local development config ``` ## Page Editor Configuration The Page Editor provides visual configuration for Fiori Elements pages. ### List Report Page Elements - **Filter Fields** - Configure filter bar with value helps - **Table** - Configure columns, actions, row selection - **Multiple Views** - Create tabbed table views - **Analytical Chart** - Add data visualizations ### Object Page Elements - **Header** - Configure header facets and actions - **Sections** - Form, Table, Identification, Chart, Group sections - **Footer** - Configure footer actions ### Extension-Based Elements (OData V4) | Element | Location | Description | |---------|----------|-------------| | Custom Column | Table | Add custom columns with fragments | | Custom Section | Object Page | Add custom sections with views | | Custom Action | Header/Table | Add action buttons with handlers | | Custom View | List Report | Add custom tab views | | Controller Extension | Page | Override lifecycle methods | For detailed configuration, see `references/page-editor.md`. ## Annotations Development ### Language Server Features - **Code Completion** (`Ctrl/Cmd + Space`) - Context-aware suggestions - **Micro-Snippets** - Insert complete annotation blocks - **Diagnostics** - Validation against vocabularies - **i18n Support** - Externalize translatable strings - **Peek/Go to Definition** - Navigate to annotation sources ### Supported Vocabularies OASIS OData v4: Core, Capabilities, Aggregation, Authorization, JSON, Measures, Repeatability, Temporal, Validation SAP Vocabularies: Analytics, CodeList, Common, Communication, DataIntegration, DirectEdit, Graph, Hierarchy, HTML5, ODM, PDF, PersonalData, Preview, Session, UI ### Annotation Files Location - **CDS files**: CAP project `.cds` files - **XML files**: `webapp/annotations/*.xml` For annotation patterns, see `references/annotations.md`. ## Preview Options ### NPM Scripts ```bash npm start # Live data from backend npm run start-mock # Mock data via MockServer npm run start-local # Mock data + local SAPUI5 resources npm run start-noflp # Without Fiori launchpad sandbox ``` ### Run Control Configure via `launch.json` in `.vscode/` folder. Supports: - Multiple run configurations per workspace - VS Code and BAS integration - App-to-app navigation preview ### Mock Data - **Data Editor** - Visual mock data management - **AI Generation** - Generate contextual mock data (requires SAP Build Code) - **MockServer** - Automatic mock server setup For preview details, see `references/preview.md`. ## Deployment ### ABAP Deployment **Prerequisites**: - SAP_UI 7.53+ - SAPUI5 ABAP Repository service enabled - S_DEVELOP authorization **Configuration**: ```bash npx fiori add deploy-config # Generate ui5-deploy.yaml npm run deploy # Execute deployment ``` **Generated Files**: `ui5-deploy.yaml`, updated `package.json` ### Cloud Foundry Deployment **Prerequisites**: - MTA tool: `npm i -g mta` - CF CLI with multiapps plugin - HTML5 Repository service instance **Configuration**: ```bash npx fiori add deploy-config # Select Cloud Foundry npm run build # Generate mta.yaml npm run deploy # Deploy to CF ``` **Generated Files**: `mta.yaml`, `xs-app.json`, `xs-security.json` For deployment details, see `references/deployment.md`. ## Fiori Launchpad Configuration Add FLP tile configuration via: ``` Fiori: Add Fiori Launchpad Configuration ``` **Required Parameters**: - Semantic Object (unique identifier) - Action (e.g., "display") - Title - Subtitle (optional) Configuration updates `manifest.json` with inbound navigation. ## Adaptation Projects Extend existing Fiori applications without modifying source code. ### Prerequisites **On-Premise (VS Code)**: - SAP_UI 7.54+, SAPUI5 1.72+ - Base app must have manifest.json - Cannot use ABAP Cloud packages **S/4HANA Cloud & BTP ABAP**: - Application must be "released for extensibility" - 3-system landscape with developer tenant - Required business catalogs assigned ### Adaptation Workflow 1. Create adaptation project via Template Wizard 2. Make UI adaptations in Adaptation Editor 3. Preview adaptation 4. Deploy to ABAP repository ### Adaptation Capabilities | Adaptation | Description | |------------|-------------| | Control Variants | Create page variants/views | | Fragments | Add UI fragments to extension points | | Controller Extensions | Override/extend controller methods | | App Descriptor Changes | Modify manifest.json settings | | OData Service | Add/replace OData services | | Component Usages | Add SAPUI5 component references | For adaptation details, see `references/adaptation-projects.md`. ## AI-Powered Generation ### Project Accelerator / Joule Generate complete CAP projects with Fiori UI from business requirements. **Input Formats**: Text, Images, or Combined **Generated Output**: - Entity definitions and associations - Code lists and value helps - List Report applications - Object Page configurations - Sample data **Limitations**: - No charts or specialized headers - Do not include personal/sensitive data in requirements ### AI Mock Data Generation Generate contextual mock data using entity property names (requires SAP Build Code subscription). ## Project Functions | Function | Command | |----------|---------| | Application Info | `Fiori: Open Application Info` | | Project Validation | `Fiori: Validate Project` | | Environment Check | `Fiori: Open Environment Check` | | Data Editor | Via Application Info page | | Service Metadata | `Fiori: Open Service Modeler` | | System Connections | Manage SAP Systems in VS Code | ### Project Validation Checks 1. **Project** - Verify package.json, manifest.json, ui5.yaml 2. **Annotation** - Validate annotation files 3. **Specification** - Check manifest and changes folder 4. **ESLint** - Run ESLint if configured ## Building Blocks (OData V4) Reusable UI components for custom pages and sections: | Block | Use Case | |-------|----------| | Chart | Data visualization | | Filter Bar | Query filtering | | Table | Tabular data display | | Page | Custom page container | | Rich Text Editor | Content editing in custom sections | ## Troubleshooting ### Common Issues **Port 8080 in use**: System auto-selects next available port **HTTPS/SSL errors**: Configure browser to trust localhost certificates **Deployment 400 errors**: Check `/IWFND/ERROR_LOG`, configure virus scan in `/IWFND/VIRUS_SCAN` **Debug deployment**: ```bash # macOS/Linux DEBUG=ux-odata-client npm run deploy # Windows set DEBUG=ux-odata-client & npm run deploy ``` ### CLI Help ```bash npx fiori help # List available commands npx fiori deploy help # Deployment command help ``` ## Migration from SAP Web IDE Migrate existing projects using: ``` Fiori: Migrate Project for use in Fiori tools ``` **Supported Types**: Fiori Elements (V2/V4), Freestyle SAPUI5, Adaptation Projects, Extensibility Projects **Post-Migration**: Run `npm run deploy-config` to update deployment configuration. For migration details, see `references/getting-started.md`. ## Guided Development (76+ Guides) Access step-by-step implementation guides: ``` Fiori: Open Guided Development ``` **Guide Categories**: - Building Blocks (Chart, Filter Bar, Table) - Page Elements (Cards, Header Facets, Sections) - Table Enhancements (Column types, Actions) - Filtering & Navigation - Configuration (Variant management, Side effects) - Extensions (Custom actions, sections, columns) ## Reference Documentation For detailed information on specific topics: - `references/getting-started.md` - Installation, migration, ADT integration, commands - `references/configuration.md` - MTA, middlewares, SAPUI5 versions, project functions - `references/page-editor.md` - Page Editor configuration details - `references/annotations.md` - Annotation patterns and examples - `references/deployment.md` - Deployment configuration details - `references/adaptation-projects.md` - Adaptation project workflows - `references/preview.md` - Preview and testing options ## Documentation Sources **Primary Source**: [https://github.com/SAP-docs/btp-fiori-tools/tree/main/docs](https://github.com/SAP-docs/btp-fiori-tools/tree/main/docs) **Last Updated**: 2025-11-22 | Section | Documentation Link | |---------|-------------------| | Getting Started | `Getting-Started-with-SAP-Fiori-Tools/` | | Generating Apps | `Generating-an-Application/` | | Developing | `Developing-an-Application/` | | Previewing | `Previewing-an-Application/` | | Deploying | `Deploying-an-Application/` | | Project Functions | `Project-Functions/` | | Adaptation Projects | Root docs folder | **SAP Resources**: - Fiori Design Guidelines: [https://experience.sap.com/fiori-design-web/](https://experience.sap.com/fiori-design-web/) - SAP Help Portal: [https://help.sap.com/docs/SAP_FIORI_tools](https://help.sap.com/docs/SAP_FIORI_tools)