SAP Fiori关键用户界面适配:业务用户不写代码也能调界面
发布时间:2026/10/10 4:18:19 锦皓数字建站

我做过很多Fiori项目最深的体会是客户提得最多的需求往往不是什么大功能而是一堆“小别扭”——这个字段不想要、那个字段要往前挪一挪、这条列表别显示那么多列、这个按钮的位置能不能换一下。放在传统UI5开发里每一个都是改动、测试、传输打一套流程少则一天多则一周。而SAP给出的解法就是Key User UI Adaptation关键用户界面适配。这套机制的价值一句话就能讲清楚让业务Key User不写代码、不改程序直接在运行的Fiori界面里完成字段显隐、布局调整、排序筛选等调整改完可以只给自己用也可以发布给所有人还能绑定传输请求走标准流程发到测试和生产。对实施团队来说它是把“低价值高频次”的界面微调需求从开发队列里分流出去的最有效工具对业务侧来说它意味着不再为一个小改动等排期。这篇文章我会结合实操经验把这套机制的底牌、操作流、常见问题以及治理方法完整讲一遍。适合Fiori顾问、Basis同事、负责权限的运维人员以及正在带业务侧Key User的团队参考。1. Key User UI Adaptation 到底是什么先搞懂机制底牌很多人一听UI Adaptation第一反应是这不就是个性化吗。严格说它跟最终用户在头像菜单里改主题、调主面板布局的Personalization是两回事。Key User UI Adaptation面向的是业务关键用户权限更大、可改范围更广而且能通过发布机制影响其他用户。1.1 名字里的三个关键词决定了它的定位拆开看这个名字三个关键词缺一不可。Key User定位是业务骨干懂业务场景但不一定懂技术。SAP希望把这群人变成配置型管理员让他们承担界面微调职责。UI改的是界面层不是数据层。它不会改变底层数据模型、权限对象、增强逻辑只是在运行时对界面的呈现方式做调整。这意味着它对后台表结构零侵入风险天然较低。Adaptation是适配不是开发。区别于传统改程序它是基于某个已部署的UI5应用做增量调整改动以增量记录的形式存在而不是直接动应用源码。理解这个定位很重要。我在项目里遇到过业务把Key User UI Adaptation当成万能改法希望用它去增加一个全新的字段因为它根本不在界面数据模型里那是做不到的——这是Key User Adaptation的边界也是很多需求被驳回的原因。1.2 层叠式存储一次点击背后的三层数据要理解这套机制怎么运作必须先理解它的存储模型。SAPUI5的灵活性Flexibility框架用层Layer来管理变更你可以把它想象成一张张透明贴膜叠在应用画面上用户层Personalization每个人可以保存自己关心的界面调整只对自己可见不进入传输。客户层ClientKey User在适配模式下作出的调整如果直接保存会存在这一层只在当前系统生效所有用户都能看到但不绑定传输请求。传输层Transportable Public LayerKey User在发布时绑定传输请求变更进入CTS管道可以跨系统传递。实际点击Adapt UI进入界面后你会看到保存和发布两个动作这背后就是在选择把这些增量写到哪个层。保存到客户层对当前系统的所有人都生效发布并绑定传输则可以跟着传输请求走。这也是为什么很多人在测试环境改得好好的到生产环境看不到改动——大概率是只保存了客户层没有绑定传输。提示如果你希望改动只在特定系统出现包括留存在客户层并不放入传输请求这通常用于生产系统上绕过传输直接做热修复。但从治理角度后续我会建议慎用这个口子。1.3 能改什么、不能改什么边界先画清楚从实践来看Key User UI Adaptation能做到以下事情隐藏、显示界面字段调整字段顺序、移动字段到其他区域调整表单分节、折叠/展开部分区域配置表格列顺序、宽度、冻结列恢复KPI、图表等卡片组件的部分属性管理Smart Filter Bar的筛选字段、默认值设置表格排序、过滤条件配置多语言标签在不改代码的前提下调整界面文案但它有明确的做不到的事增加一个数据模型里不存在的字段改动后端逻辑、校验规则、读写权限改变应用跳转逻辑除非应用本身提供扩展点但通常需要开发介入修改安全相关字段的控制属性理解边界是管理好这套工具的第一步。如果一个需求是需要新增数据源或新增业务逻辑那就不是Key User能覆盖的应直接转入正式开发评估而不是让Key User在界面上硬找入口。2. 实操前的系统准备角色、授权与前置条件别以为Key User UI Adaptation是开箱即用的。到了实际项目里我总结下来真正卡住进度、最容易出问题的环节往往不在操作而在前置准备。系统版本不对、角色没配齐、服务没激活按钮都看不到。2.1 前置条件清单按顺序排查一遍我在新项目里通常按下面这个清单做环境检查Fiori前端服务器FES版本需要满足最低要求或使用嵌入式部署S/4HANA内嵌网关Fiori。需要启用配置了相应的OData服务这些服务通常跟UI灵活性管理相关例如flexibility相关的数据服务需要确保已激活、可访问。前端组件的版本支持运行时适配涉及sap.ui.fl组件老版本可能部分功能受限制。应用本身是可适配的大部分标准Fiori元素应用默认支持但自定义应用需要在应用描述中做适配性声明。Key User的Fiori Launchpad站点需要能看到应用磁贴并且该站点的角色分配正确。其中第四点特别容易被忽略。我遇到过不少自定义开发的Fiori应用顾问交付时没有考虑Key User UI Adaptation导致Key User进入不了适配模式。对自定义应用开发阶段就应该把适配开关打开在manifest.json中增加相应配置让运维后续能有管理余地。这不是不能后补但需要修改应用重新打包代价比一开始就预留要高得多。2.2 角色与授权把Key User的钥匙给到对应的人在系统里Key User能力是通过角色授权对象控制的。标准做法是给Key User分配一个包含UI灵活性权限的角色同时保留访问Fiori Launchpad与目标应用的权限。从实践角度看有几个细节要注意。第一Key User角色是独立于应用访问角色的。也就是说你没有某个应用的访问权限就算有全局Key User授权也进不了那个应用的适配界面因为应用根本看不到。反过来有应用访问权限但没Key User授权你只会看到本用户的Personalize不会看到Adapt UI。第二授权对象有维护级别之分。有些系统里还区分Key User和管理员两种级别。管理员级别通常允许跨应用管理用于IT运维。业务Key User应该使用普通级别限定在自己需要维护的应用范围内。提示权限设计时我通常会把Key User角色拆成两类一类只读家一类是可编辑家。有些业务骨干只需要使用适配后的界面真正被授权做调整的Key User是少数。这样可以大幅降低后续治理风险。2.3 新老系统差异界面入口各有不同Fiori的部署形态会影响Key User看到的入口。在S/4HANA嵌入式部署里Fiori Launchpad和后台在同一个系统适配变更直接写回后台。此时Key User进入应用后在用户菜单通常能看到Adapt UI。在集中式FES部署Fiori前端服务器单独部署模式下前端系统和后端系统分离Key User UI Adaptation涉及跨系统调用配置复杂度明显上升。需要确保前端系统能与后端的灵活性服务正常通信有时候还要额外配置路由和信任关系。我在一个老版本FES的升级项目里就遇到过系统版本太旧前端运行时组件还没支持Key User UICLient层不含传输部署形态也会影响。如果代码注释团队很容易误以为Key User工具不可用。3. 从打开应用到落库一次完整适配流程实录这部分我按一次真实的适配操作来走一遍包含我从进入模式到发布的完整路径过程中穿插我实际遇到的反馈和调整。3.1 进入适配模式找到正确的入口以一个标准的S/4HANA Fiori应用为例。登录Fiori Launchpad后打开某个采购审批应用点击右上角当前登录用户头像菜单里会看到Adapt UI或UI Adaptation入口。如果没有看到常见原因有三个当前用户没有Key User适配授权应用不支持运行时适配尤其自定义应用需要检查预配置Fiori Launchpad站点配置未加载完整最新角色建议改完角色后让用户重新登录再做一次站点更新。用户全程不需要重启浏览器但如果访问的Fiori Launchpad版本较旧可能需要清除浏览器缓存。3.2 进入适配模式后的界面调整操作点击Adapt UI后业界面会有一个明显的提示表示现在是适应模式状态。此时你能看到一些编辑手柄、边框高亮、以及可操作的调整元素。我建议在操作时用一种心态这不是自由画布而是一个有约束的编辑器可调整的点通常都有可视化标记。常用的操作有几种字段调整在表单或表格里光标悬停在字段上会出现相关操作按钮可以隐藏、移动、重命名。移动通常是用拖拽方式完成的但在一些老组件上可能只能用上下移动按钮。表格列调整点击列头的“列设置”或“调整列”可以设置显示/隐藏列调整顺序。这一类的调整很快就能看到效果。筛选条件Smart Filter Bar里可以删除不用筛选器、设置默认值、调整筛选字段范围。我做一个采购审批应用的示范时业务部门提出三个需求隐藏审批历史里对业务无意义的内部技术字段把供应商字段从第二屏提到第一屏默认表格按申请日期倒序排列。整套操作完成只花了十几分钟Key User自己完成配合截图。相比提开发单时间上是天壤之别。注意操作过程中不要同时用多个浏览器标签页打开同一个应用的适配模式容易造成变更覆盖。我在项目里要求Key User只在一个标签页内操作。3.3 保存、发布与传输绑定调整完成后点击停止编辑或完成按钮。系统会弹出操作选择常见是两类保存保存为个人适配只对你自己生效。发布给所有用户Key User适配真正生效并出现在所有用户界面上。这里就要讲回传输的概念了。在开发或测试系统里发布通常还会让你选择是否分配传输请求。选择是系统会创建一个传输请求填入标题你可以把这个请求释放到下一步例如从测试环境传到预发、生产。在生产系统上大多数情况你会希望避免直接发布到客户层。如果生产系统允许直接发布那意味着变更没有经过测试和记录。我在治理规范里通常会强制要求生产系统上的Key User适配必须要有传输请求来源不允许直接在生产上保存。3.4 发布之后的确认与回看发布完成后建议做一个快速回归换一个普通业务账号登录打开同一应用确认调整已生效。检查是否存在布局异常例如隐藏某个字段后其他字段是否发生错位。如果涉及排序或筛选确认数据展示是否正确。我遇到过一个情况Key User在适配模式里隐藏了一个字段但另一个字段也受影响被隐藏了。这就是典型的字段联动问题原因通常是对某些字段设置了关联显隐规则适配操作并不会自动解除。需要开发参与吗多数时候不需要只要Key User回看时能找到关联关系并手动恢复即可。所以我的习惯是发布之前用“另存为版本”或先保存成个人适配,换账号确认无误后再发布。虽然发布也支持撤销但撤销对已发布的全球用户层面来说操作成本更高。4. 常见问题与排查思路这些年我踩过的坑Key User UI Adaptation用起来很顺手但坑也不少。下面这张表整理了我遇到的高频问题排在前面的是最常见的原因。现象常见原因处理思路用户看不到Adapt UI入口角色授权未分配到位检查Key User角色、应用访问权限刷新Launchpad能进入但操作项很少应用版本或组件不支持运行时适配考虑升级FES组件版本或评估自定义应用适配性保存了但其他人看不到保存到了个人层/客户层未发布确认发布操作及传输绑定发布后生产环境无变化передача请求未成功导入目标系统在传输管理中检查请求状态复查导入日志调整后界面错位隐藏字段关联了显隐规则在适配模式下检查字段关系恢复隐藏项想撤销某次发布需要找到该应用对应变更记录进入适配管理界面定位变更执行撤销并重新发布4.1 “保存成功但发布不了”才是真正的高频坑表面上是单个错误提示但背后可能有多种原因没有可用的传输请求、对象被其他传输锁定、请求类型不支持Key User适配等。我在测试环境见过很多次Key User在适配完成后点发布系统提示请分配一个传输请求但下拉列表里什么都没有。原因通常是请求类型不支持或者后台系统里没做传输目标配置。解决办法是先确认CTS配置没问题再手动创建一个空传输请求请求类型最好选择变更请求或自定义请求而不是任务请求发布时手动填入该请求号。这个操作本身不难但对业务Key User来说已经超纲了。所以我的建议是把传输请求是否可用作为Key User工单的必检项由实施顾问或Basis在前期做好系统准备。4.2 “Adapt UI”入口键消失的复现场景我处理过一个很典型的情况某个用户一开始能看到Adapt UI入口到了一段时间后入口消失了能确定的是角色没变。排查后发现是他登录的Fiori Launchpad站点没有包含某个基础业务角色这个角色在升级后从站点配置里被抽掉了。这个案例给我们的启示是Key User UI Adaptation授权不是单独授权的它依赖站点角色组合。如果你发现授权了但入口不可见建议把重点放在两个地方站点分配的角色集合、以及FLP站点是否做了角色缓存刷新。运维上我在SAP GUI中用策略执行角色刷新通常就能解决入口缓存不刷新的问题。用户如果还是看不到就检查Clear Cache参数是否打开。4.3 回退与撤销比想象中的稍微复杂Key User UI Adaptation是支持撤销的但路径比较隐蔽。对于刚发布的适配在管理入口或应用管理区能找到对应变更记录可以执行撤销/删除操作然后重新发布。对于已经传送到生产环境的变更撤销需要重新创建一个反向变更并再次走传输流程因为已发布的适配已经被其他用户加载。这一点对治理很重要绝对不要假设撤销是即时全局的。如果一项变更是重要调整撤销也要走变更管理通知到所有使用者。我在项目里给业务侧的规则是想清楚了再发布别把发布当保存来频繁使用。5. 别让“灵活”变成“失控”Key User Adaptation的治理之道讲完了怎么用、怎么排错接下来才是真正决定这套工具成败的部分治理。没有治理的Key User UI Adaptation大概率运行一年后会积累大量无序变更到时候做界面回归测试你都不知道哪些是标准、哪些是调整。5.1 Key User角色怎么分配宁精勿滥我强烈反对把所有业务骨干都设置为Key User。每个业务部门建议只设1到2位Key User而且要经过IT的培训考核后授权。这些人今后不只是自己改还要成为本部门的需求收口人负责判断哪些需求能走Key User适配哪些必须提开发。再设置一个精确授权的动作Key User角色只开放给他们需要维护的少数应用即可。不要用一个全局Key User角色覆盖所有应用这样可以极大缩小变更影响范围。5.2 传输策略与变更单生命周期Key User UI Adaptation一旦走传输它就是一个技术变更必须遵守项目变更管理流程。我在项目里定了一套约定开发、测试系统上Key User可以做调整和发布但目标只是验证。任何要上生产的适配必须有明确的变更单号通过CTS传输链路上线。生产系统上关闭直接发布权限所有变更从测试系统发起。每周回顾传输队列定期整理变更单状态。如果系统上确实存在允许生产系统保存客户层的方式建议把OData服务权限从生产系统的Key User角色中拿掉只保留在测试系统里。生产上的适配全部由运维通过回顾传输栈完成。5.3 变更审计与定期界面“体检”适配不像程序代码改动后不一定有很明显的报错问题通常是慢慢累积的。比如某个字段在三次适配里被反复隐藏、取消隐藏最终结果可能和最开始的需求完全相反。我的做法是在项目上线后每季度做一次界面适配体检导出一份已发布的Key User适配清单与业务确认每一项是否仍然有效清掉过期适配。这个清单系统里是可以查到的通过应用管理相关入口可以列出所有已发布变更及其传输号。5.4 培训、沟通与容器边界说到最后的落地关键还是人。我见过最成功的案例中IT并没有扮演审批机器的角色而是搭建平台、提供培训让业务Key User快速建立信心和能力。培训内容至少包括四块适配工具的入口和基本操作哪些能改、哪些必须提开发发布的权限边界和流程出错时如何联系IT进行回退。同时IT要维护一份简单的需求分流表如果改动只是字段调整、布局优化走Key User如果涉及数据模型、逻辑变更自己花两周走了开发流程。这套规则没有多高深但需要一直坚持。提示所有让业务自服务的工具最后都需要一份谁可以怎么做的明确边界记录。Key User UI Adaptation尤其如此因为它权力下放的度很高但对系统的影响很小恰恰是最容易失控也最容易补救的一环。我个人在几个项目里总结出的体会是Key User UI Adaptation并不是一个锦上添花的功能它其实是Fiori时代运维模式转变的标志。把它用好了IT和业务的协作方式都会发生变化——业务第一次有了对自己界面的话语权IT从琐碎的微调需求中解放出来。关键是一开始就要把角色边界、传输链路、回退机制和审计节奏设计清楚让灵活和可控这两件事可以同时成立。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。