数据表维护是单纯的维护数据功能,要是给用户赋予权限的话只能用T-CODE LEVEL控制。
如果一个维护表里有 工厂,物料,物料名 (简单的举例子),
而我们要根据SAP ID来判断这个人有没有全校修改特定工厂的数据。
比如ABAP01用户只能修改1000工厂的数据。
ABAP02只能修改2000工厂的数据。
表如下:
这时候我们可以用 VIEW_MAINTENANCE_CALL 这个函数来实现这个功能。
首先生成一个程序 ZDEV005,然后在此程序里我们调用VIEW_MAINTENANCE_CALL 这个函数。
REPORT ZDEV005.
DATA:GT_VIMSELLIST TYPE TABLE OF VIMSELLIST WITH HEADER LINE.
DATA:GV_WERKS TYPE WERKS_D.
CASE SY-UNAME.
WHEN 'ABAP01'.
GV_WERKS = '1000'.
WHEN 'ABAP02'.
GV_WERKS = '2000'.
ENDCASE.
GT_VIMSELLIST-VIEWFIELD = 'WERKS'.
GT_VIMSELLIST-OPERATOR = 'EQ'.
GT_VIMSELLIST-VALUE = GV_WERKS.
APPEND GT_VIMSELLIST.
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
ACTION = 'U'
VIEW_NAME = 'ZDEV001T'
COMPLEX_SELCONDS_USED = 'X'
TABLES
DBA_SELLIST = GT_VIMSELLIST.
用ABAP01登陆的时候:
用ABAP02登陆的时候: