ABAP正确定义后台作业的姿势

  • A+
所属分类:SAP

前言:

SAP中相同程序的后台作业如果在同一时间段内有多个作业在重复执行,可能会导致数据(凭证、主数据、操作)重复(因锁时间差)问题或者每个job都执行时间很长(因为互相锁,导致交替执行,锁的时候就要等待)。

为此,ABAP在释放后台作业的时候,应该考虑判断一下后台是否有相同程序的作业处于未完成状态,如果有则不创建新的作业。

当然,其实最好是有专门的工具来管理作业,到了触发点自动向SAP下发作业,这样不用在SM37里设置死的话作业的监控和管理都更灵活了。SAP合作伙伴有类似的工具,叫CPS,很多大公司都在用。

cps是一个组件包,打到基于SAP Java底层的系统里就能用了。

以下是SAP关于cps的简介

https://blogs.sap.com/2012/04/02/sap-central-process-scheduling-by-redwood-cps/

SAP网站上说最新的管理后台作业的组件已经升级为BPA了,可以从cps进行升级。

https://blogs.sap.com/2015/03/23/sap-business-process-automation-by-redwood/

以下是最佳实践:

代码来源于程序SAPRSEUT

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: