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

北京集团网站建设什么网站做视频

北京集团网站建设,什么网站做视频,小程序有哪些开发平台,网站续费怎么做分录企业级软件或开发框架#xff0c;必然支持后台高并发#xff0c;即支持多人同时访问数据库。SAP作为资深企业管理软件#xff0c;自然也不例外#xff0c;ABAP可以很方便的开发出支持高并发的程序#xff0c;要实现高并发#xff0c;正确使用锁对象是其中一个重要环节必然支持后台高并发即支持多人同时访问数据库。SAP作为资深企业管理软件自然也不例外ABAP可以很方便的开发出支持高并发的程序要实现高并发正确使用锁对象是其中一个重要环节今天我们就一起来看看SAP的锁对象。SAP锁对象属于数据字典的一部分它并不是数据库锁而是存在于队列应用服务器内存中是一种逻辑锁假设现在AB两个用户要同时修改一张表中的记录为了保证数据一致性程序先为A用户加锁加锁成功后A用户可以正常修改表。这时B用户也要修改此表程序同样尝试为B用户加锁但发现表已经被锁定那么加锁失败程序需要提示B用户表已被锁定。只有当A用户修改完毕将锁释放B用户才可以正常修改表。SAP锁有多种模式常用的有E, S, X, O这几种。下面分别做简要说明模式E当更改数据的时候设置为此模式。 模式S本身不需要更改数据但是希望显示的数据不被别人更改。模式X和E类似但是不允许累加完全独占。 模式O乐观锁多个用户可以重复加乐观锁但当有新的用户加了排它锁E或者已有用户的乐观锁提升为排它锁时所有的乐观锁将失效。除了上述几种模式还要理解锁的拥有者即owner一般来说SAP锁要么属于dialog会话进程要么属于update进程。程序运行是从dialog会话进程开始的当调用call function...in update task时会进入update 进程这个时候update进程会继承锁对象。这两种拥有者的区别在于如果拥有者是update进程那么执行commit work后锁会自动消失。理解了锁的模式和拥有者我们来看看在系统中如何创建和使用锁对象。步骤1事务码SE11选择所对象输入EZ_ZTDEPEMP。注意所对象要求必须E 开头。步骤2选择锁模式常用模式上面有介绍过一般选择E。步骤3输入锁参数默认是表的关键字。输入参数后可以指定锁定那些记录如果参数为空则锁定整张表。保存激活后锁对象就创建成功了。那么如何使用这个锁对象呢SAP锁对象在创建的时候会额外自动创建两个函数ENQUEUE_EZ_XXXXX 和 DEQUEUE_EZ_XXXXX。具体到我们刚才创建的锁对象函数分别是ENQUEUE_EZ_ZTDEPEMP 和 DEQUEUE_EZ_ZTDEPEMP用于加锁和解锁。在程序中调用这两个函数然后可以通过事务码SM12观察加锁和解锁的情况。一起来看一段锁产生冲突的代码CALL FUNCTION ENQUEUE_EZ_ZTDEPEMPEXPORTINGmode_ztdepemp Emandt sy-mandt * DEPNO 001 * EMPNO 000001 * X_DEPNO * X_EMPNO _scope 1 * _WAIT * _COLLECT EXCEPTIONSforeign_lock 1system_failure 2OTHERS 3. IF sy-subrc 0. * Implement suitable error handling here ENDIF.打开两个窗口运行这段程序第一个窗口运行程序后通过事务码SM12查看锁对象可以看到表ZTDEPEMP加锁成功了第二个窗口再次运行程序会发现没有产生新的锁对象通过debug发现sy-subrc 1说明表再次加锁和现有的锁冲突了不应该继续更改表。上面的程序有两个重要参数mode_ztdepemp E这个参数就是之前提到的锁模式。E表示更新排它锁。一个用户加E类型锁后其它用户就不能继续加锁。_scope 1这个参数用来指定锁的拥有者owner。_scope 1时锁的拥有者是dialog会话。_scope 2时当出现CALL FUNCTION XXX IN UPDATE TASK 时update会话就会继承这个锁这样在commit work时锁就会自动释放掉。我们将上面的代码稍作修改_scope 2。再通过debug 和SM12观察锁对象可以验证上面的锁机制。CALL FUNCTION ENQUEUE_EZ_ZTDEPEMPEXPORTINGmode_ztdepemp Emandt sy-mandt * DEPNO 001 * EMPNO 000001 * X_DEPNO * X_EMPNO _scope 2 * _WAIT * _COLLECT EXCEPTIONSforeign_lock 1system_failure 2OTHERS 3. IF sy-subrc 0. * Implement suitable error handling here ENDIF.CALL FUNCTION ZFM_UPDATE_DEPEMP IN UPDATE TASK.COMMIT WORK.最后我们来看看乐观锁的使用。假设现在有两个屏幕都要修改同一张表如果使用排它锁E那么只有一个屏幕可以在修改模式下查看数据。如果我们需要多个屏幕都以修改模式来查看那可以使用乐观锁O。当数据需要保存时再将乐观锁升级为排它锁。升级的同时其它的乐观锁都会自动消除。如何使用乐观锁和升级成排它锁可以参考下面代码。CALL FUNCTION DEQUEUE_EZ_ZTDEPEMPEXPORTINGmode_ztdepemp Omandt sy-mandt * DEPNO 001 * EMPNO 000001 * X_DEPNO * X_EMPNO * _SCOPE 3 * _SYNCHRON * _COLLECT .CALL FUNCTION ENQUEUE_EZ_ZTDEPEMPEXPORTINGmode_ztdepemp Rmandt sy-mandt * DEPNO 001 * EMPNO 000001 * X_DEPNO * X_EMPNO _scope 1 * _WAIT * _COLLECT EXCEPTIONSforeign_lock 1system_failure 2OTHERS 3. IF sy-subrc 0. * Implement suitable error handling here ENDIF.先将mode_ztdepemp O 设置为O即为乐观锁再将mode_ztdepemp R 设置为R升级为排它锁。SAP锁对象就介绍到这里了希望大家能不断积累经验写出更加健壮的程序。如有问题可加入群讨论。微信号eckwise
http://www.ihoyoo.com/news/30434.html

