表的維護視圖是SAP系統中常用的一種技術,本篇博客介紹了維護視圖的常見應用場景。
1 常用的事務代碼
- SE11 - ABAP Dictionary Maintenance (ABAP數據字典)
- SE54 - Generate Maintenance Call (生成表維護對話)
- SE55 - Table View Maintenance DDIC Call(表視圖維護 DDIC 調用)
- SM34 - View Cluster Maintenance Call (視圖簇維護對話)
- SM30 - Call View Maintenance (調用視圖維護)
2 SAP表的維護方式
2.1 直接使用表維護
對於一張配置表,可以通過SE11 -> Utilities -> Table Maintenance Generator 或者直接使用事務代碼SE55爲它直接生成一個表維護,從而允許用戶通過SM30可以直接維護這個表。
舉例:SAP系統中的標準表T000就是通過這種方式直接生成的維護表。
對於沒有特殊的authorization group的表維護,可以填寫&NC&, 如果是test,可以選擇local package,給定的function group名稱如果在package不存在,在表維護的創建過程中會自動生成。
2.2 使用維護視圖(Maintenance View)
當需要同時維護若干個有關聯關係的表時,我們可以使用維護視圖。最簡單的一種例子就是對於文本表,例如可以查看V_T036, 其包含了表T036以及對應的文本表T036T。這樣當用戶在維護V_T036時,便會同時更新到對應的T036和T036T兩個表中。
創建維護視圖的方式是,SE11 --> View --> Create,然後選擇Maintenance View。
在生成Maintenance View後,可以設置具體的join condition以及view field (注:Maintenance View是Outer JOIN)。設置完成後,通過SE11 -> Utilities -> Table Maintenance Generator 或者直接使用事務代碼SE55爲它直接生成一個對話維護窗口。
關於維護視圖,還有很多其他的應用場景,例如維護的對象主表只有一個,但可以通過join多個輔助的表爲不同的字段提供關聯的文本信息,進而輔助用戶更好地維護。可以參考FQMV_BSEG_FT。
2.3 使用視圖簇(View Cluster)
當維護有層級關係的多個表時,可以使用視圖簇View Cluster。View Cluster可以將多個相關的Maintenance View集成在一起。
首先創建維護視圖,然後通過SM34將有層級關係的視圖組成視圖簇。例如標準的view cluster VC_T009。
最終形成如下的效果 -