看到一篇好的权限文章 按照它做一下,然后学习一下哈 原文链接 https://blog.csdn.net/lqq417/article/details/50952812
首先介绍一下SAP权限的几个基本概念:
* SAP系统权限:某SAP操作用户能在SAP系统中做哪些操作。比如(大致概念)用户XX-A只能查看物料信息,在SAP系统中就分配事物码MM03给XX-A。SAP的权限控制是控制到字段级的,换句话说,其权限控制机制可以检查你是否有权限维护某张透明表的某一个字段。
*用户(User):具体操作SAP系统的用户,即登陆SAP Logon输入的用户。使用事物码SU01创建一个新的用户ID,默认的权限是空白的,不允许任何操作。
单一角色(Single Role):简单的说就是一个事物码的集合。其中包含了控制事物码操作的“权限对象”、“权限字段”以及允许的操作及允许的值。用事物码PFCG维护。单一角色是相对应复合角色而言的。
*复合角色(Comp. Role):又叫通用角色,即是多个单一角色的集合。复合角色中可以包含多个单一角色,此复合角色包含了这多个单一角色所控制的权限。复合角色还可以维护具体的“权限对象”、“权限字段”以及允许的字段值及字段操作。用事物码PFCG维护。
单一角色和复合角色:单一角色好比“IT部员”,复合角色好比“IT经理”,每个IT部员所操作的权限范围不同,而IT经理可以具备多有部员的权限,IT经理的权限就是多位IT部员的权限的一个集合,即在IT经理的权限中添加多为IT部员的权限即可。就是将多个单一角色分配在一个复合角色当中,取并集。
权限对象(Authorization Object),权限字段(Authorization Field),允许的操作(Activity),允许的值(Field Value)
角色包含了若干权限对象,在透明表AGR_1250中有存储二者之间的关系;权限对象包含了若干权限字段、允许的操作和允许的值,在透明表 AGR_1251中体现了ROLE/Object/Field/Value之间的关系;有一个特殊的权限对象用来包含了若干事务码。这个权限对象叫 “S_TCODE”,该权限对象的权限字段叫“TCD”,该字段允许的值(Field Value)存放的就是事务代码;有一种特殊的权限字段用来表示可以针对该权限对象做哪些操作,是允许创建、修改、显示、删除或者其他呢。该权限字段叫 “ACTVT”,该字段允许的值(Field Value)存放的就是允许操作的代码,01代表创建、02代表修改、03代表显示等;SAP 系统自带了若干权限对象、默认控制了若干权限字段(对应到透明表的某些字段)。可以用事务码SU20来查看系统有哪些权限字段,用SU21来查看系统有哪些默认的权限对象。于是我们知道了事务代码与权限对象的区别。从权限控制的范畴来看,事务代码属于一种特殊的权限对象;一个事务代码在执行过程中,为了判断某个ID是否有权限执行此事务代码,还可能检查其他若干普通的权限对象。使用SU22来查看某个事务代码包含了哪些权限对象。在透明表USOBX中,存放了事务码与权限对象的对应关系。
如果大家理解了上面的概念(不理解也没关系,因为我也一开始也没懂),我们开始用实例来讲解如何维护一个用户的权限。
SAP权限设置常用的事物码:
* SU01:创建用户
* SU22:查看事物码中的权限对象
* PFCG:创建角色
* SU53:权限测试
创建单一角色ZR_SAP_TEST_01,事物码:PFCG。有三种方法:
(1)手工创建
(2)复制创建
(3)继承创建:
继承创建时,Z_MCN1_MENU_ALL 一旦放生改变,则ZR_SAP_TEST_01也会发生改变
(4)维护菜单
在菜单栏可以对该权限对象添加 事务 报表等多种权限
(5)维护权限 参数文件
点击更改权限数据对权限数据进行更改
将行展开后,可以在如上图所示的地方看到可以维护的 (产品组,销售组织,分销渠道)的选项 双击 上方的工具栏可以对权限对象单独增加减少操作
双击之后,可以填入 权限允许的值,若点击完全授权则是该权限字段所有值都被允许
将权限对象字段值全部维护成绿色的,点击如上图按钮生成参数文件,保存
返回上一个界面后,可以在用户标签栏中填入用户 按回车
然后点击用户比较, 完全比较 来同步权限参数