在sap開發的過程中,經常需要自訂資料表,對於簡單的資料表,我們可以通過sap的表維護工具產生維護代碼,並建立自訂的TCODE來維護其資料。具體步驟如下:一、建立自訂表格(TCODE :SE11)
1 在“Delivery and Maintenance”Tab螢幕設定“Data Browser/Table view Maint.”屬性為“允許通過標準表格維護工具維護”
2 設計表格欄位
3 設定表格技術設定,菜單:轉到-》技術設定
4 儲存啟用。二、產生維護代碼
產生維護代碼代碼有兩個途徑:
1、se11介面的菜單:公用程式-》Table Maintenance Generator其實這裡就是調用SE54
2、通過TCODE: SE54三、建立自訂CODE(TCODE:SE93)
有三種方法來建立自己的TCODE來維護自訂表格;
1 通過SM30維護
進入TCODE:SE93建立新TCODE,tcode類型選擇為:“Transaction with parameters(parameter transaction)”;事務欄輸入“SM30”;選中“跳過起始螢幕”;選中“Inherit GUI attribute”;輸入預設欄位:VIEWNAME = '自訂的表名' 和UPDATE = 'X';儲存啟用即可;
2 通過RS_TABLE_LIST_CREATE函數建立新程式來建立TCODE,執行程式,介面類類似SE11查詢表介面
新程式碼如下
report test . call function 'RS_TABLE_LIST_CREATE'
exporting
action = 'ANLE'
table_name = 'YTVIN'
generation_forced = ' '.
3通過View_Maintenance_Call 函數建立新程式來建立TCODE,代碼可以參見SAP的標準程式RFT042D_CALL
代碼如下 CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
action = 'U'
* SHOW_SELECTION_POPUP = 'X'
view_name = viewname
variant_for_selection = variant
EXCEPTIONS
client_reference = 1
foreign_lock = 2
invalid_action = 3
no_clientindependent_auth = 4
no_database_function = 5
no_editor_function = 6
no_show_auth = 7
no_tvdir_entry = 8
no_upd_auth = 9
only_show_allowed = 10
system_failure = 11
unknown_field_in_dba_sellist = 12
view_not_found = 13
OTHERS = 14.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.功能:維護表視圖等
The function module calls the extended table maintenance (View maintenance).
參數:
import:ACTION S = Display U = Change T = Transport
CORR_NUMBER 傳送號(上面的action是t)
SHOW_SELECTION_POPUP 是否彈出選擇畫面
VIEW_NAME 視圖名
NO_WARNING_FOR_CLIENTINDEP 跨集團是否現實警告
VARIANT_FOR_SELECTION 變式名
CHECK_DDIC_MAINFLAG 察看是否為可維護對象