表維護除了調用ALV以外,還可以通過調用SM30的方式實現,以下為主要步驟
1.SE11將透明表設置為允許顯示/維護。
2.SE37建立函數組,用於生成表維護代碼可修改。
3.實用程序-表維護生成器。
注:權限組:&NC&
維護屏幕:單一;概述屏幕100
記錄例程:不,或用戶記錄例程
4.調用SM30函數,添加選擇屏幕條件
DATA GT_DBA_SELLIST TYPE TABLE OF VIMSELLIST. DATA GT_TABNAME TYPE DD02V-TABNAME. CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST' “添加選擇屏幕條件 EXPORTING FIELDNAME = 'MATKL' APPEND_CONJUNCTION = 'AND' TABLES SELLIST = GT_DBA_SELLIST RANGETAB = S_MATKL . CALL FUNCTION 'VIEW_MAINTENANCE_CALL' ” 調用SM30函數 EXPORTING ACTION = 'U' * CORR_NUMBER = ' ' GENERATE_MAINT_TOOL_IF_MISSING = 'X' * SHOW_SELECTION_POPUP = ' ' VIEW_NAME = 'ZTCS118' NO_WARNING_FOR_CLIENTINDEP = 'X' “跳過警告彈窗 * RFC_DESTINATION_FOR_UPGRADE = ' ' * CLIENT_FOR_UPGRADE = ' ' * VARIANT_FOR_SELECTION = ' ' * COMPLEX_SELCONDS_USED = ' ' * CHECK_DDIC_MAINFLAG = ' ' * SUPPRESS_WA_POPUP = ' ' TABLES DBA_SELLIST = GT_DBA_SELLIST * EXCL_CUA_FUNCT = 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 MAINTENANCE_PROHIBITED = 14 OTHERS = 15 . IF SY-SUBRC <> 0. * Implement suitable error handling here ENDIF.
5.SE54/SE55子例程,環境-修改-事件-05新條目控制(例:自動帶出商品組描述)。
6.多表維護視圖SE11/SE54創建並加入連接條件(未實現過)。