点击此处---> 群内免费提供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
乍看之下,您的过程似乎是正确的; 无法看到没有BI_ALL无法运行的任何明显原因。
我能说的是,添加BI_ALL并不是解决方案,因为它将使ZCOMP的过程无效,在与授权相关的所有对象上授予所有授权。
一个提示: 您是否尝试过交易RSUDO? 它允许您通过RSRT以特定用户身份运行查询,并在授权检查是否有错误时给您提供日志。 希望能为您提供更多有关为什么没有0BI_ALL
失败的信息,我知道这是一个非常老的问题,但是您是否尝试过向引用您新添加的对象的BEx查询添加权限变量?/p>
因为过去我遇到问题,当我尝试在新创建的双向授权中进行两次单独的BI重新授权时,它在查询中失败,直到我在查询中明确添加了一个权限检查对象为止 新添加的对象。
因此,在您的方案中,如果您添加一个在bex查询中引用0COMP_CODE对象的授权对象
您好,请查看有关此主题的这些链接。
Bex查询设计器:选择变量,定义... | SCN
SAP Business Explorer(SAP BEx)
致谢
Saad
嗨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
感谢Syed,但我在那些帖子中找不到任何地方专门回答我关于0BI_ALL的问题,必须将其分配给该角色 为了使我的解决方案有效。
最诚挚的问候,
马塞洛
一周热门 更多>