是否可以仅对选定的表执行提交? 我遇到的问题是我不知道该进程是否有更新的表更新,所以我想阻止用我的提交更新它们! 它是批量处理,只是在流程结束时它将调用提交(逻辑上)。 那么有没有办法更新一个特殊的表而不是全部?
案例:批量处理运行,就像我工作的那样,在最后更新。
我们的/我的代码只是一个具有多个功能的BAdI实现。要获取特定数据,有必要向另一个系统发出请求,此请求不能让历史记录中的任何足迹,因此必须回滚不在系统中持久化的请求。 此请求用于工作项条目。因此,如果我处理1个数据集并生成工作项,则此工作项将被注册以在Run之后抛出。在处理2º数据集并向其他系统发出请求时,我必须回滚它,但是将删除第一批数据集的工作项条目(rollback)。 ¿是否可以通过直接提交进行更新? - >没有。 ¿我不能简单地管理表来更新内部表并在运行结束时更新它们吗? - >不,因为那些课程不属于我们。 ¿为什么我不简单在运行结束时进行回滚? - >那些类不属于我们,否则必须改变整个大规模处理结构。
答案 0 :(得分:0)
作为程序员,您可以控制并且应该知道正在更新的内容。如果将代码构造为LUW,则可以控制正在更新的表以及在何时捕获仍然允许适当回滚的错误。因此,上面给出了关于commit语句的具体答案,但作为程序员,您可以对语句进行分组以实现相同的目标。
后来.....
答案 1 :(得分:-1)
AFAIK调用提交时刻,该提交语句之前和最后一次提交之后的所有DML都被提交到数据库。因此,如果在您提交之后有更多提交,那么它们不会受到您的提交的影响,您的提交也不会影响他们的提交,除非当然存在回滚的情况。