SAP 权限角色篇-角色、权限对象、权限字段

不管是SAP系统,还是其他信息系统、操作软件或APP,都有一定的权限设置。

在SAP系统中,用户拥有什么权限,是根据所分配的角色(Role)控制;那么在角色中,到底是什么来控制用户的操作权限呢?

今天这篇文章就带着大家,来看看SAP的权限实现原理。

 

一、角色:

  1. 角色定义:可将角色理解为权限的集合,基于业务需求创建后,将角色要分配给用户。一个角色一个参数文件,是真正记录权限设定的文件。
  2. 角色分类:分为根角色(通用角色)、本地角色与派生角色。(1)根角色,一般不会分配给用户,主要确定事务代码;(2)本地角色继承根角色后,分配组织结构与其他权限对象;(3)若有复合角色,就是将多个本地角色集合成一个符合角色。

     

不同分类根据不同项目的需求设定,比如:

  1. 项目上线只有一家规模不大的公司,那么只需创建本地角色即可,不用根角色与复合角色;
  2. 但若项目上线是有多家公司,事务代码相同,组织架构不同,那么可用根角色与本地角色,若想根据用户岗位分配角色,可多个角色分配一个复合角色,将复合角色分配用户。

 

二、权限对象:

在角色中真正起作用的是权限对象,权限对象有标准事务代码对应的标准权限对象,还有自开发事务代码对应的自开发权限对象。

  1. 标准权限对象:

在角色分配完事务代码之后,权限对象会根据事务代码带出,若无,需要SU22、SU24检查事务代码对应的权限对象是否检查。

最近S4项目遇到项目负责人默认不启用检查的,需要进入SU22和SU24维护为检查,缺省状态为是:

 

 

 

2. 自开发权限对象:

如下图自开发程序对应新增的权限对象,需要业务顾问在FS中标明需要什么样的权限对象控制什么按钮,权限字段值对应什么:

 

 

三、权限字段

权限对象中的权限字段值来控制是能创建、更改、显示等操作,或者赋予其他值。

如下图项目经理赋值项目经理的人员编号,在输入CJ20N时,会校验该用户对应角色对应的PS_VERNR值,是否项目PROJ或PRPS的项目负责人:

角色编制完,最重要的是要测试,特别注意交叉问题:

如有不同角色创建相同的权限对象,赋值会去并集;

比如A角色负责人编号是0001,但B角色负责人编号是*,那么则负责人编号则为*,在赋予A、B角色的用户登陆CJ20N查看责任人不是自己的项目时,还能查看到。