SAP表維護程式的增強?

自建表在系統實施中的應用很廣,通常分為配置表(C型別)和應用表(A型別)。對於配置表,由於資料量小,變更少,通過SAP的標準表維護SM30基本都能滿足要求;對於應用表,一般資料量較大,使用者的維護頻率也較大,這時對於使用者的一些附加要求,比如條件過濾、自動賦值等,往往超出SM30的標準功能,此時就需要做一些必要的擴充套件增強

當我們為自建表建立標準表維護時,要制定函式組和螢幕號,從而我們可以知道,SM30的表維護是呼叫使用者指定的函式組螢幕來實現的。而這裡的函式組是在使用者的名稱空間裡,因此可以針對函式組做一些很靈活的擴充套件增強。

開發物料描述維護介面維護自建表ZMM_MAT_DESC,具備選擇螢幕篩選,維護時自動帶出最後修改人和修改時間。後續可以通過自建表手動或後臺更新到物料主資料中,在此不做演示。

工具/原料

SAP系統

事務碼 SM30、SE80、SE11

方法/步驟

SE11建立自建表,結構如圖所示,注意表的型別。

SAP表維護程式的增強

表格建立成功後,啟用。然後在選單上選擇建立表維護程式。許可權組使用圖中所輸的那個許可權組,維護型別選擇一步,將螢幕號定義成100。

SAP表維護程式的增強

針對上面建立的函式組ZMM_MAT_DESC,做以下增強處理。在螢幕的PBO中的迴圈中,新增一個自定義的MODULE MOD_CUSTOMIZE。新增MODULE程式碼如下:

module mod_customize input.

"自動帶出值

zmm_mat_desc-lname = sy-uname.

zmm_mat_desc-ldate = sy-datum.

zmm_mat_desc-ltime = sy-uzeit.

endmodule. " MOD_CUSTOMIZE INPUT

SAP表維護程式的增強

修改100螢幕,把對應的三個欄位設定為不可輸入。這兒更改螢幕和REPORT更改螢幕沒有任何區別。

SAP表維護程式的增強

使用SM30可以直接輸入表維護程式的表進行維護。為了方便,我們用SE93給SM30建立一個TCODE。

SAP表維護程式的增強

SAP表維護程式的增強

SAP表維護程式的增強

建立完成後,就可以通過TCODE執行程式了。程式執行出來的介面比系統生成的介面好看多了

SAP表維護程式的增強

SAP表維護程式的增強

注意事項

表維護程式中生成的程式碼要參考表的各種資訊,所以生成表維護後不能再更改表內容。

建立表時注意表型別及維護許可權。

將表的寬度拉大一些,系統生成的表維護程式一般只佔螢幕的一小部分,很不美觀。

型別, 函式, 使用者, 螢幕, 維護程式,
相關問題答案