创建表维护视图的时候,其实是创建了一个 table control ,
可以通过直接修改table control 来实现动态显示列。
假如,工厂 CN1 和工厂 CN3 显示不同的列, 工厂为CN1时显示 数据和单位字段, 工厂为CN3时显示金额
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.
作者:SAP技术成长之路
链接:https://juejin.cn/post/7365811000476893194
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。