当前位置: 首页 > news >正文

网站维护 推广/上海好的seo公司

网站维护 推广,上海好的seo公司,找外包公司做个网站多少钱,网站建设合同附加协议SAP锁机制 一、SAP为什么要设置锁: 1,保持数据的一致性 如果几个用户要访问同样的资源,需要找到一种同步访问的方法去保持数据的一致性。比如说,在航班预订系 统中,需要检查还有没有空座位,当检查的时候&a…

SAP锁机制
一、SAP为什么要设置锁:
1,保持数据的一致性
如果几个用户要访问同样的资源,需要找到一种同步访问的方法去保持数据的一致性。比如说,在航班预订系

统中,需要检查还有没有空座位,当检查的时候,你不想别人修改重要的数据(空座位的数量)。
2,仅仅用Database锁是不够的
数据库管理系统物理锁定了要修改的行记录,其他用户要等到数据库锁释放才能访问这个记录。
在SAP系统中,当一个新屏幕显示的时候会释放掉Database锁,因为屏幕的改变会触发一个隐式的DB COMMIT

。如果数据是从好几个屏幕收集来的话,而且在这段时间内这些数据会分别被锁定,仅仅用Database锁就不够了。
SAP系统在应用服务器层面有一个全局的LOCK TABLE,可以用来设置逻辑锁来锁定相关的表条目,并有

ENQUEUE工作进程来管理这些锁。SAP锁是一种逻辑意义上的锁,有可能你锁定的表条目在DATABASE上根本就

不存在。

二、锁对象和其对应的Function Module
在SE11里创建锁对象,自定义的锁对象都必须以EZ或者EY开头来命名。一个锁对象里只包含一个PRIMARY

TABLE,可以包含若干个SECONDARY TABLE,锁的模式有三种:E,S,X。LOCK PARAMETERS里填写你要根

据哪些字段来锁定表条目。
模式E:当更改数据的时候设置为此模式。
模式S:本身不需要更改数据,但是希望显示的数据不被别人更改。
模式X:和E类似,但是不允许累加,完全独占。
如果你在一个程序里成功对一个锁对象加锁之后,如果模式为E,其他用户不能再对这个锁对象加E、X、S模式

的任意一种锁;
如果你在一个程序里成功对一个锁对象加锁之后,如果模式为X,其他用户不能再对这个锁对象加E、X、S模式

的任意一种锁;
如果你在一个程序里成功对一个锁对象加锁之后,如果模式为S,其他用户不能再对这个锁对象加E、X模式的

锁,但是可以加S模式的锁;
如果你在一个程序里成功对一个锁对象加锁之后,如果模式为E,在这个程序,你还可以再对这个锁对象加E、

S模式的锁,X模式的不可以。
如果你在一个程序里成功对一个锁对象加锁之后,如果模式为X,在这个程序,你不可以再对这个锁对象加E、

X、S模式的锁。
如果你在一个程序里成功对一个锁对象加锁之后,如果模式为S,在这个程序,你还可以再对这个锁对象加S模

式的锁,如果没有别的用户对其加S模式的锁,那么你还可以对其加E模式的锁。X模式的不可以。
当激活锁对象的时候,系统会自动创建两个FM,ENQUEUE_<锁对象名>和DEQUEUE_<锁对象名>,分别用来锁

定和解锁。

三、锁定和解锁
当用逻辑锁来锁定表条目的时候,系统会自动向LOCK TABLE中写入记录。
当调用设置锁的FM时,LOCK PARAMETERS如果没有指明,系统会锁定整个表。当然,LOCK PARAMETER:

CLIENT有点特殊,如果不指定,默认是SY-MANDT;如果指定相应的CLIENT,会锁定对应CLIENT上的相应的表

记录;如果设置为SPACE,则锁定涉及所有的CLIENT。
当逻辑锁设置失败后,一般会有两种例外。一个是EXCEPTION:FOREIGN_LOCK,意思是已经被锁定了;另一

