暂时采用具有SYSADMIN用户权限的BPC程序包运行,但SLG1问题

2020-09-05 17:23发布

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

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


大家好,

我们有一个自定义的BPC流程链,可加载主数据和交易数据(例如,运行中的主数据)。

由于运行此软件包的用户通常没有BPC授权来运行BPC操作以添加主数据和交易数据,因此我们从SPRO字段SYSADMIN(用于业务计划和合并SPRO部分)中分配了_SYSTEM用户

因此,在BPC自定义类中,我们具有以下代码,其中ls_user是SPRO值。

调用方法cl_uj_context => set_cur_context

导出
i_appset_id = lv_environment_id
is_user = ls_user
i_appl_id = lv_application_id

。此外,我们还有以下代码:

lo_context-> switch_to_srvadmin()(其中lo_context是TYPE REF if_uj_context的类型)

现在,这使用户能够成功运行自定义程序包。

但是我们在事务SLG1中获得红色日志,即对象是UJ,子对象是UJD,程序是SAPMHTTP或UJ0_START_PLAN(想要保留绿色日志,但要消除这些虚假的红色日志)

现在,我们甚至在更改授权之前就已经写入了SAPMHTTP SLG1日志(大概在程序包在ABAP上下文中运行之前,已经进行了流程链流程类型授权检查)。

无论如何在自定义BPC流程链的末尾删除"伪造" SLG1红色日志,我们都有一个ABAP程序,该程序从BALHDR表中选择"红色"日志,然后删除这些日志(即使用FM

调用函数" BAL_DB_DELETE"。这与标准SLG2(删除日志)事务的工作方式相同。

问题是处理完软件包后,SLG1中始终仍然显示一个"红色"日志。

如果我调试过程,例如 对于无限循环,我们不会获得SLG1日志。 我知道在运行调试时会发出提交工作。

我尝试执行"提交工作"和"提交工作并等待",并且还在循环中检查sy-subrc,但是在正常模式下运行时,总是有最后一个SLG1红色。

但是,在调试模式下,所有SLG1"红色"日志均被删除。

我真的很感谢有人告诉我为什么它在Debug中可以正常运行,但是以正常方式运行时,我们总是有最后一个"红色" SLG1日志。

谢谢

标记

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

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


大家好,

我们有一个自定义的BPC流程链,可加载主数据和交易数据(例如,运行中的主数据)。

由于运行此软件包的用户通常没有BPC授权来运行BPC操作以添加主数据和交易数据,因此我们从SPRO字段SYSADMIN(用于业务计划和合并SPRO部分)中分配了_SYSTEM用户

因此,在BPC自定义类中,我们具有以下代码,其中ls_user是SPRO值。

调用方法cl_uj_context => set_cur_context

导出
i_appset_id = lv_environment_id
is_user = ls_user
i_appl_id = lv_application_id

。此外,我们还有以下代码:

lo_context-> switch_to_srvadmin()(其中lo_context是TYPE REF if_uj_context的类型)

现在,这使用户能够成功运行自定义程序包。

但是我们在事务SLG1中获得红色日志,即对象是UJ,子对象是UJD,程序是SAPMHTTP或UJ0_START_PLAN(想要保留绿色日志,但要消除这些虚假的红色日志)

现在,我们甚至在更改授权之前就已经写入了SAPMHTTP SLG1日志(大概在程序包在ABAP上下文中运行之前,已经进行了流程链流程类型授权检查)。

无论如何在自定义BPC流程链的末尾删除"伪造" SLG1红色日志,我们都有一个ABAP程序,该程序从BALHDR表中选择"红色"日志,然后删除这些日志(即使用FM

调用函数" BAL_DB_DELETE"。这与标准SLG2(删除日志)事务的工作方式相同。

问题是处理完软件包后,SLG1中始终仍然显示一个"红色"日志。

如果我调试过程,例如 对于无限循环,我们不会获得SLG1日志。 我知道在运行调试时会发出提交工作。

我尝试执行"提交工作"和"提交工作并等待",并且还在循环中检查sy-subrc,但是在正常模式下运行时,总是有最后一个SLG1红色。

但是,在调试模式下,所有SLG1"红色"日志均被删除。

我真的很感谢有人告诉我为什么它在Debug中可以正常运行,但是以正常方式运行时,我们总是有最后一个"红色" SLG1日志。

谢谢

标记

付费偷看设置
发送
1条回答
空代码
1楼 · 2020-09-05 17:55.采纳回答

一周热门 更多>