DATA:lt_sellist TYPE TABLE OF vimsellist.
DATA lv_append_conjunction TYPE vimsellist-and_or.
IF s_werks IS NOT INITIAL.
CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST' 调用改函数获取筛选范围的时候得注意,如果本来有值需要加上关联条件即 append_conjunction需要加上AND 或OR,否则会报错
EXPORTING
fieldname = 'WERKS'
append_conjunction = ''
TABLES
sellist = lt_sellist
rangetab = s_werks.
ENDIF.
lv_append_conjunction = COND #( WHEN lt_sellist IS INITIAL THEN '' ELSE 'AND' ).
IF s_matnr IS NOT INITIAL.
CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
EXPORTING
fieldname = 'MATNR'
append_conjunction = lv_append_conjunction
TABLES
sellist = lt_sellist
rangetab = s_matnr.
ENDIF.
lv_append_conjunction = COND #( WHEN lt_sellist IS INITIAL THEN '' ELSE 'AND' ).
IF s_res IS NOT INITIAL.
CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
EXPORTING
fieldname = 'RES_NAME'
append_conjunction = 'AND'
TABLES
sellist = lt_sellist
rangetab = s_res.
ENDIF.
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
action = 'U'
view_name = 'ZTPP128'
TABLES
dba_sellist = lt_sellist
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.
ENDIF.
SM30 自定义参数维护数据
于 2024-04-28 14:36:09 首次发布