倉庫管理の手持在庫エントリ クリーンアップ ジョブ
手持在庫の計算に使用されるクエリのパフォーマンスは、関連するテーブルのレコード数によって影響されます。 パフォーマンスを向上させる方法の 1 つとして、データベースで考慮する必要があるレコードの数を減らすことがあります。
この記事では、InventSum
と WHSInventReserve
のテーブルから不要なレコードを削除する、手持在庫エントリのクリーンアップ ジョブについて説明します。 これらのテーブルには、倉庫管理処理が有効になっている品目の手持情報が格納されます。 (これらの品目は WMS 品目と呼ばれます。) これらのレコードを削除すると、手持在庫計算のパフォーマンスが大幅に向上する可能性があります。
クリーンアップ ジョブとは
手持在庫エントリのクリーンアップ ジョブでは、すべてのフィールド値が 0 (ゼロ) である WHSInventReserve
テーブルと InventSum
テーブルのすべてのレコードが削除されます。 これらのレコードは、手持在庫情報に寄与しないので、削除することができます。 このジョブでは、場所 レベル以下のレコードのみが削除されます。
マイナスの現物在庫が許可されている場合は、クリーンアップ ジョブによってすべての関連エントリを削除できない場合があります。 このような制限があるのは、ライセンス プレートに複数のシリアル番号があり、それらのシリアル番号のいずれかがマイナスになるような特殊なシナリオでジョブを実行する必要があるためです。 たとえば、ライセンス プレートにシリアル番号 1 が+1 台、シリアル番号 2 が –1 台ある場合、ライセンス プレートのレベルではシステムは手元にあるのはゼロになります。 この特殊なシナリオでは、ジョブで範囲の最初の削除が行われ、下位のレベルから先に削除が試行されます。
クリーンアップ ジョブのスケジュールと構成
手持在庫管理の定期処理タスクは、を使用でき 倉庫管理 > 定期処理タスク > クリーンアップ > 手持在庫エントリのクリーンアップ で使用できます。 ジョブを実行するためのスコープとスケジュールを制御するには、標準のジョブ設定を使用します。 さらに、次の設定が提供されます。
- [この数日間更新されない場合に削除 : ゼロの数量にドロップされた在庫エントリを削除するまでジョブが待機する最小日数を入力します。 この設定を使用すると、まだ使用されている手持在庫エントリを削除してしまうリスクを軽減することができます。 クリーンアップをできるだけ早く実行するには、0 (ゼロ) を入力するか、このフィールドを空白のままにします。
- [最大実行時間 (時間) ] : クリーンアップ ジョブの最大実行時間を時間で入力します。 この時間が経過する前にジョブが完了していない場合は、これまで完了した作業を保存して閉じます。 この機能は、在庫使用が多い実装に特に関連しています。 このような場合は、システムの負荷ができるだけ軽い時にジョブが実行されるようにスケジュールする必要があります。 バッチ ジョブが完了するまで継続して実行されるようにするには、0 (ゼロ) を入力するか、このフィールドを空白のままにします。 この設定は、関連する機能が システムでオンになっている場合 にのみ使用できます。
通常の業務時間内にジョブを実行することもできますが、業務時間外にジョブを実行することをお勧めします。 この方法を取ることで、ユーザーがクリーンアップされるレコードを処理している場合に発生する競合を回避するのに役立ちます。
そのレコードが別のユーザーによって使用されているときに、その品目のレコードを削除しようとすると、クリーンアップ ジョブとユーザーのいずれかでデッドロック エラーが発生します。
ジョブが実行されると、コミット サイズは 100 になります。 つまり、100 回削除するごとに 1 回コミットしようとします。 ただし、一部の削除は設定ベースなので、同じトランザクションで 100 以上のレコードを削除できる場合があります。 したがって、ロック エスカレーションが依然として発生する場合があります。
考えられるユーザーへの影響
特定のレベル (ライセンス プレートのレベルなど) のすべてのレコードが手持在庫エントリのクリーンアップ ジョブによって削除されると、ユーザーへの影響が生じる可能性があります。 この場合、関連する手持在庫エントリは使用できなくなるため、ライセンス プレートで以前に在庫が使用可能になったことを確認する機能が予想どおりに機能しないことがあります。 たとえば、次のような状況が発生します。
- 手持在庫 リストで、ユーザーが条件 数量 <> 0 を選択解除するか、分析コード表示設定 で 終了済トランザクション 条件を選択します。
- ユーザーが 現在の日付 パラメーターを設定した場合の、過去の期間の 在庫分析コード別の物理在庫 レポート。
ただし、クリーンアップ ジョブによって提供されるパフォーマンスの向上は、機能におけるこれらの小さな損失を損なう必要があります。
最大実行時間の設定を有効にする
最大実行時間 設定は、倉庫管理の手持エントリのクリーンアップ ジョブの最大実行時間 機能が有効になっている場合にのみ使用できます。 Supply Chain Management のバージョン 10.0.25 では、この機能は既定で有効になっています。 Supply Chain Management バージョン 10.0.32 では、この機能は必須であり、オフにすることはできません。 バージョン 10.0.32 よりも古いバージョンをご利用の場合、管理者は、機能管理 ワークスペースの 倉庫管理の手持エントリのクリーンアップ ジョブの 最大実行時間 機能を検索することで、この機能をオンまたはオフにできます。