其他分享
首页 > 其他分享> > AUTHORITY-CHECK 实例操作

AUTHORITY-CHECK 实例操作

作者:互联网

原文链接:http://www.cnblogs.com/krikxu/archive/2008/10/14/1310909.html

本文只针对在程序中进行权限检查。

首先确定用户在程序中的检查项,例如我只针对下图中的工厂进行检查。

打开T-CODESU21   对象类别清单

点击新建

出现下图对话框

对象类别处输入你要建立的权限对象类名称,这里做一下说明。对象类是由多个对象组成的类包。然后输入文本说明文字。保存

完成以后可以在对象列表中查看。

双击COTS进入,然后点新建

出现下图显示。

在对象处输入你要建立的对象名称、文本。

在授权字段处输入要在程序中检查的权限项,本文用的是工厂所以输入WERKS

如图

完成后点击保存。到此权限的对象设置完毕。

下面是在角色中添加刚刚设置的权限对象。

打开T-CODE: PFCG

ROLE处输入角色名称此处我输入的是ZTEST_AUTHORITY-CHECK

点击 进入角色创建界面。

输入描述文本。点击权限选项卡会出现保存提示。确定以后,点现在的

在出现的界面中选择人工的。如下图:

在授权对象处输入或者选择刚刚新建立的Z_WERKS_TS对象

确定后会出现下图显示

点击 修改权限设置。此处输入能够访问的工厂。

完成后点击 生成角色。

提示参数文件名称点击 完成角色设置。

最后在用户主数据中加入刚刚建立的角色。T-CODE:SU01

输入用户名后点击修改,进入角色选项卡。

输入建立的角色

保存完成。

最后在程序中加入权限检查代码。

因为程序中用的是 SELECT-OPTIONS: s_werks FOR it_zco002-werks.

所以工厂很有可能 是多个集合在此要循环这个集合。

代码如下:

在AT SELECTION-SCREEN.后面加入下列代码

**************************************************加入代码开始

AT SELECTION-SCREEN ON s_werks.

  SELECT werks FROM t001w INTO TABLE l_xu_t001w WHERE werks IN s_werks.

  LOOP AT l_xu_t001w.

    AUTHORITY-CHECK OBJECT 'Z_WERKS_TS'

             ID 'WERKS' FIELD l_xu_t001w-werks .

    IF sy-subrc NE 0.

      MESSAGE  e398(00) WITH '你在' l_xu_t001w-werks '工厂中没有权限执行成本还原!'.

      EXIT.

    ENDIF.

  ENDLOOP.

**************************************************加入代码结束

说明:

AUTHORITY-CHECK OBJECT 'Z_WERKS_TS'    Z_WERKS_TS 就是前面建立的权限对象

   ID 'WERKS' FIELD l_xu_t001w-werks . WERKS是对象对面包含的字段

 

 下载地址:http://files.cnblogs.com/krikxu/AUTHORITY-CHECK.rar

转载于:https://www.cnblogs.com/krikxu/archive/2008/10/14/1310909.html

标签:werks,WERKS,对象,AUTHORITY,实例,t001w,权限,CHECK,输入
来源: https://blog.csdn.net/weixin_30267697/article/details/97633128