相关文章:

  • 天津自助建站软件经销商自己做网站合适吗
  • 搭建网站哪个好ar做网站
  • 学校的网站是怎么建设的友汇网站建设
  • 网站开发目录结构海尔官网 网站建设的目标
  • 西安做网站的国外网站设计版式欣赏
  • 做直播网站软件有哪些软件最简单的wordpress主题
  • 网站建设询价报告毕业设计做网站
  • 水果电商网站建设相关文献网站设计公司费用
  • 如何做网站平台销售中企动力定制化官网
  • 山西晋中网站建设oss for wordpress
  • 做网站现在赚钱吗榆次网站建设公司
  • 大学网站模板htmlh5免费制作软件
  • 我做彩票网站开发彩票网站搭建网站成立查询
  • 眼科医院网站开发seo还可以做哪些推广
  • 建网站要什么工做人员wordpress添加文件2m
  • 婺源做微信网站北碚免费建站哪家做得好
  • 商贸公司的网站建设如何建一个简单的网站
  • 门户网站流程图做景观的网站
  • 网站设计的国际专业流程是什么企业网站推广的线上渠道有哪些?
  • 建立一个公司自己的网站大学生做的美食网站
  • 求个网站你懂我的意思吗凡科建站做的网站收录慢吗
  • 网站建设分什么行业wordpress 表前缀
  • 建设银行e房通网站服务好的普通网站建设
  • 安顺网站建设公司公司的网站的设计
  • 网站首页导航代码怎么做网页弹窗广告
  • 响应式 网站建设网约车资格证
  • 在海外做网站 卖东西网页设计图片边框代码
  • 做网站卖沈阳模板建站定制
  • 上海企业专属网站建设平台天津高端模板建站
  • 云南网站设计外包徐东网站建设公司