文章目录
概述
SAP系统权限
SAP操作用户能在SAP系统中做哪些操作。比如用户A只能查看物料信息,在SAP系统中就分配事物码MM03给A。SAP的权限控制是控制到字段级的,换句话说,其权限控制机制可以检查你是否有权限维护某张透明表的某一个字段。
用户(User)
具体操作SAP系统的用户,即登陆SAP Logon输入的用户。使用事物码SU01创建一个新的用户ID,默认的权限是空白的,不允许任何操作。
单一角色(Single Role)
简单的说就是一个事物码的集合。
其中包含了控制事物码操作的“权限对象”、“权限字段”以及允许的操作及允许的值。
单一角色是相对应复合角色而言的。
复合角色(Comp. Role)
又叫通用角色,即是多个单一角色的集合。
复合角色中可以包含多个单一角色,此复合角色包含了这多个单一角色所控制的权限。
复合角色还可以维护具体的“权限对象”、“权限字段”以及允许的字段值及字段操作。
用事物码PFCG维护。
单一角色好比“IT部员”,复合角色好比“IT经理”,每个IT部员所操作的权限范围不同,而IT经理可以具备多有部员的权限,IT经理的权限就是多位IT部员的权限的一个集合,即在IT经理的权限中添加多位IT部员的权限即可。就是将多个单一角色分配在一个复合角色当中,取并集。
下面以用户只能查找特定采购类型的采购订单为例,创建权限字段、权限对象和角色等,使分配这个权限的用户只能查询采购订单类型为C220的数据。
创建权限对象
1.创建权限字段
2.创建权限类SU21
3.创建权限对象SU21
在程序中使用权限对象
AT SELECTION-SCREEN."检查用户输入
AUTHORITY-CHECK OBJECT 'ZBSART' ID 'ZBSART' FIELD P_BSART
ID 'ACTVT' FIELD '03'.
IF sy-subrc = 0.
gv_display = 'X'.
ENDIF.
在取数逻辑前对GV_DISPLAY进行判断,有权限才允许取数
IF gv_display = ''.
MESSAGE '您无此权限!' TYPE 'S' DISPLAY LIKE 'E' .
LEAVE LIST-PROCESSING.
ENDIF.
关联程序和权限对象
这一步是在创建角色时可以自动带出权限对象,不用手动添加,事务码是SU24
设置权限字段权限值
维护角色
使用PFCG事务码
1.创建角色
2.为角色分配事务码
3.点击参数文件名称旁按钮可自动生成权限参数文件
可以看到自动带出了ZBSART权限对象,进去之后直接点击红白色小球
4.用户分配
此时执行程序,用户只能查询类型为C220的数据,其他类型的数据没有权限
查询C209的采购订单:
查询C220的采购订单:
为SAP_ALL参数文件新增新建的权限
事务码SU21,点一下‘重新生成SAP_ALL’