【发布时间】:2014-07-13 16:35:38
【问题描述】:
是否可以只对选定的表执行提交?
我的问题是我不知道进程是否更新了更多表,所以我想阻止我的提交更新它们!
它是批量处理,在处理结束时它会调用提交(逻辑上)。
那么有没有办法更新一个特殊的表而不是全部?
案例:大规模处理运行,就像我工作的那样,在其最后进行了更新。
我们/我的代码只是一个具有多个功能的 BAdI 实现。获取特定数据需要向其他系统发起请求,该请求不能在历史日志中留下任何足迹,因此必须回滚请求,以免将其持久化到系统中。
此请求用于工作项条目。因此,如果我处理 1 个数据集并生成一个工作项,则该工作项将被注册以在运行后抛出。在处理2º数据集并向其他系统发出请求时,我必须回滚它,但第一数量数据集的工作项条目将被删除(回滚)。
是否可以通过直接提交进行这些更新? -> 没有。
我不能简单地管理表以使用内部表进行更新并在运行结束时更新它们吗? -> 不,因为那些课程不属于我们。
为什么我不简单地在运行结束时进行回滚? -> 这些类不属于我们,否则必须更改整个质量处理结构。
【问题讨论】:
-
请尝试找出术语参照完整性的含义,然后请给出一个很好的理由说明您显然愿意破坏它。
-
@DientesDeCheto Dientes de un cheto, esto suena argentino ;-)
-
似乎在您的 BAdI 中记录此外部调用完全不受您的控制,因此我认为您无法在这里实现您想要的。据我了解,日志记录不在您的 BAdI 中,而是在此外部调用的方法/功能模块中。不修改这条逻辑,就无法摆脱这条日志。另一个问题,你为什么要完全摆脱这个痕迹?如果发生了重要的事情,那么它应该在正常情况下记录。