在SAP中,經常需要自定義數據庫表。而且可能需要人工維護數據庫表中的數據,可以通過SM30進行維護數據;但是SM30事務的權限太大,不適宜將SM30直接分配;因此,可以通過給維護表分配事務代碼,來達到控制權限的目的。通過下例,來展示大致的維護過程;
1、
首先通過SE11,創建一個自建表,在‘Delivery and Maintenance’頁簽里,需要維護‘Date Browser/Table View Maint.’,如圖1;

如果在這里不進行設個該選擇項,則在使用SE16時,無法進行創建新條目的操作,如圖1.1;在使用SM30時,也無法進行相應的操作,如圖1.2;


2、在維護完基本的數據后,還需要維護‘表生成器’,維護步驟如下;




經過以上的步驟,就完成對‘表維護生成器’的創建。
3、
SE93維護創建事務代碼,選擇‘Transaction with parameters(parameter transaction)’;進入維護界面后,‘事務’填寫‘SM30’,並將‘跳過起始屏幕’復選框選中,在‘Classification’中選中‘Inherit GUI attributes’,然后在‘Default values’里填入兩個變量的值:UPDATE = 'X' 、VIEWNAME = 自定義數據庫表名,保存后,就可以使用生成的事務代碼直接進行維護數據了,如下;


4
、對維護的對象增加代碼
在一個項目中最好統一一個函數組,如果有多個表需要維護,只要對應的遞增‘概述屏幕’號就可以了,如圖所示:

如果需要在維護的時候對已知的表字段做些增強,如描述自動帶出等功能,則可以通過如下步驟實現:
4.1 在表格維護生成器中點擊左上角的‘源代碼’,在彈出的‘程序組件部分’中雙擊對應的函數(函數名為‘SAPL+函數組’,如下圖:

4.2 雙擊程序名后,會跳轉至SE38,進入程序,點擊‘顯示清單對象’,就可以在左側的‘屏幕’下拉中找到對應的屏幕號,這時雙擊屏幕號,就可以進入對應的屏幕及邏輯設計,如下圖:

(注:在維護表生成器時,維護類型選擇‘一步’,否則在維護數據的時候會產生請求號,如下圖:)

(注:該文是本人在實踐中的結果,如果有什么不足與問題望大家能指出,謝謝!O(∩_∩)O~!!!)