SAP查询中的授权检查。

2020-09-01 06:48发布

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

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


大家好,

我们已经创建了一个SAP查询和信息集以显示发票。 我们希望限制用户查看他们没有显示权限的公司代码的数据。 例如,如果用户仅被授权显示美国公司代码的数据,那么他应该不能看到意大利公司的数据。 公司代码参数也是SAP查询中的选择选项。

因此用户也可以输入" *"。 在这种情况下,我们要显示授权用户使用的所有公司代码的数据。 我们试图在AT SELECTION SCREEN上的infoset中进行代码更改,但是由于在Infoset中看不到为查询生成的程序中的变量,因此它不起作用。 请让我们知道如何解决此要求。

KR Jaideep,

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

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


大家好,

我们已经创建了一个SAP查询和信息集以显示发票。 我们希望限制用户查看他们没有显示权限的公司代码的数据。 例如,如果用户仅被授权显示美国公司代码的数据,那么他应该不能看到意大利公司的数据。 公司代码参数也是SAP查询中的选择选项。

因此用户也可以输入" *"。 在这种情况下,我们要显示授权用户使用的所有公司代码的数据。 我们试图在AT SELECTION SCREEN上的infoset中进行代码更改,但是由于在Infoset中看不到为查询生成的程序中的变量,因此它不起作用。 请让我们知道如何解决此要求。

KR Jaideep,

付费偷看设置
发送
10条回答
CJones
1楼 · 2020-09-01 07:27.采纳回答

嗨,

在第6节-选择结束中对授权检查进行编码。

例如:

权限检查对象" V_KONH_VKO"

" VKORG" ID字段A910-VKORG

ID" SPART"字段为" 10"

ID" ACTVT"字段为" 03"。

如果sy-subrc <> 0。

MESSAGE'授权不足。某些数据被截断。' 输入" I"。

继续。

endif。

SAP砖家
2楼-- · 2020-09-01 07:27

你好,

很抱歉带上那个旧帖子,但我处在相同的情况下。

如何在SAP查询中以及在何处添加代码?

检查源代码时,第一次选择后会出现错误,因此无法生成查询。

"带有" BUKRS"的IN运算符后面没有内部表或值列表。"

我设法通过用引用公司代码(例如:SP $ 00003)的select-options对象替换" bukrs",将此代码直接添加到程序中,但我希望保留所有此授权检查在SAP Query中

是否有ABAP开发人员无法帮助我通过SAP Query完成此授权检查。

此致

Thierry Kennes

南山jay
3楼-- · 2020-09-01 07:37

嗨Jaideep,

使用AUTHORITY-CHECK限制基于用户的数据库访问。

在AUTHORITY上按F1 -检查以了解如何在代码中使用它。

关于此,

Saumya

Cikesha
4楼-- · 2020-09-01 07:49

嗨,

您是对的,标记为"最佳答案"的选项不适用于范围或通配符。

我已经写了一篇博客文章来解决这个问题。 该博客的灵感来自Jaideep在2019年6月17日对此线程的回复。Jaideep的代码只有一个小错误。 如果用户完全没有身份验证,他将看到所有内容。

https://blogs.sap.com/2015/11/23/custom-authorization-in-sq01-queries/

在该示例中,我将根据选择读取所有公司代码,然后检查所有代码。

如果成功,我会把它们放回查询中。

这样,我确保只显示允许的公司代码。

您可以对植物执行相同的操作。 根据表T001W中的选择读取植物,然后进行身份验证检查。

最好的问候

Yannick

一只江湖小虾
5楼-- · 2020-09-01 07:43

不是集中在公司代码上的授权检查

与用户级别的检查

悠然的二货
6楼-- · 2020-09-01 07:32

您好,

转到tcode:SQ03用户组,然后输入用户组的名称或创建一个新的用户组。

选择"分配用户"和"信息集"。输入要删除的用户的名称。 属于此用户组。

使用"设置"->"不选择",在这里您必须手动输入用户名。

为了能够更改查询,用户需要使用值Change的授权对象S_QUERY进行授权。

使用按钮:

更改授权,全选,为用户组的所有用户提供授权。

更改授权,全部删除,撤销用户组中所有用户的授权。

通过在用户名之前单击复选框来设置或删除指标,您可以 为单个用户提供或撤销更改授权。

此外,分配信息集并保存。

Aaron 3364
7楼-- · 2020-09-01 07:44

加入信息集,并在"代码"选项卡和代码选择"记录处理"中添加其他功能

包括类似以下内容的代码

权限检查对象" F_SKA1_KTP"
          ID'KTOPL'字段SKA1-KTOPL
          ID" ACTVT"字段" 03"。
 选中SY-SUBRC EQ'0'。

一周热门 更多>