highlight: atelier-forest-light theme: arknights
原文标题:Create Selection Screen for SAP Table Maintenance View (SM30)
原文链接: https://www.saphub.com/abap-dictionary/sap-abap-tmg-selection-screen/
通常,带有单个屏幕的 SAP 表维护视图 (SM30) 会显示表中的所有记录,如下所示。
如果我们只想根据用户选择在 SAP 表维护视图 (SM30
) 中显示某些记录怎么办?只需按照以下步骤操作即可。
- 创建一个报告程序并根据您的要求设计表/视图的选择屏幕。
- 使用 SAP 功能模块
VIEW_RANGETAB_TO_SELLIST
构建表维护视图的选择标准 - 使用 SAP 功能模块
VIEW_MAINTENANCE_CALL
调用表维护视图(SM30
)
TABLES: zemployee.
CONSTANTS: c_view TYPE char30 VALUE 'ZEMPLOYEE',
c_u TYPE char1 VALUE 'U',
c_and TYPE char3 VALUE 'AND'.
DATA: gt_seltab TYPE STANDARD TABLE OF vimsellist.
DATA: g_fieldname TYPE vimsellist-viewfield.
DATA: gt_exclude TYPE TABLE OF vimexclfun,
gwa_exclude TYPE vimexclfun.
SELECT-OPTIONS: s_id FOR zemployee-id,
s_name FOR zemployee-name,
s_place FOR zemployee-place.
*Add ID column to selection criteria of Table maintenanace view
g_fieldname = 'ID'.
CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
EXPORTING
fieldname = g_fieldname
append_conjunction = c_and
TABLES
sellist = gt_seltab
rangetab = s_id.
*Add Name column to selection criteria of Table maintenanace view
g_fieldname = 'NAME'.
CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
EXPORTING
fieldname = g_fieldname
append_conjunction = c_and
TABLES
sellist = gt_seltab
rangetab = s_name.
*Add Place column to selection criteria of Table maintenanace view
g_fieldname = 'PLACE'.
CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
EXPORTING
fieldname = g_fieldname
append_conjunction = c_and
TABLES
sellist = gt_seltab
rangetab = s_place.
* Call to the 'VIEW_MAINTENANCE_CALL' function module
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
action = c_u
view_name = c_view
TABLES
dba_sellist = gt_seltab.
选择屏幕:显示 SM30
中地点为 LONDON
的所有条目
表维护视图 (SM30)
使用 FM VIEW_MAINTENANCE_CALL
中的 ACTION
参数在更改或显示模式下调用表维护。
可以使用 FM VIEW_MAINTENANCE_CALL
的表参数 EXCL_CUA_FUNCT
停用表维护中的 GUI 功能代码(按钮)。
下面的程序可以停用 SM30 中的“新条目”、“复制”和“删除”按钮。
TABLES: zemployee.
CONSTANTS: c_view TYPE char30 VALUE 'ZEMPLOYEE',
c_u TYPE char1 VALUE 'U',
c_and TYPE char3 VALUE 'AND'.
DATA: gt_seltab TYPE STANDARD TABLE OF vimsellist.
DATA: g_fieldname TYPE vimsellist-viewfield.
DATA: gt_exclude TYPE TABLE OF vimexclfun,
gwa_exclude TYPE vimexclfun.
SELECT-OPTIONS: s_id FOR zemployee-id,
s_name FOR zemployee-name,
s_place FOR zemployee-place.
*Add ID column to selection criteria of Table maintenanace view
g_fieldname = 'ID'.
CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
EXPORTING
fieldname = g_fieldname
append_conjunction = c_and
TABLES
sellist = gt_seltab
rangetab = s_id.
*Add Name column to selection criteria of Table maintenanace view
g_fieldname = 'NAME'.
CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
EXPORTING
fieldname = g_fieldname
append_conjunction = c_and
TABLES
sellist = gt_seltab
rangetab = s_name.
*Add Place column to selection criteria of Table maintenanace view
g_fieldname = 'PLACE'.
CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
EXPORTING
fieldname = g_fieldname
append_conjunction = c_and
TABLES
sellist = gt_seltab
rangetab = s_place.
*Deactivate New Entries
gwa_exclude-function = 'NEWL'. " Function Code for New Entries
APPEND gwa_exclude TO gt_exclude.
*Deactivate Copy
gwa_exclude-function = 'KOPE'. " Function Code for Copy
APPEND gwa_exclude TO gt_exclude.
*Deactivate Delete
gwa_exclude-function = 'DELE'. " Function Code for Delete
APPEND gwa_exclude TO gt_exclude.
* Call to the 'VIEW_MAINTENANCE_CALL' function module
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
action = c_u
view_name = c_view
TABLES
dba_sellist = gt_seltab
excl_cua_funct = gt_exclude.
输出:显示所有条目