------------------------------------------------------------------------------
授权对象的标准限制:B_BUPA_ATT无法正常工作(BP事务不会刷新授权错误),最好的方法是使用Z授权对象和Badi创建限制
------------------------------------------------------------------------------
我们将使用Badi对Z授权对象的权限进行检查。
以下步骤是:
1,SU20,我们定义了一个字段ZGROUP(该字段将在Z授权对象中使用),我们需要添加名称字段和元素数据:
2.接下来转到SU21,我们将使用前面定义的字段创建一个Z授权对象ZGROUPING
3.我们转到事务SE19,接下来我们将在BP的Badi中添加相应的代码。我们需要转到SE19,我们将创建一个名为
Badi: BUPA_FURTHER_CHECKS called ZBUPA_FURTHER_CHECKS
4、update the implementation created: ZBUPA_FURTHER_CHECKS, inside of it, we will go to tab “Interface” and double click in the method CHECK_CENTRAL:
5. the following ABAP code:
AUTHORITY-CHECKOBJECT‘ZGROUPING’
ID‘ZGROUPING’FIELDiv_group.
IFsy–subrc <>0.
MESSAGEe000(zish_pa)WITH text–001iv_group.
ENDIF.
6.我们转到PFCG事务,我们需要创建一个Z测试角色,通过角色菜单添加BP事务(我通常也添加XK03和XD03事务),我们需要完成所有授权并添加创建的ZGROUPING授权对象,重新定义需要限制的值。
:Groupings: ZBAN, ZDR1, ZDR2 and ZDR3
分配权限后:
SU53:
------------------------------------------------------------------------------
结论:可以通过自定义增加权限对象控制BP创建不同分组。
------------------------------------------------------------------------------