倉庫管理現有項目清理作業
用於計算現有庫存的查詢效能受所涉及表格中記錄數的影響。 有助於提高效能的一種方法就是減少資料庫必須考慮的記錄數。
本文介紹現有項目清理作業,該作業會刪除 InventSum
和 =WHSInventReserve
表中不需要的記錄。 這些表格會儲存針對倉庫管理處理而啟用的現有資訊。 (這些項目稱為 WMS 項目。) 刪除這些記錄可以顯著提高現有計算的效能。
清理作業的用途
現有項目清理作業會刪除 WHSInventReserve
和 InventSum
表格中任何欄位值為 0 (零) 的記錄。 這些記錄可以刪除,因為它們對於現有資訊沒有貢獻。 該作業僅刪除低於位置層級的記錄。
如果允許負實際庫存,則清理作業可能無法刪除所有相關項目。 造成這種限制的原因是,該作業必須允許一個牌照具有多個序號,而其中一個序號變為負數的這種特殊情況。 例如,當牌照有 +1 件的序號為 1,有 –1 件的序號為 2 時,系統在牌照層級的現有項目數為零。 對於這種特殊情況,作業會執行廣度優先刪除,亦即它會嘗試先從較低層級刪除。
排程和設定清理作業
現有項目清理作業位於庫存管理 > 定期任務 > 清理 > 倉庫管理現有項目清理。 使用標準作業設定可控制執行作業的範圍與排程。 此外,還提供以下設定:
- 如果以下天數後不更新即刪除 – 輸入該作業在刪除數量已降至零的現有項目之前應等待的最少天數。 使用此設定有助於降低刪除仍在使用中現有項目的風險。 如果您希望盡快進行清理,請輸入 0 (零) 或將該欄位留空。
- 執行時間上限 (小時) – 輸入清理作業的執行時間上限,以小時為單位。 如果在到達此時間上限前未完成作業,便會儲存目前為止已完成的工作,然後自行關閉。 此功能與具有高庫存使用量的實作特別相關。 在這些情況下,您應該安排作業在系統負載盡可能輕的時候執行。 如果您希望批次作業繼續執行直到完成,請輸入 0 (零) 或將該欄位保留空白。 此設定僅在相關功能已在您的系統中開啟時才可供使用。
儘管您可以在正常工作時間執行該作業,但建議您在非工作時間執行。 透過這種方式,有助於防止若有使用者在正在使用清理中的記錄時可能會發生的衝突。
如果當另一個使用者正在使用某個項目的記錄時,作業嘗試刪除該記錄,則清理作業或使用者會發生鎖死錯誤。
當作業執行時,它的認可大小為 100。 換句話說,每刪除 100 次便會嘗試認可一次。 但是,由於某些刪除是以集為基礎的,因此可能會有同一個交易中會刪除超過 100 條記錄的情況。 因此,有時仍會發生鎖定升級。
可能的使用者影響
如果現有項目清理作業刪除指定層級 (例如牌照層級) 的所有記錄,使用者可能會受到影響。 在這種情況下,用於查看先前在牌照層級現有可用庫存的功能可能無法如預期般運作,因為相關的現有項目不再可用。 例如,在以下情況下可能會遇到這種情況:
- 在現有清單中,當使用者取消選取數量<> 0 的條件,或選取尺寸顯示設定中的已關閉的交易條件時。
- 在過去期間的按庫存尺寸的實際庫存報告中,當使用者設定截至日期參數時。
但是,清理作業所提供的效能改善應該可以彌補功能方面的這些小損失。
讓執行時間設定上限可用
執行時間上限設定僅在倉庫管理現有項目清理作業的執行時間上限功能開啟時才可供使用。 從 Supply Chain Management 版本 10.0.25 開始,此功能預設開啟。 從 Supply Chain Management 10.0.32 開始,此項功能是強制性的,不能關閉。 如果您執行的版本早於 10.0.32,則管理員可以開啟或關閉此功能,方法是搜尋功能管理工作區中的倉庫管理現有項目清除作業的執行時間上限功能。