欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

SAPFiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)專注于且末企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),電子商務(wù)商城網(wǎng)站建設(shè)。且末網(wǎng)站建設(shè)公司,為且末等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

方法1: ETAG機(jī)制

SAP CRM Fiori采用了這種機(jī)制。

看一個(gè)具體的例子來(lái)理解。假設(shè)我用用戶名Jerry選中了這個(gè)ID為3456的Opportunity,點(diǎn)擊Edit按鈕之后:

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

會(huì)觸發(fā)一個(gè)讀操作發(fā)到后臺(tái):

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

后臺(tái)響應(yīng)這個(gè)讀請(qǐng)求,并且在響應(yīng)的頭部字段ETAG里寫入了對(duì)應(yīng)的值。

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

這個(gè)26AE結(jié)尾的ETAG的值可以由應(yīng)用程序采取不同的邏輯計(jì)算,可以直接采用請(qǐng)求節(jié)點(diǎn)對(duì)應(yīng)的最后修改時(shí)間戳(Last Changed Timestamp), 例如下面這段ABAP代碼:

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

也可以基于數(shù)據(jù)的完整內(nèi)容計(jì)算一個(gè)HASH值出來(lái)作為ETAG返回給Fiori UI:

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

現(xiàn)在我用另一個(gè)用戶,對(duì)同一個(gè)Opportunity做了修改,成功保存。然后再回到用戶Jerry的這個(gè)編輯窗口,此時(shí)Jerry根本不知道該Opportunity已經(jīng)被另一個(gè)用戶修改了。Jerry修改了Opportunity的Name字段,點(diǎn)擊保存按鈕。

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

收到這個(gè)提示信息。

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

從Chrome Development Tool里能觀察到,當(dāng)Jerry點(diǎn)擊了保存按鈕后,發(fā)送到后臺(tái)的請(qǐng)求的頭部包含了一個(gè)If-Match字段,這個(gè)字段的值就是Jerry第一次點(diǎn)擊編輯按鈕時(shí),后臺(tái)返回給Jerry的26AE結(jié)尾的ETAG字段。

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

背后發(fā)生了什么事請(qǐng)呢?在框架的方法CHECK_BEFORE_MODIFICATION里,框架會(huì)把Fiori UI請(qǐng)求傳進(jìn)來(lái)的ETAG和當(dāng)前最新的ETAG做比較:

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

CHECK_BEFORE_MODIFICATION又會(huì)調(diào)用CHECK_ETAG_MATCH方法。如果check失敗,當(dāng)前的保存操作將不會(huì)執(zhí)行。

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

方法2: 基于BOPF的鎖實(shí)現(xiàn)

這種方式用于S/4HANA的Fiori應(yīng)用,比如Material application。這種Fiori應(yīng)用,消費(fèi)的OData service是基于CDS view 加上BOPF實(shí)現(xiàn)的。

打開(kāi)一個(gè)Material,點(diǎn)擊Edit:

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

此時(shí)到ABAP后臺(tái)使用事務(wù)碼SM12能觀察到Material對(duì)應(yīng)的數(shù)據(jù)庫(kù)表被鎖住了:

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

這是怎么實(shí)現(xiàn)的呢?

在S/4HANA后臺(tái)使用事務(wù)碼BOBX打開(kāi)BO模型I_PRODUCTWD. 展開(kāi)模型,雙擊EDIT,能看到這個(gè)Edit實(shí)現(xiàn)的類為CL_I_DR_PRODUCTWD.

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

雙擊這個(gè)class,它的方法LOCK_ACTIVE_DOCUMENT就是響應(yīng)Fiori UI上編輯按鈕點(diǎn)擊的處理函數(shù)。

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

我們?cè)谶@個(gè)方法里設(shè)置斷點(diǎn),然后在UI上點(diǎn)擊編輯按鈕,斷點(diǎn)觸發(fā)。從調(diào)用棧即可清除觀察到編輯按鈕點(diǎn)擊之后,程序執(zhí)行流是如何從BOPF框架投遞到Material應(yīng)用的枷鎖代碼。這個(gè)加鎖邏輯調(diào)用的是傳統(tǒng)的ABAP Enqueue function module。

SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)

上述就是小編為大家分享的SAP Fiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文標(biāo)題:SAPFiori里兩種鎖機(jī)制是怎么實(shí)現(xiàn)
URL鏈接:http://chinadenli.net/article22/jioocc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、網(wǎng)站營(yíng)銷、外貿(mào)建站、虛擬主機(jī)、動(dòng)態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化