SAP Fiori标准应用F1595:如何用单值帮助替换集体搜索帮助MAT0M?
问题解答:简化SAP Fiori应用F1595的物料值帮助标签页
环境
- SAP S/4HANA: 2023 release (on-premise)
- Fiori应用: F1595 – 库存 – 多物料
- OData服务: S31PCE
问题描述
标准“库存 – 多物料”应用中,物料筛选字段基于数据元素MATNR,关联集体搜索帮助MAT0M。按下F4唤起值帮助对话框时,会显示多个标签页(如“按编号找物料”“按描述找物料”),原因是MAT1包含多个基本搜索帮助。需求为:不修改标准DDIC对象、不构建完全自定义应用的前提下,将值帮助简化为单个基本搜索帮助(仅一个标签页)。
已尝试操作
- 检查CDS视图
C_MaterialStockByKeyDate,确认其引用I_MaterialStock系列视图 - 通过SE11验证
MATNR绑定的集体搜索帮助为MAT1 - 考虑复制
MAT1/MATNR,但因不符合升级友好原则放弃 - 构建CDS值帮助提供者
ZVH_Material,并在自定义投影视图ZC_Mmim_MatstockByDate中添加@Consumption.valueHelpDefinition注解 - 通过自定义OData服务和适配项目暴露该自定义值帮助,但仅在自定义应用中生效,对标准F1595应用无作用
疑问解答
1. 是否可在不修改标准搜索帮助MAT1、不创建完整自定义投影/服务的前提下覆盖标准应用值帮助?
可以通过**Fiori UI适配工具(UI Adaptation Mode)**实现,无需修改后端对象或重建服务:
- 进入F1595应用的适配模式(点击右上角适配按钮)
- 找到物料筛选字段,进入其值帮助配置界面
- 在值帮助的标签页设置中,禁用不需要的基本搜索帮助对应的标签页,仅保留目标标签页
- 保存适配规则后,该配置会绑定到对应Fiori Launchpad角色/用户,对标准应用生效
这种方式完全基于前端适配,不触碰后端标准对象,是最轻量化的升级友好方案。
2. 若选择自定义CDS+适配项目方案,升级友好的最佳实践
如果因业务需求必须通过后端自定义实现,遵循以下原则:
- 避免修改标准CDS视图:始终基于标准视图创建自定义投影(如
ZC_Mmim_MatstockByDate),仅在自定义投影中添加@Consumption.valueHelpDefinition指向自定义值帮助ZVH_Material - 使用增强框架而非复制:优先利用CDS视图的增强能力(如
EXTEND VIEW),而非完全复制标准视图结构,减少升级时的合并工作量 - 自定义值帮助复用标准逻辑:自定义CDS值帮助提供者
ZVH_Material内部直接引用标准物料视图(如I_Material),仅过滤或调整返回的搜索帮助结构,避免重复开发业务逻辑 - 适配项目与自定义服务解耦:通过Fiori适配工具将标准F1595应用的数据源指向自定义OData服务,而非直接修改标准应用的元数据,升级时只需验证适配规则是否兼容新版本
- 版本管理自定义对象:为所有自定义CDS视图、值帮助、OData服务添加版本标识,升级后优先检查这些对象的兼容性,必要时通过版本切换快速回退
重现步骤
- 打开Fiori Launchpad,进入“库存 – 多物料”应用
- 在筛选区域点击物料字段的F4按钮,可见因集体搜索帮助导致的多标签页值帮助对话框
内容的提问来源于stack exchange,提问作者jomesili
相关产品推荐
相关产品推荐

