使用自定义表进行授权访问

2020-08-23 00:54发布

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

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


大家好,

这是我的情况:我想通过公司代码的特定列表限制用户可以在BEx查询中显示的数据。 该列表将保存在一个自定义表中,该表具有:USER ID,序列号,公司代码

这些是我已采取的步骤:

1。 使信息对象0COMP_CODE授权相关

2。 创建了一个类型为Customer Exit ZCOMPCODE的BEx变量,并将其分配给BEx中的0COMP_CODE

3。 我在RSECADMIN,ZCOMP中创建了一个新的授权对象,插入了特殊字符以及0COMP_CODE,并为其分配了在BEx中创建的变量$ ZCOMPCODE

4。 我将ZCOMP分配给一个角色,然后将该角色分配给我的测试用户

5。 我在包含ZXRSRU01的CMOD中创建了代码,以执行我的逻辑以使用公司代码列表查找自定义表

这是我的问题:

我的逻辑工作正常,并且如果我还为 S_RS_AUTH 分配了 0BI_ALL ,报表仅返回表中公司代码的数据, strong>。

换句话说:

-如果S_RS_AUTH仅具有ZCOMP,我的授权检查将失败。

-如果S_RS_AUTH同时具有ZCOMP和0BI_ALL,则我的报告有效

我为测试用户分配了两个角色:

Z_COMP 中仅包含S_RS_AUTH对象

Z_REPORT_USER 具有基于模板S_RS_RREPU的所有其他授权。 我已经停用了S_RS_AUTH,因为Z_COMP拥有了它。

必须为我的自定义安全性分配0BI_ALL才能正常工作,但似乎不是一个安全人员,我可能错过了一些东西,并且希望得到专家的任何帮助。

期待您的答复。

Marcelo Berger

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

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


大家好,

这是我的情况:我想通过公司代码的特定列表限制用户可以在BEx查询中显示的数据。 该列表将保存在一个自定义表中,该表具有:USER ID,序列号,公司代码

这些是我已采取的步骤:

1。 使信息对象0COMP_CODE授权相关

2。 创建了一个类型为Customer Exit ZCOMPCODE的BEx变量,并将其分配给BEx中的0COMP_CODE

3。 我在RSECADMIN,ZCOMP中创建了一个新的授权对象,插入了特殊字符以及0COMP_CODE,并为其分配了在BEx中创建的变量$ ZCOMPCODE

4。 我将ZCOMP分配给一个角色,然后将该角色分配给我的测试用户

5。 我在包含ZXRSRU01的CMOD中创建了代码,以执行我的逻辑以使用公司代码列表查找自定义表

这是我的问题:

我的逻辑工作正常,并且如果我还为 S_RS_AUTH 分配了 0BI_ALL ,报表仅返回表中公司代码的数据, strong>。

换句话说:

-如果S_RS_AUTH仅具有ZCOMP,我的授权检查将失败。

-如果S_RS_AUTH同时具有ZCOMP和0BI_ALL,则我的报告有效

我为测试用户分配了两个角色:

Z_COMP 中仅包含S_RS_AUTH对象

Z_REPORT_USER 具有基于模板S_RS_RREPU的所有其他授权。 我已经停用了S_RS_AUTH,因为Z_COMP拥有了它。

必须为我的自定义安全性分配0BI_ALL才能正常工作,但似乎不是一个安全人员,我可能错过了一些东西,并且希望得到专家的任何帮助。

期待您的答复。

Marcelo Berger

付费偷看设置
发送
5条回答
Nan4612
1楼 · 2020-08-23 01:50.采纳回答

乍看之下,您的过程似乎是正确的; 无法看到没有BI_ALL无法运行的任何明显原因。

我能说的是,添加BI_ALL并不是解决方案,因为它将使ZCOMP的过程无效,在与授权相关的所有对象上授予所有授权。

一个提示: 您是否尝试过交易RSUDO? 它允许您通过RSRT以特定用户身份运行查询,并在授权检查是否有错误时给您提供日志。 希望能为您提供更多有关为什么没有0BI_ALL

Alawn_Xu
2楼-- · 2020-08-23 01:33

失败的信息,我知道这是一个非常老的问题,但是您是否尝试过向引用您新添加的对象的BEx查询添加权限变量?/p>

因为过去我遇到问题,当我尝试在新创建的双向授权中进行两次单独的BI重新授权时,它在查询中失败,直到我在查询中明确添加了一个权限检查对象为止 新添加的对象。

因此,在您的方案中,如果您添加一个在bex查询中引用0COMP_CODE对象的授权对象

Nir深蓝
3楼-- · 2020-08-23 01:50

您好,请查看有关此主题的这些链接。

Bex查询设计器:选择变量,定义... | SCN

SAP Business Explorer(SAP BEx)

致谢

Saad

hengyuye
4楼-- · 2020-08-23 01:32

嗨Marcelo,

正如汤姆已经指出的那样,在当前编码中,没有考虑到找不到文档的情况。 如果要授予完全授权,则必须对其进行编程(即CP *)

可以按如下方式增强编码:

如果lt_doctyp []不是INITIAL。

在lt_doctyp INTO v_dt中循环。

l_s_range-low = v_dt。

l_s_range-sign ='I'。

l_s_range-opt ='EQ'。

APPEND l_s_range到e_t_range。

ENDLOOP。

ELSE。 " <<<新

l_s_range-low ='*'。" <<< new

l_s_range-sign ='I'。 " <<<新

l_s_range-opt ='CP'。" <<<新

APPEND l_s_range TO e_t_range。 " <<< new

ENDIF。

顺便说一句,我在授权日志中看到另一个问题:公司代码ARG1也未被授权。

最佳

Sander

天桥码农
5楼-- · 2020-08-23 01:53

感谢Syed,但我在那些帖子中找不到任何地方专门回答我关于0BI_ALL的问题,必须将其分配给该角色 为了使我的解决方案有效。

最诚挚的问候,

马塞洛

一周热门 更多>