ABAP 异步更新的机制以及逻辑

Asynchronous Updates(异步更新)步骤:

  • 用户通过enqueue work process锁住要修改的表,信息存放于lock table,如果已被他人锁住,则返回无法修改该表的信息;
  • 锁表成功,用户可以修改目标数据;
  • 如果程序调用了FUNCTION...INUPDATE TASK这种函数,更新数据会被临时存放在VB*表(一种存放要更新的数据的表,因为都是VB开头的,所以统称为VB*表)中;(表簇VBLOG,透明表VBHDRVBDATAVBMODVBERROR)
  • 操作结束时(比如"保存"),程序提交COMMIT WORKupdate work process被激活;
  • update work process读取VB*表中的log records
  • update work process进行更新操作并等待database反馈,如果成功则删除VB*表中的临时数据,如果失败则保留VB*表中的临时数据并标注为defective(有缺陷的)
  • the lock entries in lock table are reset

 

常用的VB*表:

  • VBHDR: update headers
  • VBMOD: update modules
  • VBDATA: update data
  • VBERROR: possible error information
posted @   我肉山  阅读(153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示