如何检查用户在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条回答
clever101
2020-08-14 01:26

您好迈克B。

您应该使用授权 与功能模块的业务含义非常匹配的对象。 如果可能,我建议在这里使用SAP提供的授权对象。 例如。 如果您的职能部门处理重要文件,请使用与MIGO交易相关的授权对象。

如果您的功能涉及某些全新的业务功能,而您找不到SAP提供的任何相关授权对象,则只需创建一个满足您需求的新对象即可。

BR,HTH

Dominik Tylczynski

一周热门 更多>