如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表

i042416發表於2020-02-07

很多從事ABAP開發的朋友們,想必都閱讀過這個文件的英文或中文版:

  • 18 Techniques for Locating the Underlying Data of a Screen Field
  • 在SAP GUI裡查詢一個螢幕欄位對應的底層資料庫表的18種方法

如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表

作者是Dennis Barrett:

如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表

到了Fiori時代,裡面的很多辦法都不再適用了。

本文介紹一種方法能找出Fiori UI上某欄位對應的ABAP後臺資料庫儲存表。雖然不一定足夠通用,但確實能解決Jerry當時實際工作中遇到的一個問題。

這是SAP S/4HANA一個標準的Fiori應用: Product Master

如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表

我的需求是,找到欄位"Number of Goods Receipt"在後臺是儲存在哪張表裡的。

下面是Jerry自己探索的詳細步驟。

(1) 我們知道SAP UI5也是一個基於MVC的前端框架,框架支援雙向繫結。在Chrome開發者工具裡,找到這個UI欄位繫結的模型欄位名稱:

NmbrOfGROrGISlipsToPrintQty

如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表

(2) 找到該Product Master Fiori應用基於的OData服務,瀏覽器裡輸入其metadata url檢視結果,找到欄位NmbrOfGROrGISlipsToPrintQty的從屬資料型別為:

C_ProductstorageType

如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表

(3) 登入ABAP Development Tool,使用選單"Open ABAP Development Object":

如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表

把第二步找到的資料型別C_ProductstorageType,根據命名規範,將Type前面的值C_Productstorage作為關鍵字查詢:

如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表

排在結果列表第一位的C_PRODUCTSTORAGE, 是一個CDS view.

該檢視從I_ProductStroageWD裡讀取資料,

如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表

I_ProductStorageWD又從I_Productstorage裡讀取:

如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表

最終,I_Productstorage從資料庫表MARA裡讀取資料。

如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表

在這個檢視的原始碼裡,根據第二步找到的欄位名稱NmbrOfGROrGISlipsToPrintQty進行搜尋,立即就找到了對應的資料庫表MARA裡的欄位為wesch:

如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表

再到SE16裡開啟MARA確認一下,發現Fiori UI上看到的23.671這個欄位果然儲存在MARA.WESCH裡,任務完成。

如何查詢SAP Fiori UI上某個欄位對應的底層資料庫表

更多閱讀



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2674690/,如需轉載,請註明出處,否則將追究法律責任。

相關文章