SAP 锁对象 基本概念与基本操作 SE11

本文介绍了SAP系统设置锁的原因,包括数据一致性维护和应用服务器层面的全局LOCK TABLE。详细阐述了锁对象的类型(E,S,X模式)及其相互影响,以及如何在SE11中创建和激活。还提到了锁定和解锁的操作,异常情况的处理,以及如何通过FM手动解除锁定。
摘要由CSDN通过智能技术生成
 
一、SAP为什么要设置锁:
  
  1,保持数据的一致性

    如果几个用户要访问同样的资源,需要找到一种同步访问的方法去保持数据的一致性。比如说,在航班预订系统中,需要检查还有没有空座位,当检查的时候,你不想别人修改重要的数据(空座位的数量)。

  2,仅仅用Database锁是不够的

    数据库管理系统物理锁定了要修改的行记录,其他用户要等到数据库锁释放才能访问这个记录。

    在SAP系统中,当一个新屏幕显示的时候会释放掉Database锁,因为屏幕的改变会触发一个隐式的DB COMMIT。如果数据是从好几个屏幕收集来的话,而且在这段时间内这些数据会分别被锁定,仅仅用Database锁就不够了。

    SAP系统在应用服务器层面有一个全局的LOCK TABLE,可以用来设置逻辑锁来锁定相关的表条目,并有ENQUEUE工作进程来管理这些锁。SAP锁是一种逻辑意义上的锁,有可能你锁定的表条目在DATABASE上根本就不存在。


二、锁对象和其对应的FM

   在SE11里创建锁对象,自定义的锁对象都必须以EZ或者EY开头来命名。一个锁对象里只包含一个PRIMARY TABLE,可以包含若干个SECONDARY TABLE,锁的模式有三种:E,S,X。LOCK PARAMETERS里填写你要根据哪些字段来锁定表条目。

   模式E:当更改数据的时候设置为此模式。

   模式S:本身不需要更改数据,但是希望显示的数据不被别人更改。

   模式X:和E类似,但是不允许累加,完全独占。

   如果你在一个程序里成功对一个锁对象加锁之后,如果模式为E,其他用户不能再对这个锁对象加E、X、S模式的任意一种锁ÿ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值