表维护除了调用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创建并加入连接条件(未实现过)。