背景
当ABAP开发平台数据更新频率高、客户要求进入ALV即锁单据,避免在操作中被他人修改数据
问题概括
大量锁单据,再多点触发时会导致锁池溢出
解决方案
解决方案:
1.业务单据主数据表增加GUID字段
2.一次操作只锁GUID,而GUID与单据绑定,大幅降低锁发生数
3.可以用中间表建一个通用的锁池表,不用业务主数据表增加GUID也可以
(通用锁池表包括业务主键拼接字段、唯一锁标识(程序名即可)、GUID、用户名 )
1>当加锁时写入此表
2>GUID解锁后,将此表GUID相关数据全部物理删除
注意事项:
更新主表GUID需按主键单号加锁,更新完立即释放
整体架构流程
小结
`在遇到相关问题时的想法,还未写代码验证,后续跟新代码,若思路不成熟,还望多多交流。