用途
本技能提供 SAP Fiori 应用开发指南,覆盖 CAP(Cloud Application Programming)项目与独立 Fiori 项目两类场景。当需要创建或修改 SAP Fiori Elements 应用、添加 List Report 等页面时使用。
通用指南(CAP 与独立 Fiori 项目均适用)
- 在开始实现前,除非用户请求中已明确指定技术栈,否则应始终询问用户是要为 CAP 创建 Fiori 应用,还是要创建连接外部 OData 服务的独立 Fiori 项目。
- 使用 Fiori MCP 工具通过 SAP Fiori Elements 创建 Fiori UI。
- Fiori MCP Server 工具成功执行后,告知用户已完成。不要进行验证或二次检查——将工具成功执行视为确认。
- 数据模型应适合 SAP Fiori Elements:至少有一个实体类型作为应用的主实体。指向相关实体的导航属性为可选项,但可支持更丰富的 UI 模式。
- 实体的每个属性都必须具有正确的数据类型。
- 在直接修改代码之前,先检查 Fiori MCP Server 是否提供合适的功能或工具,或是否存在专门的技能(例如 sap-fiori-analytical-chart)。
可用应用模板(CAP 与独立项目均适用)
Fiori MCP 可为 CAP 和独立项目后端创建以下应用模板:
- FE_LROP - List Report Object Page(最常见,OData V2/V4)
- FE_ALP - Analytical List Page(OData V2/V4)
- FE_OVP - Overview Page(OData V2/V4)
- FE_WORKLIST - Worklist(OData V2/V4)
- FE_FEOP - Form Entry Object Page(仅 OData V4)
- FE_FPM - Flexible Programming Model / Custom Page(仅 OData V4)
- FF_SIMPLE - 基础 SAPUI5 Freestyle 模板(可无数据源运行)
可用页面类型
Fiori MCP 可向现有应用添加以下页面类型:
- ListReport - 带筛选和搜索的表格视图
- ObjectPage - 用于查看/编辑记录的详情页
- CustomPage - 使用自定义视图的完全自定义页面
应用结构
- 当被要求创建 SAP Fiori Elements 应用时,检查用户输入是否可解释为组织为一个或多个包含表格数据或表单的页面的应用。
- 应用通常以显示表格数据的 List Report 页面开始,但也有其他模板可用(见上文)。
- 特定表格行的详情显示在基于基础实体的 Object Page 中。
- Object Page 可包含基于其实体类型的导航属性(包括 to-one(0..1)和 to-many 关联)的区段。
- 表格区段行(针对 to-many 关联)的详情可显示在基于该关联目标实体的另一个 Object Page 中。
应用预览指南
- 使用 package.json 中针对该应用最具体的脚本。
- 对于 CAP:使用 watch 脚本(例如 npm run watch-manage-travel)。
- 对于独立 Fiori 项目:使用 npm start(实时后端)或 npm run start-mock(模拟数据)。
CAP 专属指南
- Fiori 应用必须创建在 CAP 应用根文件夹下的 app 文件夹中,该根文件夹由之前的 cds init 操作创建。此根文件夹始终是工作目录下的直接子文件夹。
- 在按照 CAP 应用摘要创建 UI 应用时,确保使用摘要项目结构中描述的 UI 应用名称,除非用户明确要求其他名称。
- 对于全栈 CAP 应用的 UI 的任何后续更改或修改请求,始终首先尝试在 Fiori 应用中进行更改,除非确实需要在服务中更改。
- 为所有实体提供 UUID 类型的主键。
- 在 CSV 文件中创建示例数据时,所有主键和外键必须为 UUID 格式(例如 550e8400-e29b-41d4-a716-446655440001)。
独立 Fiori 项目指南
- 对于基于外部服务的独立 Fiori 项目,应用由 Fiori MCP 工具在根级别创建。
- 目标或 SAP 系统名称:如果用户未提供目标名称或 SAP 系统名称,使用 Fiori MCP Server 检索并呈现可用的目标/系统供用户选择。
- 获取 OData 服务元数据(仅用于初始应用创建):参考工具说明下载 OData 服务元数据。如果 Service Center MCP 可用则使用它,否则使用 Fiori MCP Server 下载元数据文件。要刷新已创建应用中的元数据,见下文第 8 点。
- 注解应主要在后台服务中维护,仅应用特定的 UI 自定义或覆盖应放在本地(前端)注解中。
- 仅将前端注解用于应用特定的 UI 调整(例如 /webapp/annotations/annotation.xml),在 manifest.json 中通过匹配的 uri 和 localUri 值引用:
"annotation": {
"type": "ODataAnnotation",
"uri": "annotations/annotation.xml",
"settings": {
"localUri": "annotations/annotation.xml"
}
}
- 独立 Fiori 项目连接远程 OData V2 或 V4 服务(在 manifest.json 的 dataSources 中定义)。
- OData 服务元数据为只读:manifest.json 中引用的服务元数据文件(/webapp/localService/mainService/metadata.xml)不得在本地编辑。对实体定义、属性或服务结构的任何更改都必须在后台源中进行:
"dataSources": {
"mainService": {
"uri": "/path/to/odata/service/",
"type": "OData",
"settings": {
"annotations": ["annotation"],
"localUri": "localService/mainService/metadata.xml",
"odataVersion": "4.0"
}
}
}
- 更新服务元数据:要从实时后端刷新现有 Fiori 应用的本地 metadata.xml,不要使用 download_odata_service_metadata(该工具用于应用或页面创建期间的初始元数据下载,而非刷新项目中已存在的元数据)。而应调用 sap-fiori-create-cli 技能的 update service-metadata 部分。
适用场景
- 创建或修改 SAP Fiori Elements 应用。
- 为 CAP 项目或独立项目添加 List Report、Object Page、Custom Page 等页面。
- 选择应用模板(LROP、ALP、OVP、Worklist、FEOP、FPM、Freestyle)。
- 处理 CAP 项目中的实体主键、示例数据与 UI 修改。
- 处理独立项目中的目标选择、OData 元数据获取与注解维护。
限制
- 部分模板仅支持 OData V4(FE_FEOP、FE_FPM)。
- 独立项目的服务元数据文件为只读,不得本地编辑。
- 刷新已存在项目的元数据需使用 sap-fiori-create-cli 技能,而非 download_odata_service_metadata。
- 资料未提供收费、价格、平台支持范围等具体信息。