内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

百度云_武汉网站建设费用_三重好礼

2021-07-09 22:56 出处:欧普曼云计算 人气: 评论(0

大家好,

我们写这个博客是为了分享我们的知识,并帮助那些希望使用BOPF框架开发具有草案功能的定制应用程序的人。因此,物联,基本上,通过本博客,您将了解如何基于草稿和持久锁定功能的概念创建自己的定制SAP UI5应用程序。

为了在应用程序中实现此场景,我们在后端使用了BOPF框架和CD。这个场景已经可以通过基于模板的应用程序以非常简单的方式实现,但是在这里,我们将解释如何在自定义应用程序中实现相同的标准功能。

因此,在解释开发应用程序的步骤之前,让我们先从持久锁的介绍开始,以及它是如何实现的不同于SAP传统锁和关于草稿的概念。

简介:

SAP锁概念(传统):

众所周知SAP ERP配备了一种特殊的锁机制"同步数据库访问"。此同步的目的是防止两个事务/程序同时更改数据库中的相同数据。

它是如何工作的?

在应用锁定程序之前,我们必须为该数据集创建锁定对象。或者我们可以说SAP Lock concept一般定义为数据字典中的锁对象。

锁对象定义由数据库表和键字段组成。根据这些参数,可以设置锁。因此,当我们在SE11中创建一个锁对象时,系统会自动生成两个功能模块,分别为ENQUEUE和DEQUEUE,这些功能模块在我们的程序中用于创建/设置和释放锁。

锁的类型

在SAP系统中,根据参数、范围和锁的模式设置锁。因此,基于锁模式,SAP将锁分为四种类型,即S、E、X、O.

共享锁或读锁:在显示模式下,多个事务可以一次访问相同的记录/数据。它允许其他事务读取数据,但不允许写入。

独占锁或写入锁(E):此锁保护对对象的写入访问,泛在电力物联网,这意味着它为事务提供独占的读、写能力,淘客是什么,其他事务既不能读也不能写

独占但非累积(X):此锁是独占锁的扩展版本,不同之处在于同一事务可以多次请求独占锁,然后逐个释放,而事务可以一次请求非累积锁的独占锁,然后释放所有进一步的锁都将被拒绝,这意味着它还可以防止来自同一事务的数据被进一步访问。

因此,以上三种锁都被称为悲观锁。

悲观锁的缺点:对象从在事务中被访问时起就被锁定。因此,对于其他人来说,它将是不可访问的,这意味着数据将从事务打开时被锁定。为了克服这种情况,又引入了一个锁,即乐观锁。

乐观锁(O):这个锁最初表现为一个共享锁,后来被转换为独占锁,云服务器好吗,这意味着对象在事务访问时实际上没有被锁定。当我们点击"创建"或"保存"按钮时(在执行操作期间),它会被锁定。

所以基本上,在乐观锁中,会创建版本,并根据版本获取数据。

所以,会出现一个问题:何时使用悲观锁,何时使用乐观锁?

答案–当冲突更多时使用悲观锁,或者我们可以说对于精确的数据操作应该使用悲观锁(如在金融应用程序中)。

但是乐观锁还有一个缺点,即。,捕获乐观锁异常时,数据访问框架触发回滚,导致用户丢失未保存的数据

假设有两个用户,两个用户同时尝试保存数据,则对一个用户执行操作(基于首先生成的版本),但对另一个用户,因此,为了保留乐观锁的特性,并启用保存用户未保存数据的新特性,引入了一种新的锁概念,即:。,称为持久锁。

持久锁是一种乐观锁,只具有额外的拔模功能。这些类型的锁是持久的锁,因为它们不依赖于session/commit work/Dequeue FM。它们依赖于排队上下文并持续更长的时间。

排队上下文是一个锁定阶段,在这个阶段中,持久的锁与草稿一起被分配唯一的ID。

草稿-顾名思义,草稿只是暂时的。最终文件的临时版本。或者我们可以说草稿是一个临时版本,尚未显式保存为活动版本。

在像Gmail、outlook这样的应用程序中,我们可以看到草稿的概念,但这取决于我们是否要将未保存的更改保存为草稿。但这里是一个自动保存功能,当用户在编辑模式下添加或更改数据时,它会自动保存在后台。

持久锁与SAP传统锁有什么不同?

持久锁流程

说明:假设有两个用户,用户A和用户B

用户A想要编辑应用记录S1。然后在后台首先进行验证,检查是否有任何独占锁分配给用户B,或者没有分配给该记录。如果用户B有锁,则会向用户A显示一条错误消息。如果没有,则会为用户B分配一个时间段T的独占锁,并且还会为用户A创建一个草稿版本和一个草稿锁,这意味着将向用户A分配两组锁(与草稿锁一起分配的独占锁)。如前所述,持久锁是基于在该应用程序的框架中显式设置的到期时间释放的。如果用户在时间段T内保持不活动状态,那么锁将被释放,只有记录的草稿版本。如果没有,那么锁将为用户A保留。

注意:使用表SDRAFT\u LC\u CONFIG,免费企业管理软件,我们可以检查框架为应用程序设置了什么时间。或者,我们也可以检查包含业务对象创建的CD中的时间限制。

持久锁的优点

缺点:

持久锁只有一个缺点,即它仅适用于特定的SAP应用程序或框架。

支持此概念的框架是BOPF框架。因为BOPF框架提供了一些额外的功能来支持业务对象级别的草稿概念。除了标准的BOs之外,还可以创建适合于实现拔模质量的特定BOs形状。Draft业务对象提供代码出口,用于实现合同草案,并基于定义良好的BOPF API扩展BO功能。

在根节点级别生成的操作

为了以通用方式使用草案数据,默认情况下,BOPF框架创建标准草案操作,如编辑、激活、准备,对每个草稿业务对象进行验证。

执行激活操作以将草稿数据转换为活动数据。

执行准备操作以创建草稿数据。

执行验证操作以检查对象的一致性。

因此,这就是持久锁定和草稿的整个概念。现在我将告诉您我们做了哪些开发来实现这个场景。

为了实现这一点,我们采用了销售订单场景,在这个场景中,用户可以读取/创建/编辑/删除销售订单。请参阅视频了解更多详细信息。

使用BOPF框架创建可定制草稿应用程序的步骤

/n/IWFND/MAINT\U服务

使用此代码,首先注册OData服务,然后该服务将可供webide使用以生成应用程序。

这是我们为实现此场景所做的整个后端开发。

要深入了解这个概念,请访问以下链接。

Sap传统锁:

https://help.sap.com/doc/sahelp\u nw73ehp1/7.31.19/en-US/47/df116e6abf296fe10000000a42189b/frameset.htm

概念草案:

https://help.sap.com/viewer/cc0c305d2fab47bd808adcad3ca7ee9d/7.52.1/en-US/a14edfb1f263495a894780c82c916664.html

耐用锁:

https://help.sap.com/viewer/6568469cf5a1460a8d85c5883d21ec2/7.5.6/en-US/0cbb4e75240f449daa282afc986f2719.html

分享给小伙伴们:
本文标签: 百度武汉网站建设费用重好

相关文章

评论

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

签名: 验证码: 点击我更换图片

评论列表