如何查找SAP Fiori UI上某个字段对应的底层数据库表

举报
汪子熙 发表于 2022/02/21 16:40:09 2022/02/21
【摘要】 SAP ABAP领域也有对应的“十八般武艺”之说。很多从事ABAP开发的朋友们,想必都阅读过这个文档的英文或中文版:18 Techniques for Locating the Underlying Data of a Screen Field在SAP GUI里查找一个屏幕字段对应的底层数据库表的18种方法作者是Dennis Barrett:到了Fiori时代,里面的很多办法都不再适用了。本...

SAP ABAP领域也有对应的“十八般武艺”之说。

很多从事ABAP开发的朋友们,想必都阅读过这个文档的英文或中文版:

18 Techniques for Locating the Underlying Data of a Screen Field

在SAP GUI里查找一个屏幕字段对应的底层数据库表的18种方法

作者是Dennis Barrett:

到了Fiori时代,里面的很多办法都不再适用了。

本文介绍一种方法能找出Fiori UI上某字段对应的ABAP后台数据库存储表。虽然不一定足够通用,但确实能解决Jerry当时实际工作中遇到的一个问题。

这是SAP S/4HANA一个标准的Fiori应用: Product Master

我的需求是,找到字段"Number of Goods Receipt"在后台是存储在哪张表里的。

下面是Jerry自己探索的详细步骤。

(1) 我们知道SAP UI5也是一个基于MVC的前端框架,框架支持双向绑定。在Chrome开发者工具里,找到这个UI字段绑定的模型字段名称:

NmbrOfGROrGISlipsToPrintQty

(2) 找到该Product Master Fiori应用基于的OData服务,浏览器里输入其metadata url查看结果,找到字段NmbrOfGROrGISlipsToPrintQty的从属数据类型为:
C_ProductstorageType

(3) 登录ABAP Development Tool,使用菜单"Open ABAP Development Object":

把第二步找到的数据类型C_ProductstorageType,根据命名规范,将Type前面的值C_Productstorage作为关键字查询:

排在结果列表第一位的C_PRODUCTSTORAGE, 是一个CDS view.

该视图从I_ProductStroageWD里读取数据,

I_ProductStorageWD又从I_Productstorage里读取:

最终,I_Productstorage从数据库表MARA里读取数据。

在这个视图的源代码里,根据第二步找到的字段名称NmbrOfGROrGISlipsToPrintQty进行搜索,立即就找到了对应的数据库表MARA里的字段为wesch:

再到SE16里打开MARA确认一下,发现Fiori UI上看到的23.671这个字段果然存储在MARA.WESCH里,任务完成。

更多阅读

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。