惯例闲话:冬至项目组来了一次有意义的团建,包饺子。原以为包饺子很简单,一做才知道不简单。25人,每人20个,500个饺子,从需求——采购——生产——发货(出锅吃掉)。。。。。。着实把闲人累的够呛,四种馅,牛肉香菇白菜、猪肉香菇芹菜、猪肉香菇青菜、鸡蛋韭菜,幸好项目一起配合,不然大家都要饿肚子。结果还不错,每个人都体验了一番沉浸式冬至饺子体验。
闲话到至此为止,这次聊聊PS的权限控制。
- SAP权限基础知识
权限的基本框架简单来说:用户被赋予某个特定角色实现系统的授权,每个角色中有若干事务代码(业务执行操作),事务代码能访问的数据范围由权限对象控制。
角色:权限对象:
权限对象的理解略抽象,闲人通过一个常见的例子来说明,集团公司有2家工厂A、B分别设置采购岗位——采购员,职能和系统操作一样,都能使用ME23N查看采购订单,但是AB工厂的采购员职能看自己工厂的采购订单。
常见解决方案:设置2个角色,分为采购员_A工厂,采购员_B工厂,这2个角色分配事务码一样,但是权限对象中的工厂分别做授权,这样就可以达到以上要求
所以,对于权限对象的理解
理解了权限对象,参数的概念就好理解了。具体的授权特征信息,控制数据库访问
以上是权限的通用概念基础知识。这个时代,知识共享渠道很多,其他模块的网上文档很多,闲人就不再码字赘述。下面说说PS模块的权限控制。
3. PS权限控制
PS的权限控制,从基本的权限对象来说,没有什么特殊的地方。
按业务对象分:项目定义、WBS、网络活动、里程碑
权限对象:利润中心、项目负责人、网络的工厂、项目类型、项目负责人、成本中心。大家可能觉得很奇怪,为啥没有公司代码——这就是PS的模块定位,PS模块就是一个集团跨公司协同的业务模块,从而打破组织架构的隔阂。这也是闲人对PS是“三无”模块的另一个视角的解释。
到这里,也看不出PS的权限有啥特别…
一个常见的需求场景,我们公司是按项目授权的,每个人能看的项目都不同,一个存在有能看多个项目的权限,部分情况。
这里大家会想到项目负责人这个重要的参数,这是典型按人设置角色,带来的问题是,项目经理是一个流动性很高的岗位,是动态变化的,给角色设置带来很大困扰,因此按人来设置项目负责人,通常是无法满足以上的要求。
方向是,能否设置一个项目经理角色,不同的用户可以授予不同的项目权限?
- 按项目控制权限。解决思路方向还是利用项目负责人。
把项目负责人按项目来建,把项目负责人建单独的参数文件
应用场景:
1)新项目立项后,新建项目负责人
2)新建参数文件
项目负责人赋给参数文件
参数文件赋给用户
6. ACL权限控制
PS模块CJ20N还有单独的ACL权限控制。ACL全称,Access Control Lists。
这个功能的应用场景是,项目集群管理。
比如某大型项目,按专业分成子项目WBS。大项目经理管控全局,将地基工程、主体结构分给2个分包项目经理授权,分包经理对专业经理授权。
实现过程
1)激活初代增强包OPS_PS_CI_1
2)激活后,项目参数文件出现ACL配置选项,选择ACL(含继承)
3)项目授权
被授权人打开项目效果
小结:PS的权限控制,一直被用户所诟病,ACL的出现算是缓解了一下。不过,易用性还有待于提高。ACL的权限控制,是相对独立的,仅对CJ20N有效。