在调试中,它可以正常运行,但不能正常运行吗?

2020-09-05 08:33发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 在某些情况下,我们正...

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

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


大家好,

在某些情况下,我们正在运行数据库更新,但是用户被分配了仅用于运行该作业的权限。

除了创建伪造的"红色" SLG1日志外,其他一切都正常。

在程序中,我使用FM BAL_DB_SEARCH来获取我要删除的SLG1日志,并且工作正常。

然后我进行提交工作并等待。

然后我根据上面选择的日志,使用参数I_with_commit_work = abap_true运行FM BAL_DB_DELETE。

问题是我没有删除BAL_DB_SEARCH选择的所有日志。

调试时,我查看了所有BAL_DB_SEARCH检索到的SLG1日志,并且BAL_DB_DELETE正常工作。

我将以上内容放入DO中。 循环进行一次COMMIT WORK AND WAIT(等待和等待),以及另一个WAIT(最多等待1秒),但是仍然得到了剩余的未删除日志。

如果我通过SM50(无限循环)进入程序调试,或者使用FM Breakpoint调试上述功能模块之一,则上述方法非常有效。

任何人都可以在这里帮助我

我查看了ST05跟踪,发现执行了COMMIT CONNECTION默认操作,因此我在ABAP中尝试了此操作,但无济于事。

还尝试了FM DB_COMMIT,但无济于事。

谢谢

标记

8条回答
小熊yu生菜
2020-09-05 08:55

尽管我同意 Sandra Rossi 的观点,但您可能会同意 要首先检查您的初始代码,您是否尝试过使用BAL_DB_DELETE的导入参数? 您可能还想检出一个I_IN_UPDATE_TASK参数。 以及为什么在通过参数I_WITH_COMMIT_WORK在BAL_DB_DELETE中再次执行显式提交工作时呢? 因为您的计划在调试模式下有效,所以有点儿告诉我您将SAP LUW组合在一起的原因是,您的显式提交工作与长达1秒的等待时间结合在一起(尽管我不是SAP LUW的专家)。 因此,如果您摆脱了显式提交,而让SAP处理数据库提交本身呢?

一周热门 更多>