其实创建表维护的时候,就是创建了个table control,
熟悉table control的话可以直接修改很多东西。
DEMO过程是我自己个习惯,不见得都是正规的操作。纯属个人习惯,如果有什么不对的地方也欢迎批评指正,谢谢。
【2】控制显示列,显示范围
有时候不同部门维护不同的列,比如财务维护财务相关的,采购维护采购相关的数据,但是又在同一个维护视图中。
当然,你可要建多个维护视图,参考之前的那篇文章为财务,采购,销售等不同部门不同的视图来区分。
我一般是直接修改table control 动态显示列,来实现这个需求。
还拿上篇文章提到的那个视图为例。
代码:
*&---------------------------------------------------------------------*
*& Report ZLM_VIEW_DB_001
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZLM_VIEW_DB_002.
TABLES ZLM_DB_002.
SELECT-OPTIONS:
S_MATNRFOR ZLM_DB_002-MATNR,
S_WERKSFOR ZLM_DB_002-WERKS OBLIGATORY.
DATA: LT_SELTABTYPE STANDARD TABLE OF VIMSELLIST.
DATA: GT_EXCLUDETYPE TABLE OF VIMEXCLFUN,
GWA_EXCLUDETYPE VIMEXCLFUN.
*------------------------------------------------------
*& 权限控制
*------------------------------------------------------
START-OF-SELECTION.
CLEAR LT_SELTAB[].
CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
EXPORTING
FIELDNAME= 'MATNR'
APPEND_CONJUNCTION= 'AND'
TABLES
SELLIST= LT_SELTAB
RANGETAB= S_MATNR.
CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
EXPORTING
FIELDNAME= 'WERKS'
APPEND_CONJUNCTION= 'AND'
TABLES
SELLIST= LT_SELTAB
RANGETAB= S_WERKS.
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
ACTION= 'U'
VIEW_NAME= 'ZLM_V_002'
TABLES
DBA_SELLIST= LT_SELTAB[].