二维码

[ddic] COMMIT WORK和COMMIT WORK AND WAIT的区别

Twilight发表于 2015-04-24 11:33Twilight 最后回复于 2015-04-24 11:33 [复制链接] 5080 0

他两最简单最直接的区别:COMMIT WORK        异步;COMMIT WORK AND WAIT        同步。

下面是ChampaignWolf给出的深层解释:
首先说明一点:更新是异步的,更新是由SAP中UPD1和UPD2两个进程执行的,关于这两个进程各负责什么再说明一下
UPD1先执行,主要是用于数据库表的更新,比如说写表
UPD2后执行,主要是用于一些数据的收集统计等的更新,比如说为BW收集一下数据等等
同时这个是可以在SM13看到的,如果看到日志中UPD1成功,UPD2失败,如有BW的取数,那肯定会丢数据的,所以说COMMIT WORK是异步的,为了使其同步,所有就有了COMMIT WORK AND WAIT。对于COMMIT WORK AND WAIT 来说,是可以判断是否更新成功的,SY-SUBRC NE 0就是有问题的。

上面是最简单的区别,再有:
  由于系统中COMMIT WORK的数量是有限的,比如说我们系统是4000个,同时只能提交4000个更新进程,对于COMMIT WORK来说,执行完就释放了,可以为后面的COMMIT WLRK继续使用;而对于COMMIT WORK AND WAIT是要执行完才释放的,所以对于没有必要同步更新的,也尽快使用异步,使得资源得到释放。
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表