点击此处---> 群内免费提供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日志。
谢谢
标记
请阅读 https://archive.sap.com/documents/docs/DOC- 20009
一周热门 更多>