如何找到某个 ABAP structure 某字段的源头来自哪个数据库表
我的微信群里有朋友提問:
如何找到某個 ABAP structure 里的某個字段,運行時的值是從哪個數據庫表的字段里寫入的?
以 ABAP structure BAPIAD1VL 為例,假設我們需要查找 字段 DISTRCT_NO 的來源。
其實沒有什么太好太精確的辦法。我這里提供一種辦法。
選中 DISTRCT_NO, 點擊 SE11 工具欄的 Where used list 圖標:
有4條結果,一條一條人工查看。如果結果數很多,這種方法就很低效了。
第三條記錄里,發現是 ADDR1_VAL 結構的 CITYP_CODE 字段,寫入了我們要查找的目標結構 BAPIAD1VL-DISTRCT_NO 字段。
這個 ADDR1_VAL 仍然是一個 ABAP 結構,所以我們這里有兩種選擇。
一是我們的目標,轉而劃歸為查找結構 ADDR1_VAL 的字段 CITYP_CODE 來自何方。可以遞歸地用 SE11 的 where used list,查找字段 CITYP_CODE, 直至搜索結果里,發現真正的數據庫表才結束探索。
第二種選擇是,使用 SE80 的 Repository information system.
打開 SE80, 左邊展開 Fields->Table Fields, 右邊輸入 CITYP_CODE:
在搜索結果里,發現 ADRCITYPRT 和 ADRSTREET 這兩張表的 CITYP_CODE 字段最有可能是我們要查找的字段。
此時手動到 SE16 查看這兩張表的字段來確認。
另外群里這位朋友還問到了 check table. 這個概念往往容易和另一個 value table 相混淆。
check table
它只是包含特定外鍵表字段的所有有效條目的表。用于字段級驗證(它限制字段值)。
value table
值表在域(domain)級別維護,也稱為域級別驗證。
二者的區別
-
check table 將對在任何應用程序中輸入的表字段的輸入值進行檢查,value table 將在 F4 幫助上為該表字段提供值。
-
check table 定義外鍵并且是表定義的一部分。而 value table 是域定義的一部分。
-
check table是字段級別的驗證,value table 是域級別的驗證,用于為引用該域的所有字段提供 F4 幫助。
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的如何找到某个 ABAP structure 某字段的源头来自哪个数据库表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是 Web 应用性能评测领域的 RA
- 下一篇: LOL手游大乱斗狐狸带什么符文 随机中单