ABAP:数据库操作时的锁定问题

要支持更新 绑定计划, SAP 系统提供了 完全不同于 数据库锁定 的锁定机制 SAP 锁定的优点 在于可以在 多重屏幕间 保留它们, 如同 更新事务 ( ) 所需要的。

数据库锁定 是数据库系 统中的物理 锁定。在程 序中使用更 新语句(SELECT SINGLE FOR UPDATE INSERT UPDATE MODIFY DELETE 时,系统自 动创建数据 库锁定。数 据库锁定在 每次数据库 提交(即每 次屏幕更改 )时自动释 放。因此, 数据库锁定 对长于一个 屏幕的锁定 无效,并且 作为程序员 也无法控制

SAP 锁定是 SAP 系统定义的 逻辑锁定。 要使用它们 ,首先定义 指定要锁定 数据库对象 的锁定对象 。激活锁定 对象时,系 统生成所定 义的每个锁 定对象的锁 定和解锁例 程(称为 ENQUEUE-<object> DEQUEUE-<object> 的功能模块 )。调用这 些功能模块 ABAP/4 程序中直接 设置和释放 锁定。

关于使用 SAP 锁定的详细 信息,参见 SAP 系统中的锁 ( 9–25)

 

对于使用se11创建的“锁对象”,如EZUC_MR_NUMB,则系统自动生成,锁定和解锁函数,名称如下:

  ENQUEUE_EZUC_MR_NUMB "锁定操作函数

   DEQUEUE_EZUC_MR_NUMB "解锁操作函数

 

具体的实现细节可以使用SE17事务代码查看,但不允许修改。

 

调用方法,锁定:

 

解锁:

 

 

在此之间可以进行此数据库表的操作,及事务管理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值