一个关于ABAP中AUTHORITY-CHECK的Demo

来源:互联网 发布:ff14男性捏脸数据 编辑:程序博客网 时间:2024/06/05 05:35

1、创建Date element和相应的Domain


 


2.创建Authorization Object需要使用的Authorization FieldsTcodeSU20

具体包含结构见另外一篇文章介绍。


3.创建Authorization Object。(Tcode:SU21)多个Field是属于一个Object

 
3.1首先创建Object中需要使用的class


 


 

3.2创建Authorization Object,同时指定classfield

 


 

创建好的界面


4.为用户添加Profile,这个Profile包含用户对Object ZAO_AC的各个Field有权限访问的具体范围.

4.1创建ProfileTCODE SU01 在菜单Enviroment > Mainten Profile(F9)

 


Profile: ZPF_AC回车,创建。

点击新建按钮,输入描述,如下。


下一个界面,增加Object;新建Anthorization并激活。


 


 

新建的Profile如下图所示


4.2ZAHUEMP assign给用户BCUSER

TcodePFCG

创建角色ZEMPR

Description: Maintenance Employee ID

 


权限标签,点更改授权数据,打开如下。然后点击Manualy,添加授权对象。


完成效果如下


点保存,生成按钮。

4.3 给这个Role添加用户I327500,在User面板中:

 


记得“用户比较”。

 

然后回到SU01对I327500的界面, 在Profile面板:

添加ZRF_AC,Save.


5、创建测试程序

REPORT zbc400_auth_check.

 

DATAZ(20VALUE 'abc'.

AUTHORITY-CHECK OBJECT 'ZAO_AC'

         ID 'ZAF_AC' FIELD Z.

IF sy-subrc <> 0.

  WRITE'faliure'.

ELSE.

  WRITE'success'.

ENDIF.

 

6.运行程序用户BCUSER必须先退出系统然后登录后前面设置的role才会生效.运
行程序。运行成功!

 

参考链接:http://blog.csdn.net/starshus/article/details/2032796

 

1 0