如何检查用户在ABAP中是否具有必需的授权角色?

2020-08-14 01:17发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我想在功能模块执行之前添加一个授...

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

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


我想在功能模块执行之前添加一个授权检查。 我需要确保用户具有特定的角色才能执行功能模块。

目前,我有两种可能的方法:

  1. 为功能模块创建一个TCODE,并使用 S_TCODE 检查对TCODE的访问:
权限检查对象" S_TCODE"
 ID" TCD"字段" TCODE"。
 如果sy-subrc <> 0。
   写:"访问被拒绝"。
   出口。
 万一。
 
  1. 编写一个SQL查询并直接从 AGR_USERS 表中获取数据。

这两种方法都可以胜任,但似乎需要更多的工作而不是最佳实践。

我的问题
有没有通用的方法来检查是否允许用户执行特定功能模块?

7条回答
Alawn_Xu
2020-08-14 01:22
迈克B。是的,仅SU53 授权失败。 使用SU56查看所有用户授权->与S_RFC有关的授权.Authority-check用于检查用户的授权是否等于或大于所检查的授权。 对于您的情况,对于S_RFC,您的用户已经被授权访问所有功能组,甚至可能有权使用名称以U或UN等开头的所有功能组,即使对于尚不存在的功能组也是如此。

一周热门 更多>