话不多说,直接上代码
DATA:ls_sel TYPE vimsellist,
lt_sel TYPE TABLE OF vimsellist.
下面演示的是同时满足工厂1000和1010的视图
ls_sel-viewfield = 'WERKS' .
ls_sel-operator = 'EQ' .
ls_sel-and_or = 'OR'.
ls_sel-value = '1000' .
APPEND ls_sel TO lt_sel.
ls_sel-viewfield = 'WERKS' .
ls_sel-and_or = 'OR'.
ls_sel-operator = 'EQ' .
ls_sel-value = '1010' .
APPEND ls_sel TO lt_sel.
"也可以使用其他情况的过滤
如
ls_sel-viewfield = 'WERKS'.
ls_sel-and_or = 'AND'.
ls_sel-operator = 'GE'. " Rango inferior
ls_sel-value = '1000'.
APPEND ls_sel to lt_sel.
ls_sel-operator = 'LT'. " Rango superior
ls_sel-value = '1200'.
APPEND ls_sel to lt_sel.
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
action = 'S' "S-显示;U-修改;T-传输;
* CORR_NUMBER = ' '
* GENERATE_MAINT_TOOL_IF_MISSING = ' '
* SHOW_SELECTION_POPUP = ' '
view_name = 'ZTPP0007' "创建的视图
* NO_WARNING_FOR_CLIENTINDEP = ' '
* RFC_DESTINATION_FOR_UPGRADE = ' '
* CLIENT_FOR_UPGRADE = ' '
* VARIANT_FOR_SELECTION = ' '
* COMPLEX_SELCONDS_USED = ' '
* CHECK_DDIC_MAINFLAG = ' '
* SUPPRESS_WA_POPUP = ' '
TABLES
dba_sellist = lt_sel
* 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.