结果展示:在程序中检查自定义权限字段,达到想要的权限检查控制
涉及到事务码:SE11、SU20、SU21、PFCG及可能的SU01配置角色
步骤一、创建权限字段(即数据元素)
1.1、事务码SE11创建域并激活
1.2、事务码SE11创建数据类型并激活(引用上步骤创建的域)
二、创建权限字段(程序中需要引用的字段)
2.1、事务码SU20创建权限字段。(为了好记,我命名与数据元素一样名称了)
三、创建权限对象
3.1、事务码SU21创建权限对象。这里我选择创建在ZFI1权限类下。(为什么要创建在该权限下呢? 可以从本文章最后一步倒着看到这步骤)
注:配置权限字段时,似乎在选择器中选择不了? 这里可直接输入权限字段名称,回车即可
四、将权限对象配置到角色
4.1、事物码PFCG将权限对象配置到角色中。这里选择ZF_GZQD10002角色演示,增加上步骤创建的权限对象
4.2、增加权限对象后,会出现‘手动’菜单。增加权限指定值/范围。这里指定值为1000到2000.
注意:1、ZFI1技术名称编码需要在“实用程序=>技术名称打开”显示
2、在后面开发程序中需要指定权限对象、权限对象字段来检查权限的,如以下字段值窗口中ZGDM_AUTU两个分别是权限对象、权限对象字段
4.3、最后,记住需重新点下生成
五、程序调用测试
如果s_code = 1000 提示有权限,
如果s_code = 3000 提示没有权限。
测试通过
代码解析:
AUTHORITY-CHECK OBJECT 'ZGDM_AUTH' ID 'ZGDM_AUTH' FIELD s_code.
第一个ZGDM_AUTH为权限对象,第二个ZGDM_AUTH为权限对象字段。s_code为需检查的值。
六、提醒补充:在SU01事务码中检查,当前我的账号需要配置(步骤四中角色-ZF_GZQD10002)