本文經過一些實際的例子,介紹 ABAP Repository Information System 的使用技巧。數據庫
顧名思義,ABAP Repository Information System,是一個巨大的倉庫信息系統,存放了各類類型的 ABAP 開發對象。數據結構
使用事物碼 SE80 打開這個倉庫信息系統。進入以後,看到的頁面以下:spa
固然,你們 SE80 後看到的頁面,不必定和我徹底一致。咱們能夠在 SE80 的 Utilities 菜單裏,選擇應該顯示哪些標籤出來:orm
好比我點擊 Select All,把 SE80 支持的全部標籤頁所有放出來:對象
最後的界面以下:開發
本文着重介紹 Repository Information System 的用法。rem
能夠根據各類輸入條件查詢 ABAP 開發包。能夠把 ABAP 開發包理解成一個容器,裏面能存放各類類型的 ABAP 開發對象,比如一個抽屜,裏面能裝各類雜物同樣。任何 ABAP 開發對象,新建以後保存以前,系統都會彈出提示框,讓開發人員選擇,將這個開發對象存儲在哪個 ABAP 開發包裏。字符串
搜索結果:產品
上圖演示了根據 Package 的名稱來搜索的功能,意思是:搜索系統全部以 $ZJE 開頭的 ABAP 開發包。ABAP 開發包也能看做是一種廣義上的 ABAP 對象,$ 和 Z 都是 ABAP 對象的命名規範,意思是該對象是本地存儲,不能經過傳輸請求(Transport Request) 導入到其餘系統。傳輸請求(Transport Request) 是 ABAP 一個特點概念,若干個 ABAP 開發對象能夠依附於同一個傳輸請求,經過該請求,這些 ABAP 開發對象能夠導入到其餘系統。能夠把傳輸請求想象成卡車,把分配給傳輸請求的 ABAP 開發對象,想象成卡車上運輸的貨物。
例如搜索全部描述字段包含了字符串 Product 的傳輸請求:it
點擊時鐘圖標或者按鍵盤 F8 以後,執行搜索,獲得結果:
隨便雙擊搜索結果裏某一個傳輸請求,便可看到該請求內包含的 ABAP 對象:
ABAP 字典,能查詢到事物碼 SE11 裏建立的 ABAP 數據對象。
下圖是事物碼 SE11 的界面,咱們一般使用 SE11,進行 ABAP 數據結構,好比數據庫表,數據類型的增刪改和瀏覽操做。
可是對於一些查找需求,好比查詢全部「包含了字段名稱 PRODUCT_GUID」的數據庫表,用 SE11 就沒法完成這個需求。
可是使用 Repository Information System 能夠輕易實現:
下圖右邊這些橙色的高亮區域,即表明包含了字段 PRODUCT_GUID 的全部數據庫表名稱。
下圖例子爲查找全部名稱包含了 CRM_PRODUCT_GET 的 function module:
這也是 ABAP Repository Information System 極爲有用的查詢功能之一。
列出全部包含了方法 GET_FOCUS 的 ABAP 類:
結果:
查找全部包含了 private 屬性,且名稱爲 CONTEXT 的 ABAP 類:
搜索結果:
能夠隨便雙擊一個結果確認:
基於 Events 和 Types 做爲搜索條件的查詢方式,和上述已經介紹的方式徹底一致,這裏再也不贅述。
查詢系統裏最後被用戶名 WANGJER 修改的 ABAP 加強:
搜索結果:
這也是一個極其有用的功能。好比我在事物碼 COMMPR01 裏,試圖打開一個實際並不存在的產品,會遇到錯誤消息:No products found.
只須要根據 No products found 進行查詢:
便可獲得搜索結果:這條錯誤消息的 message class 爲 COM_PRODUCT_WB_UI, id 爲 101.
雙擊便可看到明細:
經過 Repository Information System 查詢出來的 Message Class 和 ID,同該消息彈出框裏點擊這個黃色問號圖標看到的信息是一致的:
更多Jerry的原創文章,盡在:"汪子熙":