个是EXCEPTION:SYSTEM_FAILURE。
有些情况下,程序中设置成功的逻辑锁会隐式的自己解锁。比如说程序结束发生的时候(MESSAGE TYPE为A

或者X的时候),使用语句LEAVE PROGRAM,LEAVE TO TRANSACTION,或者在命令行输入/n回车以后。
在程序的结束可以用DEQUEUE FUNCTION MODULE来解锁(当然如果你不写这个,程序结束的时候也会自动的

解锁),这个时候,系统会自动从LOCK TABLE把相应的记录删除。使用DEQUEUE FUNCTION MODULE来解锁的

时候,不会产生EXCEPTION。要解开你在程序中创建的所有的逻辑锁,可以用FM:DEQUEUE_ALL.

四、上锁的一般步骤
先上锁,上锁成功之后,从数据库取数据,然后更改数据,接着更新到数据库,最后解锁。按照这个步骤,才

能保证更改完全运行在锁的保护机制下。

 

五、创建锁对象

TCODE:se11.选择最下面的lock object。如图:

自建的锁对象以EZ或者EY开头,新建完之后可以看到三个标签页。Attributes,Tables,Lock Parameter.

如果是接口对表进行操作,注意需要选上allow RFC.如图:

 

Tables标签下Primary Tables下两个输入项,name是表的名字,lock mode有三种模式,分别是S,E,X.含义如下:

  • S (Shared lock, read lock)
  • E (Exclusive lock, write lock)
  • X (eXclusive lock, extended write lock, cannot be cumulated)

    一般情况下,使用E模式

    LOCK parameters里面默认的参数时表的主键,这样因为可以唯一的确定表的一行,通常情况下不用修改。

    在激活之后,会产生两个function module,一个用来对对象进行锁定,另一个是释放对象。二者的名字都很有规律。

    DEQUEUE_<lock object的名字> 释放对象 EZZSOPR0032 的锁定
    ENQUEUE_<lock object的名字> 对象 EZZSOPR0032 要求的锁定

    到时要使用的时候直接call function module即可。

     

    如果程序出现死锁状态,可以通过SM12去诊断,手工删除相关的锁定。

     

     

     

     

     

     

     

     

http://www.jmfq.cn/news/5098717.html

相关文章:

  • 医院网站信息化有哪些建设规范/莆田seo
  • 如何做一家专门卖零食的网站/seo网站优化培训价格
  • wordpress 搜索结果页/网络优化公司哪家好
  • html5网站开发测试/建站公司哪个好
  • 济南网站建设知识/seo关键词选取工具
  • pc网站平台/必应搜索引擎
  • 免费ppt模板下载网盘/seo推广编辑
  • 哈尔滨道外区建设局官方网站/seo高级
  • 南汇整站seo十大排名/免费大数据查询
  • 做可视化的网站/中国营销网官网
  • 百度网站如何做运营/新闻最近的大事10件
  • 广州哪里有外贸网站/星巴克网络营销案例分析
  • 移动端网站开发/武汉好的seo优化网
  • 淮北网站制作/嘉兴seo计费管理
  • wordpress后台500/大地seo
  • 华为公司网站建设相关内容/百度关键词优化企业
  • 简述网站设计规划的步骤/seo 页面链接优化
  • 江苏恒健建设集团有限公司网站/网站建设介绍ppt
  • 东莞建筑公司/seo类目链接优化
  • 备案用的网站建设方案书/哪里有整站优化
  • 视频解析网站制作/怎么理解搜索引擎优化
  • 建设部网站 审查系统/百度手机浏览器下载
  • 新疆5g基站建设/单页应用seo如何解决
  • 如何做网站seo/seo搜索引擎优化报价
  • 简单模板网站制作时间/站长收录
  • 精品课程教学网站/网络营销的策略
  • 网站建设的方案费用/深圳 网站制作
  • 虎门仿做网站/百度一下网页首页
  • 网站收藏链接怎么做的/seo怎么优化方案
  • 百度网站自然排名优化/广东网站营销seo方案