Monday, November 14, 2016

Tutorial: Location directive failures - Common mistake #2 - Batch enabled

This is a blog in a series about Location directive failures.
You can find the original blog post here:
Tutorial: Location directive failures - Common mistake #1 - Multi SKU

Common mistake #2 - Batch enabled location directive line

Very often when new people start working with the Advanced warehousing solution, they struggle to notice the little check-box on the location directive lines called Batch enabled. However, it is very important when dealing with batch-tracked items in outbound flows like Sales order processing.
Here's the typical scenario when users try to set up the location directives for the first time:

They created all the necessary Pick and Put directives, decided how they want to go about the lines and different units of measure, and now they are defining the actions, which in turn means defining the query for locations to consider for pick-up/put-down.

Here's a typical and valid location directive configuration:

Valid location directive setup without Batch enabled set
After that they create a sales order, reserve the inventory, release the order to warehouse and are surprised to get the following warnings:

Release to warehouse failed for batch-tracked item P0004
Sadly, there is no indication in the work creation log that would explain why the release failed apart from the fact it could not allocate the item.

But the reason is - the location directive action was not considered a match, because only ones with Batch enabled were considered for this item.
So let's change that and try again.

Valid location directive setup with Batch enabled set
Note, that this modifies the query you can use for selecting which locations should be considered, adding the Batches table to the query, so you can, for example, select to only consider locations, where there is on-hand for a batch that is to expire more than 20 days from now.

Defining the location directive action query for batch enabled action line
Once the setup is changed, let's re-release the sales order (to show the exact same flow as before, I deleted the load line / shipment that were created before):

Release to warehouse succeeded for batch-tracked item P0004
As you can see, now all is great, and the created work looks like below, correctly picking up the items from a Picking location we defined in the location directives:

Work created for picking sales order 000785

What this means for your configuration

What this virtually means is:
  • If you do not track batches on your items in the selected warehouse, you can ignore this setting completely
  • However, if you do track batch numbers, you will most probably want to have 2 action lines for the same location directive line every single time, one for batch-tracked and one for non-batch tracked. 
    • That might be exactly what you want if you want to keep track of your batch-tracked items (perishable goods) separately from non-perishables.
    • If not, however, then it gets pretty inconvenient, and I have no knowledge of why the original implementation was done this way (Maybe somebody from BHS can answer in the comments), but we do not have any plans to change this in the near future.
Note, that for inbound flows this check-box is not considered and is not even enabled in setup. 

What's next

In the next blog post of this series we'll talk about Disposition code and how that impacts the receipt flow