
SAP Fiori 是 SAP 新一代的用户体验UX设计语言和应用程序集合旨在为 SAP 软件提供直观、一致且基于角色的用户体验。它基于 HTML5 和 SAPUI5 框架支持跨设备桌面、平板、手机响应式访问。核心概念与架构SAP Fiori 的核心是Fiori Launchpad作为所有 Fiori 应用的统一入口和门户。其架构通常涉及以下组件组件/层说明前端 (Presentation Layer)基于SAPUI5框架的 HTML5 应用运行在浏览器或移动设备中。中间件/网关 (Gateway Layer)SAP Gateway或SAP Cloud Platform负责将前端请求路由到后端系统并通过OData服务提供数据。后端 (Backend Layer)SAP ERP、S/4HANA 等业务套件提供业务逻辑和数据。主要开发与配置方式根据业务需求SAP Fiori 应用的开发主要有两种路径开发方式适用场景技术栈/工具SAP Fiori Elements快速构建标准化的列表、对象、概览等应用。开发者主要通过定义数据模型和添加OData 注解来驱动 UI 生成代码量极少。OData V4/V2, CDS Views, 注解 (Annotations)Freestyle SAPUI5开发构建具有高度定制化 UI 和交互逻辑的复杂应用。开发者拥有完全的 UI 控制权。SAPUI5, MVC 模式, XML Views, JavaScript/TypeScriptAnalytical List Page (ALP)是 Fiori Elements 中的一个重要 Floorplan它结合了分析图表和事务性列表支持联动钻取是构建分析类应用的强大工具 。关键配置与事务代码在 SAP 系统中配置和管理 Fiori 环境涉及一系列事务代码事务代码用途说明/UI2/FLPFiori Launchpad 设计器配置 Launchpad 的目录、目标映射和组。/UI2/FLPD_CUST维护 Fiori Launchpad 的个性化配置如磁贴、目录等 。/UI2/SEMOBJ维护语义对象Semantic Objects用于应用间的智能导航 。/IWFND/MAINT_SERVICE激活、维护和管理 SAP Gateway 服务 。SICF维护 HTTP 服务用于激活 Fiori 前端应用如 BSP 应用。PFCG角色维护为 Fiori 应用分配权限。通常需要复制标准角色如SAP_UI2_USER_700并进行调整 。SEGWSAP Gateway Service Builder用于创建和开发自定义的 OData 服务 。权限配置关键步骤角色复制与分配通过事务码PFCG复制标准角色SAP_UI2_USER_700到自定义角色如ZFIORI_USER。添加权限对象在角色的“权限”页签下添加必要的通用权限对象例如S_USER_GRP用户组、S_USER_PRO用户参数文件等 。分配 OData 服务授权通过菜单“用户菜单”-“事务”-“添加”将已激活的 Gateway 服务如/IWFND/MAINT_SERVICE中显示的服务以S_SERVICE权限对象的形式添加到角色中 。分配 Launchpad 访问权限同样在“用户菜单”中添加事务Fiori Launchpad通常对应服务/UI2/FLP。自定义 UI 集成示例以在 Fiori Launchpad 中集成一个自定义的 SAPUI5 应用为例关键步骤如下开发并部署应用使用 Web IDE 或 Business Application Studio 开发一个 SAPUI5 应用并将其部署到 ABAP 系统作为 BSP 应用或 SAP BTP。在 SICF 中激活服务如果部署在 ABAP 系统使用事务码SICF找到并激活对应的 BSP 应用服务节点 。在 Launchpad 设计器中配置使用/UI2/FLP进入设计器。创建或编辑一个目录(Catalog)在其中添加一个新的磁贴(Tile)。为磁贴配置目标映射(Target Mapping)指定其指向的语义对象(Semantic Object)和动作(Action)。语义对象和动作需要与应用的manifest.json文件中的配置一致或通过/UI2/SEMOBJ进行维护 。将磁贴分配到一个组(Group)该组会显示在最终用户的 Launchpad 上。一个简化的manifest.json中路由配置示例定义了语义对象和动作sap.ui5: { routing: { config: { routerClass: sap.m.routing.Router }, routes: [{ pattern: , name: main, target: mainView }], targets: { mainView: { viewName: MainView, viewId: mainView, viewLevel: 1 } } } }, sap.app: { ... crossNavigation: { inbounds: { myCustomApp: { semanticObject: MyObject, action: display, signature: { parameters: {} } } } } }参考来源SAPFiori各种 SAP 产品的自定义 UI 创建和集成方法一览SAPFiori快速入门指南掌握SAP Fiori基础开启企业数字化转型之路SAPFiori系统配置之权限角色SAPFiori Elements Analytical List Page 概述