Microsoft Inventory Warehouse Mgmt Performance Improvements Lennart Conrad

  • Slides: 25
Download presentation
Microsoft Inventory & Warehouse Mgmt. Performance Improvements Lennart Conrad Vanya Kashperuk

Microsoft Inventory & Warehouse Mgmt. Performance Improvements Lennart Conrad Vanya Kashperuk

Agenda • Introduction • Deferred put • Wave processing • Wave steps that can

Agenda • Introduction • Deferred put • Wave processing • Wave steps that can run in parallel • Replenishment in a separate transaction • Small waves • Denormalizing on-hand tables • Other performance improvements • Q&A – We will take them in the end

Deferred put

Deferred put

Motivation • Much faster and predictable performance of the put • Avoid spikes (for

Motivation • Much faster and predictable performance of the put • Avoid spikes (for example from blocking) • Operations that are sensitive to the size of the work • Sales/Transfer Put – as part of the put transactions are created for all the lines • Replenishment put • Transactions for the lines we replenish are updated on the put • Loading from staging • The licenseplate may be for a large number of lines that will be updated • Normally this is the workers last step so he can move on

How do I get it? • On version 10. 0. 7 and above •

How do I get it? • On version 10. 0. 7 and above • Through Feature management • Enable Work blocking and Deferred put operations • Go to warehouse parameters and click the “Upgrade blocking capabilities” • On earlier versions (10. 0. 4 and above) • Private preview – Contact Microsoft

Demo – Deferred put • Setup • Process • Exception handling

Demo – Deferred put • Setup • Process • Exception handling

Processing fails – get back to starting point – items physically at the put

Processing fails – get back to starting point – items physically at the put location • Items are physically at the put location and we need them to go to another put location • 1. Move the items physically • 2. Change location of put and re-process

Limitations • Supported types/Scenarios • Sales, Transfer issue, Replenishment • Cluster picking • Not

Limitations • Supported types/Scenarios • Sales, Transfer issue, Replenishment • Cluster picking • Not supported yet • • • When work uses containers When already running in batch Autocompletion of work Manual completion Audit templates If a subseqeunt workline is not marked with Work. Stop

Extending the solution • You can create extension of WHSWork. Operation. Processing. Rule. Provider

Extending the solution • You can create extension of WHSWork. Operation. Processing. Rule. Provider to control the decision on whether to use the deferred put • See https: //www. linkedin. com/pulse/how-activate-deferred-putmsdyn 365 fo-specific-paul-heisterkamp/ for a location specific example

Wave processing

Wave processing

Motivation • Wave processing is the longest process when it comes to warehouse operations

Motivation • Wave processing is the longest process when it comes to warehouse operations – make it faster • Warehouse planner / Sales clerk is not blocked when releasing orders • Large database transaction leads to blocking and higher resource utilization • Replenishment work blocked for execution • On-hand check on TTSCommit takes longer • Less likelihood of inventory moving before wave completion • Enable “North Star”

Configuring wave processing for optimal performance

Configuring wave processing for optimal performance

Allocation step can run in parallel

Allocation step can run in parallel

Replenishment step in a separate transaction

Replenishment step in a separate transaction

Demo

Demo

What about small waves? • Running many of the wave steps as separate batch

What about small waves? • Running many of the wave steps as separate batch jobs is not all goodness • For smaller waves, this introduces an overhead and depends heavily on batch server load

How do I get it? • Replenishment in a separate transaction • On version

How do I get it? • Replenishment in a separate transaction • On version 10. 0. 7 and above • Through the Feature management dashboard • On earlier versions (10. 0. 2 and above) • Private preview only – contact Microsoft • Small waves • Available for everyone from 10. 0. 3 • Hidden configuration

Denormalization

Denormalization

Have you seen these?

Have you seen these?

Motivation • One of the slowest pieces of any warehouse implementations • Queries on

Motivation • One of the slowest pieces of any warehouse implementations • Queries on Location / License Plate with no filter on Item number • General slowness due to join of 2 large tables even with filter • Unpredictable plans that depend heavily on data composition • Delta stats causing bad plans joining to Invent. Dim

Location Directive Action – Empty location Scenario Problem Item putaway with empty location strategy,

Location Directive Action – Empty location Scenario Problem Item putaway with empty location strategy, split and location volumetric constraints. Each location revisited

Transfer shipment to another load Scenario Problem Transfer shipment with many lines to another

Transfer shipment to another load Scenario Problem Transfer shipment with many lines to another load which also has many lines. Multiple premature updates per line

Mixing constraints and volumetrics

Mixing constraints and volumetrics

Splitting transfer order receipt process

Splitting transfer order receipt process

Q&A • Lennart Conrad lennartc@microsoft. com • Blog: https: //lennartconrad. wordpress. com/ • Vanya

Q&A • Lennart Conrad lennartc@microsoft. com • Blog: https: //lennartconrad. wordpress. com/ • Vanya Kashperuk ivanv@microsoft. com • Blog: http: //kashperuk. blogspot. com/ • Philippe Jacobsen Philippe. Jacobsen@microsoft. com • WHS Yammer group – contact Philippe to join