在 Oracle 標準的 Shipping Transaction 中, 按下 Ship Confirm 按鈕後, 有一個 Ship Options 的選項 : Backorder All

Confirm Delivery

主要是用在, 當 Delivery Detail 產生揀貨事實 (Pick) 後, 因為揀錯貨 or Lot 錯等等問題, 要將 Reserved 的量 Release 出來

但是, 這個功能也只有把 On-Hand 量 Release 出來而已, 貨還是停留在出貨倉, 並不會回到揀貨來源 (Pick From)

補充: 因為我們對倉儲的控管比較嚴格, 所以我們不允許直接對出貨倉做揀貨動作

這樣的情況對於揀貨人員是一個不小的困擾, 量小還可以人為操作 (Move Order), 量一大出錯的機率就大增


目前發現, 如果同一條訂單 Line 原先 Pick 了一個以上的 Lot Number, Delivery Detail 會被拆開. 之後再做 Backorder, 系統會把這些 Delivery Detail 做合併的動作, 合併的方式如下 :

1. Delivery Detail ID 最小 : Pick Status => 'B'

2. 其他 Delivery Detail ID : 先將 Pick 數量寫入變數, 再 Delete Line (WSH_DELIVERY_DETAILS)

3. 將被 Delete 的 Line 的 Pick 數量加到第一條的 Detail 裡面

所以, 目前先埋 DB Trigger 到 WSH_DELIVERY_DETAILS, 針對 Pick Status 轉為 'B' 與 Delete 的情況, 將所需要的資料抄寫到 Temp Table 中, 如果沒有其他例外, 應該就可以往下寫了.....

(待續....)

arrow
arrow
    全站熱搜

    Aloz 發表在 痞客邦 留言(0) 人氣()