这是同步更新还是异步更新的问题;如果是只commit work,是异步更新,触发注册在当前SAP LUW中所有数据更新动作,数据更新动作由SAP的更新工作进程来执行,当前程序不等待更新动作结束,直接向下执行。 commit work and wait 是同步更新,此语句触发注册在当前SAP LUW所有数据更新动作,当前主程序等待SAP更新进程完成数据更新操作...
commit work and wait 是同步更新,此语句触发注册在当前SAP LUW所有数据更新动作,当前主程序等待SAP更新进程完成数据更新操作,然后向下执行。严格来说,commit work and wait也不是彻底的同步更新,此处等待数据更新操作完成,是指只等V1更新(优先级较高)完成,不等待其他优先级较低的V2更新等。 在调用BAPI更新标准对象...
所以说COMMIT WORK是异步的,为了使其同步,所有就有了COMMIT WORK AND WAIT. 对于COMMIT WORK AND WAIT 来说,是可以判断是否更新成功的,SY-SUBRC NE 0就是有问题的。 上面是最简单的区别,再有: 由于系统中COMMIT WORK的数量是有限的,比如说我们系统是4000个,同时只能提交4000个更新进程,对于COMMIT WORK来说,执...
在COMMIT WORK 语句以后,对数据库所作的所有更改都不能再取消。但是,如果在LUW 中出现了错误,就必须取消已经执行的部分。这意味着当前没有任何插入的行能永久地保存在数据库中。要撤销当前LUW 对数据库的更改,请使用ROLLBACK WORK,它将取消前一次数据库提交后的所有更改。4. COMMIT WORK [AND ...
由于系统中COMMIT WORK的数量是有限的,比如说我们系统是4000个,同时只能提交4000个更新进程,对于COMMIT WORK来说,执行完就释放了,可以为后面的COMMIT WLRK继续使用;而对于COMMIT WORK AND WAIT是要执行完才释放的,所以对于没有必要同步更新的,也尽快使用异步,使得资源得到释放。
代码语言:javascript 复制 COMMITWORKANDWAITROLLBACKWORK“同步更新COMMITWORKANDWAIT."SAPLUW显式提交 "该语句结束SAPLUW并触发更新工作过程,该过程在同一个数据库LUW中进行更新操作,因为数据库LUW此时可以替代SAP开始进行一致性控制。IFSY-SUBRC=4.ROLLBACKWORK."取消对数 据库表所作 的更改ELSE.ENDIF. ...
From the documentation we would expect that using COMMIT WORK AND WAIT (or the BAPI with WAIT = 'X') should be sufficient to ensure that the new object had been created successfully before the next statement is executed. In some cases this is correct in other cases it i...
COMMIT WORK AND WAIT. "SAP LUW 显式提交 "该语句结束SAP LUW 并触发更新工作过程,该过程在同一个数据库 LUW 中进行更新操作,因为数据库 LUW 此时可以替代SAP开始进行一致性控制。 IF SY-SUBRC = 4. ROLLBACK WORK. "取消对数 据库表所作 的更改 ...
There's no delay. COMMIT WORK AND WAIT is not needed (AND WAIT is not for the direct database update as yours, it's to be used only if you have used CALL FUNCTION 'XXX' IN UPDATE TASK). There's an issue in your code somewhere. Are you sure of the origin of the "status" that...
COMMIT WORK AND WAIT (or BAPI_TRANSACTION_COMMIT with parameter WAIT = 'X') does not work as expected The BAPI 'BAPI_TRANSACTION_COMMIT' is internally using statements COMMIT WORK (parameter WAIT = ' ') and COMMIT WORK AND WAIT (parameter WAIT = 'X'). In the followin...