日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

SAP S/4HANA Fiori 應(yīng)用里的 Draft Handling(草稿處理)機制

 汪子熙 2025-04-09 發(fā)布于上海

在 SAP S/4HANA 的 Fiori 應(yīng)用程序中,所謂 draft(草稿),是尚未保存為 Active 版本的業(yè)務(wù)文檔的「臨時版本」。

使用 SAP S/4HANA Fiori 應(yīng)用創(chuàng)建或編輯業(yè)務(wù)文檔時,ABAP 后臺會自動創(chuàng)建草稿版本。草稿的主要目的是防止數(shù)據(jù)丟失,并代表草稿所有者,對草稿文檔加上一把獨占鎖(Exclusive Lock).

如此一來,當用戶編輯活動中斷,比如離開電腦去做其他事情,或者應(yīng)用程序意外關(guān)閉時,用戶未保存的更改將被保留,稍后可以在其他設(shè)備上恢復(fù)編輯。

獨占鎖機制也意味著多個用戶無法同時編輯同一篇文檔。

如果草稿所有者一段時間內(nèi)沒有操作,獨占鎖就會超時失效。這種超時機制可以避免其他用戶永遠無法獲得文檔編輯機會。

無論用戶是否已填寫所有必填字段,草稿都會在后臺持續(xù)保存。如果要想將操作發(fā)布為 Active 狀態(tài)的文檔,用戶必須顯式點擊 Save 按鈕。

當然,從草稿轉(zhuǎn)化為 Active 文檔也需要通過一系列檢查,比如所有必填字段均已正確填寫,沒有 Validation Errors. 

Active 版本和草稿版本的關(guān)系:

當用戶開始編輯一個 Active 文檔時,ABAP 后臺會自動創(chuàng)建一個草稿版本,該版本與活動版本并行存在。

上圖說明了業(yè)務(wù)文檔的活動版本與草稿版本之間的關(guān)系,在 1 2 3 三個時間點,存在三個文檔版本。

先看最左邊的圖例。

(1) 時間點 1:系統(tǒng)里有一份 Active 狀態(tài)的文檔(版本 A),沒有人在編輯。這意味著系統(tǒng)里所有具有相應(yīng)權(quán)限的用戶,都可以使用這一版本的文檔。

(2) 某用戶開始編輯文檔,文檔的兩個版本就會同時存在,即 Active 版本 A和草稿版本,也就是上圖中間出現(xiàn)兩個分叉的圖例。

草稿版本僅對草稿所有者可見。文檔的 Active 版本 A 將繼續(xù)供所有用戶使用。雖然這些用戶無法查看草稿的內(nèi)容,但他們的用戶界面上會有一個指示器,告知他們當前文檔有一份草稿版本存在。

(3) 如果稍后編輯這份文檔的用戶,點擊 Discard 按鈕,草稿被丟棄,草稿版本消失,只留下之前保存的 Active 版本 A. 反之,如果用戶點擊 Save 按鈕,草稿版本也會消失,并生成一個新的 Active 版本 A'.

如果一個用戶從頭開始創(chuàng)建業(yè)務(wù)文檔,系統(tǒng)中并不存在該文檔的 Ative 版本,僅具有該文檔的草稿版本。只有草稿所有者才能看到草稿。其他用戶在此人第一次將草稿文檔保存為 Active 狀態(tài)之前,無法看到該業(yè)務(wù)文檔。

下圖的 X 軸代表時間軸,演示了同一份文檔,在兩個不同用戶的 Fiori 應(yīng)用里顯示的狀態(tài)差異。

(1) 名叫 John 的用戶開始編輯業(yè)務(wù)文檔,其狀態(tài)更改為草稿。

對于 Donna 和系統(tǒng)中的所有其他用戶來說,該文檔現(xiàn)在顯示為「已鎖定 」。

John 離開電腦一段時間去做其他事情,離開之前尚未保存他在草稿中所做的更改。

(2) 到了時間點 2,John 持有的獨占鎖超時。對于 Donna 來說,文檔的狀態(tài)更改為 Unsaved Changes.

此時 John 所做的更改尚未丟失。

(3) John 返回系統(tǒng),并在其他用戶開始處理該文檔之前,繼續(xù)編輯文檔。此時 John 獲得一把新的獨占鎖,鎖計數(shù)器從頭開始計數(shù)。

(4) John 將草稿保存為 Active 版本或丟棄草稿版本。

再看另一個場景。

在時間點 2,John 持有的獨占鎖超時。在時間點 3,Donna 開始編輯這個曾經(jīng)被 John 修改過的文檔。Donna 點擊 Edit 之后,收到一條提示消息:該文檔存在另一個用戶 John 尚未保存的更改。

如果 Donna 仍然選擇編輯,John 的原始草稿將會被系統(tǒng)丟棄,系統(tǒng)會根據(jù)文檔的最后一個 Active 版本,創(chuàng)建新的草稿版本。文檔現(xiàn)在被 Donna 鎖定,后續(xù) Donna 可以決定丟棄草稿或是將其發(fā)布成 Active 版本。

后續(xù)筆者會繼續(xù)介紹 Fiori Draft handling 草稿處理機制在 ABAP 后臺的實現(xiàn)。

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章