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
:权限测试
1.
创建用户
事物码
SU01
,输入新建用户名:
SAPMOON_01
2.
创建单一角色
ZR_SAPMOON_01
,事物码:
PFCG
。有三种方法:
(
1
)手工创建
(
2
)复制创建
(
3
)继承创建:输入要继承的角色
*
继承与复制的区别:
复制:
A
复制
B
,
A
创建好后与
B
没有联系,
A
可以自由维护添加事物码
继承:
A
继承
B
,
B
变更后,
A
也相应变更,
A
中不能添加事物码,可以删除继承关系后单独添加。
(
4
)维护菜单:此处添加允许操作的事物码,报表或其他功能
(
5
)维护权限,生产权限参数文件。
这里我们维护的是“菜单”页中事物所控制的权限字段
维护权限字段值(红灯变绿的),点击生成参数文件,保存。
(
6
)可将单一角色直接分配给用户,分配用户,进行用户比较
(
7
)保存退出,单一角色
ZR_SAPMOON_01
创建完毕
3.
创建复合角色
(
1
)创建复合角色
ZC_SAPMOON_01
,事物码同样是
PFCG
。
(
2
)复合角色中分配单一角色,不能添加事物码
(
3
)点击“读菜单”,读取单一角色的菜单。
(
4
)将复合角色分配给用户,用户比较。
(
5
)保存退出,创建复合角色成功。
4.SU22
:维护事物码所控制的权限对象及权限字段
(
1
)
SU22
,输入事物码,
F8
运行。
(
2
)左边为
CO01
所有可控制的权限对象。两种状态:
YES
、
NO
YES
:运行
CO01
时,程序检查此权限对象,判断用户是否可操作。
NO
:运行
CO01
时,程序不检查此权限字段
(
3
)维护权限字段检查状态及权限字段值。变更后会产生请求号。
5.SU53
:权限测试
6.SUIM
:权限报表
可以更加各种条件查询用户权限信息
SE93
查询所有
TCODE
或者
table: tstc
SE16
display
SUIM
查询用户信息的报表们