RPG

343. レコード・ロックをかけないとどうなるか?

レコード・ロックは更新する適用業務には重要であり
レコード・ロックがないとデータの整合性が崩れてしまう。

例えばある商品: NV-CF1 : Cカセット編集ビデオ を例にとって
考えてみよう。

商品: NV-CF1 : Cカセット編集ビデオ は現在、商品倉庫には 10個の在庫が
あるものとする。

(1)

受注担当者: 山中君は電話で受注を受けてこの商品 : NV-CF1
5個の受注を受けたので受注入力を行ってみると在庫数は 10個であったので
出荷可能と判断し5個の受注入力を行った。

(2)

山中君はさらにその他の商品の受注も受け付けて受注の入力を
継続して行っていた。
ただし NV-CF1はレコード・ロックはされていない。

(3)

山中君が受注入力を行っているあいだに別の受注担当者である
鈴木さんがやはり同じ商品: NV-CF1 の受注を 8個受けた。

(4)

レコード・ロックされていないので鈴木さんは8個の受注を
入力して在庫数は10個であるが引当数は8個で
引当可能在庫は 2個となった。

(5)

さて山中君がようやく更新作業を行うとNV-CF1の引当数は 8 + 5= 13個であり
理論上の在庫は -3個となってしまった。

(6)

製品倉庫では 10個しかない在庫に対して 13個の出荷指示が出た。

 … このように在庫管理など数字の整合性が合わなくなってしまう。