很多從事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裡,任務完成。
更多閱讀
- Jerry的通過CDS view + Smart Template 開發Fiori應用的blog合集
- SAP Fiori應用的三種部署方式
- Jerry的Fiori原創文章合集
- SAP成都C4C小李探花:淺談Fiori Design Guidelines
- SAP Fiori + Vue = ?
- Fiori Fundamentals和SAP UI5 Web Components
- 30分鐘用Restful ABAP Programming模型開發一個支援增删改查的Fiori應用
- SAP Fiori應用索引大全
- 介紹一種Fiori标準應用的增強方式
- 揭開SAP Fiori程式設計模型規範裡注解的神秘面紗 - @ObjectModel.readOnly工作原了解析
- 為什麼SAP GUI裡的傳統事務碼能通過Fiori Launchpad啟動并運作在浏覽器裡
- 一步步把SAP GUI的事務碼配置到SAP Fiori Launchpad裡
- 揭開SAP Fiori程式設計模型規範裡注解的神秘面紗 - @OData.publish工作原了解析
- SAP Fiori裡的Adapt UI按鈕,神出鬼沒的奧秘
本文來自雲栖社群合作夥伴“汪子熙”,了解相關資訊可以關注微信公衆号"汪子熙"。