This document covers how the location directive search works with purchase orders and describes how different settings and parameters can impact the performance of the search.
This document also introduces a new location strategy, Empty location with no incoming work, which was introduced in Microsoft Dynamics AX 2012 R3 CU8 to improve performance in scenarios where empty locations should be located.
The way in which the search works may vary slightly for other inbound documents but the overall concept is the same.
The search for put away locations consists of several levels, where each level narrows down the search:
- Location directive level
- Location directive line level
- Location directive action level
To optimize the search, it’s best to find a search criteria that qualifies on the first attempt.
The following screenshot shows a location directive set up for a purchase order.
When put away locations are determined for a purchase order line, the location directive search begins by selecting the location directive records based on criteria such as warehouse or directive code, and order the records by sequence number.
The query that can be set up on this level is executed to determine if the location directive qualifies for the purchase order line. If it does not qualify, then the next location directive record is used.
If the location directive record qualifies, then the search is narrowed further by selecting the location directive lines and ordering them by sequence number.
Each line is examined to determine if it qualifies, based on the quantities and units that are being received. If it does not, the search moves to the next line. If the line qualifies, the search is narrowed further by using the location directive actions, which are selected and ordered by the sequence number.
The configuration of the location directive action has the biggest impact on the performance of the search. In order to achieve the best search performance, the location directive actions should be configured so that they qualify the fewest usable locations. The location directive action will determine the query that returns the locations that will be examined.
The performance depends on when a suitable location is found within the returned result set. The location will be examined by applying different constraints, such as the constraints coming from the location profile.
If the first location does not qualify, the search will continue by examining the next location until a suitable location is found. This is illustrated in the following scenario.
Keep in mind that when fewer locations are examined, the performance of the location directive search will improve.
Location directive actions
Location directive actions have a few settings that directly determine the put away strategy.
To achieve the most effective search, it’s important to choose the right strategies and have them applied in the right order.
The location directive actions for put away allows three different strategies : None, Consolidate and Empty location with no incoming work.
The None strategy
This is the default strategy which should be interpreted as no special strategy is going to be used.
The Consolidate strategy
The consolidate strategy will modify the query that is defined for location directive action, so that it only includes the locations that match the original query and has physical inventory of the item that is being allocated. If the consolidate strategy is used, at least one other strategy is typically required to ensure that a location can be found for items that are not already in inventory.
The consolidate strategy has the potential to be fast because it typically qualifies only a few locations.
The empty location with no incoming work (new in CU8)
The empty location with no incoming work uses a query to select empty locations. The location is considered empty if it has no physical inventory and it has no expected incoming work. This is the most effective way to locate empty locations.
· The main method to modify if a new strategy is introduced is the \Classes\WHSLocationDirective\performStrategy method.
If the location directive action has the Only use item fixed location field set, the query defined for the location directive action will be modified so that it only includes locations that are fixed locations for the item that is being put away.
Using fixed locations has the potential to be fast because it typically qualifies few locations.
The AX 2013 R3 CU8 update introduced the ability to use fixed locations for product variants.
Filtering locations only by location profile
If the location directive actions query is set up so that it only filters on, for example the location profile, all locations that match the profile will be selected for further processing.
Determining if a location can be used for put away
The location directive set up for put is used to find the locations that qualify as put away locations.
However, several other settings may impact whether a location can be used for put away for a specific receipt of a quantity of an item in a unit. These settings can only be evaluated after the location is known, after which they will be applied to the locations returned by the search one at a time, until a location is found.
If a location limit is used by the location, then it can only be used for put away if the quantity that is being put away is within the available limit. To determine how much can be allocated to a location for the current physical inventory, the open work and the work created by the transaction needs to be calculated, which can be performance intensive.
The AX 2013 R3 CU8 update introduced the ability to define location limits for product variants.
On the location profile you can define if mixed status, items, and batches should be allowed.
If the profile for the location that is being examined does not allow mixes, then the items/batches that are on the location and the items that are about to be moved to the location, must be examined to determine if the location can be used.
The location profile can be set up to define if volumetric should be used. If volumetric is used, then the volume or weight that is stored on the location and being processed on the location, will have to be calculated.
From a performance perspective, it can be expensive to use volumetric because the system might need to calculate the weight and volume of all the items that are already in a location, and it must also include work and temporary work created for the calculation.