SuperAPI AI 工具集

fiori-draft

数据与分析

查看项目

更新于 10-16 02:37

技能介绍

用途:在 SAP CAP(Node.js)中实现 SAP Fiori Draft 支持,覆盖从启用草稿到校验、查询与编程式操作的实践要点。

主要能力:通过 @odata.draft.enabled 注解启用草稿,CAP 自动生成 _drafts 影子表、OData 草稿动作(draftEdit、draftActivate、draftDiscard)并接入 Fiori Elements UI。支持草稿生命周期事件:NEW(新建)、EDIT(编辑活动记录,须注册在活动实体上)、SAVE(草稿激活,用 before('CREATE'/'UPDATE') 校验)、CANCEL、DISCARD。支持草稿消息(自 CAP 2025 年 8 月起默认启用,可在 package.json 的 cds.fiori.draft_messages 配置),可在每次 PATCH 时做内联校验。支持查询活动实体、草稿实体及判断草稿是否存在,并提供 srv.new/edit/save/discard 编程式操作。CAP Node.js 9.x 起草稿中支持 CDS 计算元素;另有 Lean Draft(mode: 'exclusive')简化模式。CDS 10 起默认绕过草稿编排,可直接访问活动实体,可用 cds.fiori.bypass_draft = false 关闭,或用 draft_new_action 将草稿创建移到命名动作。

使用方式:在 service 中为实体加 @odata.draft.enabled;在 init 中注册各生命周期处理器;校验用 req.error 累积后调用 req.reject()。启用 draft_messages 后需执行 cds deploy 更新数据库架构。

适用场景:为 CAP 服务构建 Fiori Elements 列表/对象页的草稿编辑体验。

限制:草稿消息不支持 OData V2 UI 与 UI5 < 1.135.0;draft + hdb 驱动使用 LargeBinary 字段会死锁,需改用 hana-client;EDIT 不可注册在 Orders.drafts 上;不存在 SAVE 事件;不要手动合并活动与草稿结果;草稿中计算值应使用 CDS 计算元素而非虚拟元素。具体版本与配置细节以官方文档为准。