3種表類型的鎖機制

文章轉自 http://scnblogs.techweb.com.cn/frankyue2001/archives/546.html

參考 http://scnblogs.techweb.com.cn/abap/archives/6.html

在SAP中,當用戶使用修改(新建)的事務代碼來維護數據時,系統將會該數據相關的表來進行鎖定,以防止其他用戶同時該數據。

譬如:用戶A正在對物料1001在工廠1000下維護工廠數據,此時用戶B如果也對物料1001在工廠1000下進行維護,一般來說,此時系統將出現提示,提示用戶B,該物料已經在工廠1000下鎖定。

根據當前的具體操作,系統將鎖定表的特定條目。

下文中,將列舉示例來說明表條目鎖定。

1.1.1 操作實例

如圖所示,在客戶端820系統中,用戶S821使用事務代碼MM02修改T-ASA02的物料主數據的銷售視圖。

clip_image002[4]

此時執行事務代碼SM12

字段“用戶名”:在用戶名中輸入S821,不輸入則顯示當前系統所有用戶正在鎖定的表條目。

字段“鎖定參數”

如果我們希望查詢特定對象(如物料AAA被誰鎖定),則可以在鎖定參數中輸入具體的對象和對象值,可用通配符*,如*AAA*。

clip_image004[4]

執行事務代碼,查看到如下圖所示結果

字段“時間”代表用戶開始鎖定的時間,本例中,即用戶S821使用事務代碼MM02修改物料T-ASA02的開始時間,一般來說,用戶使用事務代碼修改某對象的開始時間即爲鎖定時間。

字段“表名”和“鎖定參數”:代表鎖定的表,本例中用戶修改物料主數據的銷售視圖等信息,因此將會鎖定四個物料的相關表,具體而言如下

MARA 是物料主數據的基本視圖的表,鎖定參數分別代表820客戶端 物料T-ASA02

MARC 是物料主數據的工廠視圖的表, 鎖定參數分別代表820客戶端 物料T-ASA02 工廠1200

MBEW是物料主數據的工廠評估視圖的表,鎖定參數分別代表820客戶端 物料T-ASA02 評估類型(工廠)1200

MVKE是物料主數據的銷售視圖表,其鎖定參數分別代表820客戶端 物料T-ASA02 銷售組織1000,分銷渠道10

字段:鎖定方式(Lock Mode)

鎖定方式有三種

S (Shared lock, read lock)

E (Exclusive lock, write lock)

X (Exclusive lock, extended write lock, cannot be cumulated)
模式E:當更改數據的時候設置爲此模式。

模式S:本身不需要更改數據,但是希望顯示的數據不被別人更改。
模式X:和E類似,但是不允許累加,完全獨佔。

clip_image006[4]

雙擊任意一行,可以看到用戶S821在使用何事務代碼(MM02)鎖定了該表記錄。

clip_image008[4]

1.2 發票校驗與表鎖定

正常來說,當我們一進入維護業務數據的界面後,系統就對該業務數據相關的表進行鎖定,直至該用戶推出某個操作,才結束表條目的鎖定。

對於部分操作,如發票校驗系統可以配置何時進行表鎖定

如下圖所示,事務代碼MIRO對物料ZMTO的二張採購訂單(4500017313

4500017348)進行發票校驗

clip_image010[4]

此時通過事務代碼SM12查看錶條目鎖定

系統鎖定了三個表

EKPO:採購訂單行項目表

EKKO:採購訂單擡頭表

由於發票校驗可能會影響物料的評估價格,因此係統將鎖定表MBEW:物料主數據的評估視圖表

clip_image012[4]

修改後臺配置

事務代碼SRPO>物料管理》General Settings for Materials Management》Set Up Material Block for Invoice Verification

在此處設置發票校驗時,系統如何鎖定物料的表(MBEW),是在發票校驗的開始,還是在發票校驗過賬或者模擬時進行鎖定。

clip_image014[4]

當修改爲在發票過賬時再進行鎖定,再次通過SM12查看,可以看到發票校驗時,在發票過賬前,表MBEW不會被鎖定了。

clip_image016[4]

1.3 物料移動與表鎖定

事務代碼SRPO>物料管理》General Settings for Materials Management》Set material block for goods movements

後臺還可以設置物料貨物移動時,如何鎖定表

clip_image018[4]

clip_image020[4]

可以設置二種鎖定機制

鎖定機制1:Exclusive block(排斥性鎖定)

該機制同大部分的機制,一進入貨物移動的界面,輸入某個物料,則鎖定關於該物料的工廠和評估視圖的表(MARC和MBEW).

鎖定機制2:Late block for goods movements

當數據真正將要保存時,才進行鎖定,儘可能晚的鎖定來保證鎖定時間儘可能的短

優點是通過設置共享鎖定(shared lock)幾個用戶可以同時對物料進行貨物移動,也就是用戶A進行貨物移動的界面時,不會排斥性的鎖定表,其他用戶仍然可以進入,當數據最終保存時,系統才真正鎖定表。

缺點是物料主數據將會被多次讀取,將對系統負荷產生負面的影響。

1.4 自定義表與表鎖定

對於可能有多個人員進行維護的自定義表,也應該設置表條目鎖定機制,防止不同的人同時修改表的同一條記錄。

其實現過程也比較簡單。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章