授权检查有什么用

2021-10-23 23:54发布


          点击此处--->   EasySAP.com 群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)

为确保用户在执行操作时拥有适当的授权,用户需要接受授权检查。


以下操作受在程序或表维护开始之前执行且 SAP 应用程序无法避免的授权检查的约束:


启动 SAP 事务(授权对象 S_TCODE)


启动报告(授权对象 S_PROGRAM)


调用RFC功能模块(授权对象S_RFC)


使用通用工具维护表 (S_TABU_DIS)


在接下来的帖子中,我们将看到如何为报告和交易添加授权检查。


为表分配授权组的目的:


您可以将授权组分配给表,以避免用户使用通用访问工具(例如事务 SE16)访问表。用户不仅需要授权才能执行该工具,还必须获得授权才能访问具有相关组分配的表。对于这种情况,我们提供具有预定义分配给授权组的表。分配在表 TDDAT 中定义;检查的授权对象是 S_TABU_DIS。


现在我们将看到如何为表分配/创建授权组:


转到 SE54,指定表名并选择授权组,然后单击创建/更改。您可以创建一个授权组。


示例:

您可以将一个表分配给权限组 Z001。(对表 TDDAT 使用事务 SM30)要访问此表的用户必须在他或她的配置文件中具有授权对象 S_TABU_DIS,并且字段 DICBERCLS(ABAP 字典对象的授权组)中的值为 Z001。


授权检查:


在之前的帖子中,我们了解到实时环境中授权检查的重要性。我们知道如何检查表维护的授权。 


现在我们将看到如何检查 Reports、Transactions、RFC 功能模块的授权。


以下操作受在程序或表维护开始之前执行且 SAP 应用程序无法避免的授权检查的约束:


启动 SAP 事务(授权对象 S_TCODE)


启动报告(授权对象 S_PROGRAM)


调用RFC功能模块(授权对象S_RFC)


使用通用工具维护表 (S_TABU_DIS)


授权对象 S_TCODE、S_PROGRAM、S_RFC 和 S_TABU_DIS 是标准 SAP 提供的。


创建新的授权对象不在 ABAP 开发人员的范围内。它将由 SAP BASIS 团队负责。


要将授权检查添加到您的程序,您需要在您的报告中添加以下代码。假设您已经为您的报表创建了一个事务代码,那么 

您应该使用授权对象 S_TCODE 来检查授权。


您可以将代码放在初始化事件中。


*Initialization

INITIALIZATION.

AUTHORITY-CHECK OBJECT 'S_TCODE'

ID 'TCD' FIELD 'ZEXAMPLE'.


IF sy-subrc <> 0. "Not Authorized

MESSAGE e003(ZZ) WITH 'TCD' 'ZEXAMPLE'.

ENDIF.


赞赏支持