Oracle Warehouse Management
Rules Engine Examples
An Oracle Topical Essay
Oracle Warehouse Management
Rules Engine Examples
RULES ENGINE EXAMPLES
This document is a tool to assist implementation of Oracle Warehouse Management, by documenting the seeded rules and strategies and additional rules and strategies that might be helpful for both simple and complex operational requirements. All types of rules are documented, including picking,
putaway, cost group, label type, and task type assignment rules. In addition, picking and putaway strategies are documented.
The most difficult part of setting up the Rules Engine is not defining the rules in the application, but rather, defining the business logic that needs to be modeled. The rules and strategies contained here can help an implementation team ask the right questions in beginning to define the requirements for the Rules Engine.
This document assumes familiarity with the Rules Engine and does not go into the specifics of how to translate the rules and strategies documented here to the system. Please refer to the Oracle Warehouse Management Guide for assistance understanding the basic user interface. Please refer to the Rules Engine chapter of the Oracle Warehouse Management Implementation Guide for detailed explanations of how the Rules Engine functions, including performance and implementation considerations, customization details, and debugging and trouble shooting assistance.
Seeded Rules & Strategies
No two warehouses are alike. However, some warehouses have very simple needs that can be modeled by generic rules and strategies that do not refer to any entities defined specifically for that warehouse. For instance, a FIFO/FEFO rule that ensures stock rotation is used by many warehouses, and requires no references to warehouse-specific data. Whenever possible, simple generic
requirements have been provided for with seeded rules and strategies. Common picking and putaway rules and strategies have been seeded in the application.
To use the seeded strategies, no changes need be made, but rather, all that need be done is define the strategy search order and make the strategy assignments. As these common picking strategies are often applicable for the entire organization, the strategy search order may only require the Source Organization for the picking search order, and the Destination Organization for the putaway search order.
Of course, the putaway search order must also include the transaction type object and an assignment of a putaway strategy without any restrictions in the rules to the staging transfer transaction type to indicate that sales order staging transfers are always valid. This assignment must be made for both Internal and Sales Order Pick if both internal sales orders and external sales orders are used. Details
on this requirement can be found in the Rules Engine chapter of the Oracle Warehouse Management Implementation Guide.
To use the seeded rules, no changes need be made to the rules, but they must be assigned to user-defined strategies, and in turn, these strategies assigned to objects user-defined in the strategy search order. Seeded rules can also be copied, and the copies modified, to provide even greater flexibility.
Additional Examples
Many of the more complex rules that can be used require multiple warehouse-specific restrictions, or additional flexfield or data setup. These will be documented in this guide, with detailed explanations of what the rule does, why each object was used, how the rule could behave differently with slightly different parameters, and what additional setup, if any, is required to make the scenario work. Almost none of these rules and strategies will be able to be used as-is in any given warehouse. However, they will describe some complex scenarios that the Rules Engine can be used to model, many of which at first glance might not appear possible to do without customization. Therefore, these additional examples should prove very helpful to complex implementations where customization is being considered.
Performance
All of these rules have been tested functionally, but only some of them have been tested for performance considerations. Therefore, some of the complex rules may provide the correct results and may be fast in a demo environment, but may be unusable in a production environment.
Nonetheless, the examples in this document should be helpful in understanding how various complex requirements can be modeled and the different questions that need to be answered when building rules.
Whenever performance problems crop up, review the performance section of the Rules Engine chapter in the WMS Implementation Guide.
Format
Rather than providing screenshots of the rules and strategies, the rules and strategies will be defined in tabular format.
Rules
Rules will be specified in the following format, where LOG is either AND or OR, and OP is the connecting operator such as =, <=, IS NULL, or LIKE. The sequence number is not specified, but is implied by the order of the rows. The first column indicates whether the row is a restriction, a sort criteria, or in the case of picking rules, a consistency requirement.
Rule Name Rule Description
Allocation mode (for picking rules)
R LOG ( Object Attribute OP Object Attribute Val ) S Object Attribute Sort order
C Object Attribute
Strategies
Strategies will be specified in the following format, where DTYPE is the date type used for the rule, as well as the from and to dates.
Strategy Name Strategy Description
Allocation mode (for picking rules) Rule Name: DTYPE (from - to)
R LOG ( Object Attribute OP Object Attribute Val ) S Object Attribute Sort order
C Object Attribute
Allocation mode (for picking rules) Rule Name: DTYPE (from - to)
R LOG ( Object Attribute OP Object Attribute Val ) S Object Attribute Sort order
Seeded Putaway Rules... 6
Empty Locator... 6
Like Material Status Code for Lots ... 6
Minimize Fragmentation ... 6
Prevent lot or item commingling ... 6
Seeded Default putaway rule... 6
Single Location... 7
Seeded Putaway Strategies ... 8
Empty locator ... 8
Minimize fragmentation ... 8
Same material status code... 8
Additional Putaway Rules ... 9
Category based putaway... 9
Closest empty locator ... 9
Dedicated item storage ... 10
Dynamic slotting putaway ... 11
Ensure item dimensions defined... 13
Ensure locator dimensions large enough ... 14
Freight carrier based staging lane selection... 15
Job completion locator... 17
License plate number based putaway ... 18
Limited quantities of hazardous items stored inside... 19
Lot commingling prevented... 21
Maximize fragmentation across subinventories ... 22
Minimize splitting putaway across locators... 23
Rejected material to MRB subinventory ... 25
Stacking pallets within single locator ... 25
Stacking single item across multiple racks ... 26
Supplier based putaway... 28
Transaction unit-of-measure putaway ... 28
Volume of container item ... 29
Seeded Picking Rules ... 32
30-day range FEFO min pick task ... 32
Absolute LIFO... 32
Pick Common Stock ... 32
Rotate Stock ... 32
Rotate stock pick UOM ... 33
Same Planning Group... 33
Same Project... 33
Same Project, Same Task ... 33
Seeded Default pick rule... 33
Serial order ... 33
Single lot, pick UOM ... 34
Seeded Picking Strategies... 35
30-day range FEFO ... 35
Prefer single lot... 35
Project Manufacturing Allocation Preferences... 35
Rotate stock ... 36
Rotate stock, pick UOM ... 36
Additional Picking Rules... 37
30-days minimum life remaining... 37
Avoid nested license plates... 37
Best fit lot selection ... 38
Clean near-empty locators ... 39
Dynamic slotting picking... 40
Eliminate locator congestion ... 42
Integer quantities only ... 43
Latest revision ... 43
Lot attribute picking ... 45
Prevent weekend shipments of perishable goods... 47
Serial for sales order... 47
Single locator... 48
Task Type Rules... 49
High reach forklift ... 49
Subinventory based task types... 49
Weight based task types ... 49
Cost Group Rules ... 51
Account alias based assignment ... 51
Category based cost group assignment... 51
Non-standard job completion ... 51
Rejected material assigned special cost group... 52
Status based cost group assignment... 52
Subinventory based cost group assignment ... 53
Label Format Rules ... 54
Carrier specific rule ... 54
Consolidation required after cartonization ... 54
Customer compliant labels based on LPN reservations... 54
Customer compliant shipping label ... 56
Inspection-based label format selection... 56
Seeded Putaway Rules
These rules can be used as-is within a user-defined strategy. No modifications are necessary to make these rules behave as documented. All seeded putaway rules use the quantity function that calculates the minimum available capacity by units, volume, and weight, so any combination of locator capacity that is defined will be taken into consideration.
Empty Locator
This rule puts material away to a locator that is completely empty. All empty locators are considered equally valid, so an empty locator is chosen at random.
Rule Empty Locator Description Empty Locator
R Subinventory/Locator On-hand quantity = Constant Number 0
Note that the attribute referred to in this rule, “On-hand quantity”, comes in from the base data and thus this rule is able to perform very quickly, even on large warehouses.
Like Material Status Code for Lots
This rule puts lot controlled items away to locators or subinventories with the same material status.
Rule Like Material Status Code for Lots
Description Lot item in locator or sub with same status
R Item Lot Status Enabled = Constant Character Y R AN
D
( Destination Locator Status Identifier = Lot Status Identifier R OR Destination
Subinventory Status Identifier = Lot Status Identifier ) Minimize Fragmentation
This rule minimizes item fragmentation in the warehouse of a given item by putting that item away to locators where the most of that item is already on-hand.
Rule Minimize Fragmentation
Description Order by actual item on-hand quantity
S Subinventory/Locator Item on-hand quantity Descending Prevent lot or item commingling
This rule ensures that different items, or different lots of the same item, are putaway to different locators. However, if both the item, and if applicable, lot, are the same, then the system attempts to minimize fragmentation by storing the material in locators where the most of that same item / lot is currently located.
Rule Prevent lot or item commingling
Description No lot or item commingling, minimize fragmentation R Destination Locator Number Of Other
Lots In The Location
= Constant Number 0 R AN
D
Destination Locator Number Of Other Items In The Location
= Constant Number 0 S Subinventory/Locator Item on-hand quantity
in txn UOM
Descending
Seeded Default putaway rule
This rule has no restrictions and no sort criteria and is automatically assigned as the default organization putaway rule when the organization is first enabled for WMS.
Rule Seeded Default putaway rule
Single Location
This rule only considers locators where the entire quantity on the putaway can be put away to a single locator. Of those locators that can store the entire quantity, preference is given to locators with the most on-hand of that item already to minimize fragmentation.
Rule Single Location
Description Location must have capacity for entire putaway, minimize fragmentation R Subinventory/Locator Minimum Available
Capacity by Units, Volume and Weight
>= Actual Transaction Transaction Primary Quantity
S Subinventory/Locator Item on-hand quantity in txn UOM
Seeded Putaway Strategies
These strategies can be used as-is within a strategy assignment. No modifications are necessary to make these strategies behave as documented. As the seeded putaway strategies refer to seeded putaway rules, the strategies also determine available locator capacity by the minimum of units, volume, and weight. All seeded strategies allow partial success within the rules.
Empty locator
This strategy references a single seeded putaway rule, Empty Locator. The rule puts material away to a locator that is completely empty. All empty locators are considered equally valid, so an empty locator is chosen at random.
Strategy Empty Locator Description Any empty locator Rule Empty Locator: Always
R Subinventory/Locator Item on-hand quantity = Constant Number 0
This strategy will perform poorly in large warehouses. A strategy that uses a slightly different rule that performs much more quickly can be defined using the Empty Flag parameter on the locator. However, because the rule requires a periodic concurrent program to run to maintain the Empty Flag parameter, it will be discussed as an additional putaway rule.
Minimize fragmentation
This strategy references a single seeded putaway rule, Minimize fragmentation. This rule minimizes fragmentation in the warehouse of a given item by putting that item away to locators where the most of that item is already on-hand.
Strategy Minimize fragmentation Description Store like items together Rule Minimize fragmentation: Always
S Subinventory/Locator Item on-hand quantity Descending Same material status code
This strategy references one seeded putaway rule that puts lot controlled material to a locator or subinventory with the same material status the lot.
Strategy Same material status code
Description Select sub or loc with same material status as lot Rule Like material status code for lots: Always
R Item Lot Status Enabled = Constant Character Y R AN
D
( Destination Locator Status Identifier = Lot Status Identifier R OR Destination
Subinventory
Additional Putaway Rules
More complex putaway rules are documented here. Also, variations of the seeded rules that may not be immediately obvious are also documented. Some of these rules may also require additional setup beyond simply defining the item, such as locator flexfields or lot contexts. The examples documented here should be used as guidelines in defining new rules, and can be particularly helpful in modeling complex requirements.
Because these rules are not seeded, specifics that may differ from warehouse to warehouse can be indicated in the rule restrictions. For instance, a subinventory name or item category may be used to make the rule more concrete and easier to understand. Please be sure to use data specific to the warehouse when defining rules.
Category based putaway
Specific subinventories or locators may be dedicated to storing particular categories of items. Putaway rules can be built based on the category code that an item is assigned to. For instance, items assigned to the category code MISC may be stored in the BULK subinventory. The following rule models this scenario.
Rule Store items with category MISC is subinventory BULK
Description Putaway items with category SEGMENT1 of MISC to subinventory BULK
R Category Segment1 = Constant Character MISC R AN
D Destination Subinventory Subinventory Name = Constant Character BULK
This rule is basing the putaway location on the category code name only, with the assumption that that category code is not used in multiple category sets.
Alternatively, strategies can be assigned to particular category / category set combinations if category is included in the strategy search order. Using the strategy search order, rather than rule restrictions, is suggested if a category belongs to more than one category set. This will also minimize the number of rules in a strategy and thus will help improve performance.
Closest empty locator
This rule ensures that the closest empty locator to where the material is already stored is used to store an additional putaway of the material. This rule helps store items in close proximity to other locations where that item is stored, without refilling locations that may be almost empty so that a more accurate FIFO picking can be ensured.
Either Cartesian coordinates or locator picking order can define proximity, though Cartesian coordinates will ignore walls and other physical barriers when finding the closest locator. Picking order, however, will sort the locators based on locator picking order only, excluding subinventory picking order. Therefore, if the item is to be stored in multiple subinventories, and proximity by picking order needs to be used, the picking order should be defined so that locator picking order is unique for all locators in an organization, not just for all locators in a subinventory.
For instance, suppose there are two subinventories in your warehouse, PICK1 and PICK2. PICK1 comes before PICK2 in the subinventory picking order. Each subinventory has three locators that are sequenced as indicated in the table below. Then the following subinventory and locator picking order should be defined on the subinventory and locator definitions:
Picking Order Picking Order 1.1 1 1.2 2 PICK1 1 1.3 3 2.1 4 2.2 5 PICK2 2 2.3 6
Note that in this definition, PICK1 1.3 is considered equally far away from locator 2.1 in subinventory PICK1, and from locator 1.2 in subinventory PICK2. If locators in different subinventories should not be treated as equidistant, then the picking order can be manipulated by leaving gaps. The size of the gap, in comparison to the range of a picking order within a subinventory, will control at which point the Rules Engine will consider locators in other subinventories prior to considering distant locators in the same subinventory. For instance, the locator picking order defined below will ensure that all locators within PICK1 be filled with an item before moving to subinventory PICK2, and vice versa, for a particular item.
Subinventory Sub Picking Order Locator Locator Picking Order 1.1 1 1.2 2 PICK1 1 1.3 3 2.1 101 2.2 102 PICK2 2 2.3 103
The restriction enforces that the locator is empty.
Rule Closest empty locator by picking order
Description Putaway to closest empty locator by picking order
R Subinventory/Locator On-hand Quantity = Constant Number 0 S Destination Locator Proximity To Locator
With Item By Picking Order
Ascending
Additional restrictions that ensure that the entire load can be put away to that single locator by weight, volume, units, and even dimensions, may also be helpful and can be added.
Dedicated item storage
Some warehouses may have dedicated item storage for select items due to user training or historical reasons, or perhaps to capture some type of logic that the Rules Engine cannot easily model. These dedicated locators are defined using the standard Item Subinventory form available from the organization item definition.
The Rules Engine will always honor these relationships if the Restrict Subinventories or Restrict Locators flags are checked on the Inventory tab. However, this may be overly restrictive in that user directed moves are not allowed and the staging lanes must be explicitly defined for each item that needs to be shipped. If these flags are left unchecked, then material movement is allowed anywhere in the warehouse, but a rule that suggests putaway to these specific locators can be built.
Description Putaway to locator defined on item subinventory relationships
R Destination Locator Locator Identifier = Item Locator Locator Identifier
This rule can be combined with additional restrictions or sort criteria to minimize fragmentation, require empty locators, or restrict to a specific subinventory, for instance.
Dynamic slotting putaway
Dynamic slotting selects the best locator for an item based on its current or forecasted usage. Fast moving items are placed in more quickly accessed locators, such as the lower racks near the staging lanes, and slower moving items are placed in less easily accessed locators. Several in-between classifications can also be used so that a warehouse or section of a warehouse can be segmented into many different types of locators. With a combination of putaway strategies based on this rule, and picking strategies based on a similar rule, items can be dynamically re-slotted as their classifications change.
The dynamic slotting rule takes advantage of ABC compiles and ABC assignment groups to determine the classification of the item, and a descriptive flexfield to determine the classification of the locator. ABC compiles can be made based on forecasted demand, MRP demand, historical usage, current on-hand, or several other criterion. An ABC assignment group is defined by associating a group name with ABC classes. Note that the classes need not necessarily be named A, B, and C; they could be named FAST, MED, SLOW, or H, M, L, or A, B, C, D, and X, for instance. Numeric values, such as 1, 2, and 3, can also be used, and can provide some additional flexibility as described below. Items are then assigned to the classes in the groups based on the ranking the items received in the compile, as controlled by user-indicated breakpoints. Exceptions to the ranking established by the compile can also be made.
A locator descriptive flexfield should be given corresponding values, so that, for instance, an A item will be put in an A locator, and a B item will be put in a B locator. For instance, if A items / locators are for high demand items, then perhaps the first two racks of each row would be A locators. Or the bins that are at the end of each aisle, closest to the pickers traveling path, would be A locators, and the locators in the center of each locator would be assigned a value of C, for slow moving items. An experienced warehouse manager should perform this assignment because it requires intimate knowledge of the warehouse layout, problem spots, and sweet spots.
Several different options need to be discussed to get a rule that most accurately matches the
warehouse requirements. The rule developed below will assume that a locator can hold only one item, but different lots and revisions can be commingled in that locator. As long as an item’s classification has not changed, additional receipts of that item will be putaway to the same locator to minimize fragmentation, capacity permitting. If the locator is full, nearby locators will be selected.
However, the item’s classification may change as demand patterns change. These changes would be reflected by periodically updating the item assignments by re-building the ABC compile. This rule will put items away based on the current classification only. Picking rules will be used to clean up items stored incorrectly based on the new classifications. For instance, an item may have been classified as an A item last month, and thus is stored in several A locators. Due to seasonal demand, the item may now be a B item, and so any newly received material will be directed to B locators. The material still residing in the A locators can be allocated for manually created mass moves, or sales order transfers, but will not automatically be moved when the item assignments are updated. Refer to the dynamic slotting picking rule to better understand how this incorrectly stored material can be best allocated.
If there are no more locators available with the matching classification for the item, the closest matching locator based on classification will be used. This can more easily be done if numeric classifications, such as 1 to 5, have been used. For instance, if there are no more 1 locators available for items classified as a 1 item, the system will next search for available 2 locators, and so forth. An item will be kept close to other occurrences of it in the warehouse by putting away based on proximity to other locators with the same item.
The ABC Assignment Group identifier must be known to build this rule. In the example below, the identifier used is 23. The identifier can be found in MTL_ABC_ASSIGNMENT_GROUPS_V. The second and third restrictions together enforce that the locator is either empty, or contains no other items. The parameter Only Item in Locator is null when the locator is empty or when the locator has mixed contents, but stores the item identifier when there is exactly one item in that locator.
This flag is updated on every receipt, but is not updated on issue transactions automatically. Therefore, to keep the parameter up to date in an efficient fashion, the concurrent program Update Locator Capacity should be run periodically. Note that because of the way the parameter is updated, this may occasionally cause the rule to exclude locators do not contain other items, but will not allow the rule to include locators that would violate the rule restriction. The frequency in which the Update Locator Capacity concurrent program should run depends on how often locators get emptied of items and the accuracy required in choosing the best locators, weighed against the system resources that are available.
These two restrictions could be replaced by a single restriction using the parameter Number of Other
Items in Location, produce the same results, and not require that the concurrent program be scheduled
periodically. However, the two restrictions below will make the rule perform several orders of magnitude faster on a large instance because they refer to database columns, while Number of Other
Items in Location requires an expensive API call.
Rule Putaway items to locators that with same dynamic slotting classification
Description Minimize fragmentation, no item commingling, store items in locators with same ABC classification from group id 23 R Destination Locator ATTRIBUTE1 = Expression Select
abc_class_name from mtl_abc_classes mac, mtl_abc_assignments maa where maa.abc_class_id = mac.abc_class_id and maa.inventory_item_i d = base.inventory_item_ id and maa.assignment_grou p_id = 23 R AN D
( Destination Locator Only Item in Locator = Item Item ID
R OR Subinventory/Locator On-hand quantity = Constant Number 0 ) S Subinventory/Locator Item on-hand quantity Descending
S Destination Locator Proximity To Locator With Item By Picking Order
Ascending
Of course, sort criteria and restrictions can be modified or added to in order to achieve the exact rule needed for the warehouse, but the bulk of the logic is contained in the first restriction.
The rule above will put away only to locators with the identical ABC classification. If there are no locators available with the required classification, however, additional rules in a strategy are necessary to putaway to other locators with similar (but not identical) classifications. The following rule will put
away to locators within a range of 1 of the required classification. That is, if the item is classified as 2, this rule will putaway to locators with a classification of 1 or 3. Note that this type of rule requires that the ABC classifications be consecutive integers; alphanumeric classifications cannot be used. Additional rules, expanding the search criteria even further, or perhaps putting away to a different overstock area in the warehouse, can be added to the strategy.
Rule Putaway items to locators with dynamic slotting classification within 1 of required classification
Description Minimize fragmentation, no item commingling, store items in locators with ABC classification from group id 23 within 1 R Destination Locator ATTRIBUTE1 <= Expression Select
(abc_class_name+1) from mtl_abc_classes mac, mtl_abc_assignments maa where maa.abc_class_id = mac.abc_class_id and maa.inventory_item_i d = base.inventory_item_ id and maa.assignment_grou p_id = 23 R AN D
Destination Locator ATTRIBUTE1 >= Expression Select
(abc_class_name-1) from mtl_abc_classes mac, mtl_abc_assignments maa where maa.abc_class_id = mac.abc_class_id and maa.inventory_item_i d = base.inventory_item_ id and maa.assignment_grou p_id = 23 R AN D
( Destination Locator Only Item in Locator = Item Item ID
R OR Subinventory/Locator On-hand quantity = Constant Number 0 ) S Subinventory/Locator Item on-hand quantity Descending
S Destination Locator Proximity To Locator With Item By Picking Order
Ascending
Again, this rule would likely be used with some variation of the Dynamic Slotting Picking rule to ensure that when items are reclassified, the material stored in old classifications is allocated first to empty out those locators, or perhaps only picked for requisition move orders, but not for sales order staging.
Note that any locator with a null value for the descriptive flexfield attribute will not be selected for putaway. If locators with null values are to be selected by a version of this rule, then a restriction that uses the operator IS NULL must be added.
Ensure item dimensions defined
Oftentimes, an items’ dimensions will not be defined at the same time the item is defined, either because they are not known with any degree of certainty, or the physical data is not available to the person performing the initial item definition. However, prior to storage in the warehouse, these dimensions may need to be captured. A putaway rule can direct material without dimensions to a specially defined sizing area. A material handler will measure all material in this area, populating the
dimensions in the item definition. Dimensioned material can then be putaway from this sizing area to a properly sized locator.
This rule will suggest putaway of material without a length, width, and height to the subinventory SIZING.
Rule Ensure item dimensions entered prior to put away to storage Description Putaway to SIZING if length, width, or height is not populated
R Destination Subinventory
Subinventory Name = Constant Character SIZING R AN D ( Item Length IS NUL L R OR Item Width IS NUL L R OR Item Height IS NUL L )
Additional restrictions can be added to ensure that the dimension unit-of-measure, weight, weight unit-of-measure, volume, and volume unit-of-measure are all populated as well.
Ensure locator dimensions large enough
Putaway of some items, such as pipes, require locators of specific sizes, beyond verification of the item weight and volume in comparison to that of the locator. The Rules Engine does not explicitly check the dimensions of the item in comparison with those of the locator when allocating space for a putaway. However, these sizing restrictions can be modeled the Rules Engine if necessary.
This rule verifies that the dimensions of the item can fit within the dimensions of the locator.
Rule Locator dimensions must be large enough for item, no rotation, assuming same UOM Description Restrict putaway to locators large enough by width, height, and length
R Destination Locator Width >= Item Width R AN
D
Destination Locator Length >= Item Length R AN
D Destination Locator Height >= Item Height
Of course, sort criteria can be added, choosing the smallest locator by width, length, height, or total volume that is still large enough for the entire load to achieve a best-fit putaway.
Note that no unit-of-measure conversion is performed, so the dimensions of the locator must be in the same unit-of-measure as that of the item. Also, this does not consider rotating the item. Suppose that the item can be rotated horizontally, so that the width and length are interchangeable. Perhaps the item is a large ATM that is sitting on a pallet that can be entered from the front or the side. However, the item cannot be rotated vertically. Then the following set of restrictions will ensure the dimensions of the locator are large enough, while still allowing this rotation:
Rule Locator dimensions must be large enough for item, rotating horizontally, assuming same UOM
Description Restrict putaway to locators large enough by width, height, and length, while allowing width and length to be switched R ( Destination Locator Width >= Item Width R AN
D Destination Locator Length >= Item Length ) R OR ( Destination Locator Width >= Item Length R AN
D
Destination Locator Length >= Item Width ) R AN
D Destination Locator Height >= Item Height
Of course, the rule can also be defined to allow vertical rotation only, or both vertical and horizontal rotation, by adding additional clauses. Furthermore, perhaps only the width of the item in comparison
to the locator is important; the rule can be simplified by removing the restrictions that are not necessary or relevant.
If it cannot be assured that the dimensions of the locator and the dimensions of the item are not in the same unit-of-measure, explicit conversions can be made. The following rule does not attempt to rotate the item, but checks all three linear dimensions. The last restriction is necessary so that the rule will compile. Please refer to the Rules Engine chapter of the WMS Implementation Guide for more details on this requirement.
Rule Locator dimensions must be large enough for item, no rotation
Description Restrict putaway to locators large enough by width, height, and length
R Destination Locator Width >= Expression inv_convert.inv_um_ convert(null, null, unit_width, msi.dimension_uom_ code,
base.dimension_uom _code, null, null) R AN
D
Destination Locator Length >= Expression inv_convert.inv_um_ convert(null, null, unit_length, msi.dimension_uom_ code,
base.dimension_uom _code, null, null) R AN
D
Destination Locator Height >= Expression inv_convert.inv_um_ convert(null, null, unit_height, msi.dimension_uom_ code,
base.dimension_uom _code, null, null) R AN
D Item Item Identifier = Item Item Identifier
These types of rule would most typically be used when either only a single dimension is important, such as length for piping, or when only a single unit of an item can fit in a locator at a time and the best fitting locator should be selected, such as an ATM. The Rules Engine tracks locator capacity by total volume, total weight, and total units (or any combination thereof). The Rules Engine does not cube out the space, however. Therefore, these types of rules may not work well for selecting the best locator when multiple different sized items are to be stored in the same locator.
Freight carrier based staging lane selection
Sales order picking tasks can be directed to different staging lanes based on the freight carrier / shipment method on the order line, or based on any number of other order attributes such as customer name or shipment priority code.
The staging subinventory must be provided in the Shipping Parameters form. However, the staging lane (or rather, locator within that staging subinventory) need not be specified in that form or during pick release. If the staging lane is left blank in the Shipping Parameters form and in the Pick Release rule, and if trip/dock door appointments are not being used to automatically select the correct staging lane, then the Rules Engine can select any staging lane within the staging subinventory.
Suppose two parcel carriers are used by the warehouse: DHL and UPS, three staging lanes, named STAGE.DHL, STAGE.UPS, and STAGE.OTHER have been set up, and the second segment of the locator key flexfield is called Rack. Then the following rule can be used to ensure that sales order lines get staged in the lane corresponding to the line shipping method code. Lines with different shipment methods, or without shipment methods, will get staged in STAGE.OTHER.
Rule Stage material in lanes DHL, UPS, and OTHER based on sales order line shipping method
Description Sales orders lines with shipping method DHL and UPS go into lanes with Rack named same; others to OTHER lane R Destination Locator Rack = Sales Order Line Shipping Method
Code R OR ( Destination Locator Rack = Constant Character OTHER R AN
D
Sales Order Line Shipping Method Code
<> Constant Character DHL R AN
D
Sales Order Line Shipping Method Code
<> Constant Character UPS )
The exact same logic can be defined using one fewer restrictions taking advantage of the database operator IN / NOT IN, as follows:
Rule Stage material in lanes DHL, UPS, and OTHER based on sales order line shipping method
Description Sales orders lines with shipping method DHL and UPS go into lanes with Rack named same; others to OTHER lane R Destination Locator Rack = Sales Order Line Shipping Method
Code R OR ( Destination Locator Rack = Constant Character OTHER R AN
D
Sales Order Line Shipping Method Code
NOT IN
Expression ‘DHL’,’UPS’ )
Note that the first restriction requires that the value for Rack in each staging lane correspond exactly to the Shipping Method Code indicated on the sales order line, and that the Rack segment on the locator key flexfield be defined as a varchar. Because different groups may be responsible for defining and maintaining this data, and because relationships with carriers may change over time, more generic staging lanes can be set up, as in the following example. Suppose that instead of the three lanes defined above, there are three lanes named STAGE.1 – STAGE.3 that are used for DHL, UPS, and other shipping methods, respectively. Then the following rule will ensure that sales order lines get staged in the lane corresponding to the line shipping method code.
Rule Stage material in lanes 1, 2, and 3 based on sales order line shipping method
Description Sales orders lines with shipping method DHL to lane 1, UPS to lane 2, other to lane 3 R ( Destination Locator Rack = Constant Number 1 R AN
D
Sales Order Line Shipping Method Code
= Constant Character DHL ) R OR ( Destination Locator Rack = Constant Number 2
R AN D
Sales Order Line Shipping Method Code
= Constant Character UPS ) R OR ( Destination Locator Rack = Constant Number 3
R AN D
Sales Order Line Shipping Method Code
<> Constant Character DHL R AN
D
Sales Order Line Shipping Method Code
<> Constant Character UPS )
These rules need not specify the subinventory name, because the staging subinventory name will always be stamped on the move order by the pick release process prior to the Rules Engine selecting a staging lane. This means that the subinventory that is indicated on the pick release rule, or on the Shipping Parameters form if left blank during pick release, must be the subinventory with these staging lanes; otherwise, sales order lines will backorder because the Rules Engine will be unable to find a putaway location acceptable to both the pick release process and the rule logic. Similarly, the locator must not be indicated on the pick release process, either as part of the pick release rule or on the Shipping Parameters form.
These rules used the shipping method code on the sales order line. The shipping method code might be indicated on the sales order header instead, or perhaps on both. Variations of the rule can be defined that honor one or the other, or perhaps check for a shipping method code at the line level first, and only then check at the header level only if none is provided on the line. For instance, in the following rule, the shipping method on the header is used only if the shipping method on the line is null. This rule would be combined with other rules for UPS and the miscellaneous staging lane in a multi-rule strategy.
Rule Stage material in lane 1 if shipping method code is DHL on sales order line or header, using more specific value Description Stage material in lane 1 if shipping method code is DHL on the sales order line, or if not on line, on header
R Destination Locator Rack = Constant Number 1 R AN
D ( Sales Order Line Shipping Method Code = Constant Character DHL R OR ( Sales Order Line Shipping Method
Code
IS NUL L R AN
D Sales Order Header Shipping Method Code = Constant Character DHL ))
These rules could also be broken up into multiple rules within a strategy without any change in behavior because the different clauses in the rule are mutually exclusive; an order line has only one shipping method. If one scenario occurs much more frequently than the other, then the Rules Engine will perform faster if the more common scenario is listed first as a separate rule. Even if the scenarios occur with roughly the same frequency, or the frequency of the different scenarios is not known, the rule should still be broken up into multiple rules in a strategy to reduce the complexity of the query required by the database. For instance, the rule above should be rewritten as a three-rule strategy as follows:
Strategy Name Stage material in lanes 1, 2, and 3 based on sales order line shipping method
Strategy Description Sales orders lines with shipping method DHL to lane 1, UPS to lane 2, other to lane 3 Rule Name Stage material in lane 1 for DHL (Always)
R Destination Locator Rack = Constant Number 1 R AN
D
Sales Order Line Shipping Method Code
= Constant Character DHL Rule Name Stage material in lane 2 for UPS (Always)
R Destination Locator Rack = Constant Number 2 R AN
D Sales Order Line Shipping Method Code = Constant Character UPS Rule Name Stage material in lane 3 if shipping method code is neither DHL nor UPS (Always)
R Destination Locator Rack = Constant Number 3 R AN
D
Sales Order Line Shipping Method Code
<> Constant Character DHL R AN
D
Sales Order Line Shipping Method Code
<> Constant Character UPS
Other common scenarios that can be modeled with these types of rule might be based on the shipping priority code, order type, or any of the flexfields, defined on the sales order header or sales order line. Of course, the above putaway rules, as well as any other putaway rule based on the sales order header or sales order line will only produce suggestions when the putaway is for a sales order, but not during putaway during receiving or replenishment putaway.
Job completion locator
With tight integration between Oracle Work in Process and Oracle Warehouse Management, completions can be performed directly into LPNs and the Rules Engine can be used to determine where to put the newly completed material away to. Oftentimes, a completion subinventory and locator is defined on the routing, and the putaway should be directed to this locator first.
The following rule will direct putaway of LPNs from a job to the completion subinventory and locator defined on that job. Note that although this information is taken from the job, it is defaulted on the job from the routing when the job is first defined. Therefore, if the operator has altered the completion subinventory or locator for some jobs for a particular reason, this latest up-to-date data will be used for the putaway.
Rule Put completed assemblies to completion sub / loc defined on job
Description LPNs created via LPN-based completions are directed to the completion sub / loc on the job, defaulted from routing R WIP Job Completion Locator
This rule would then typically be assigned to a strategy. The strategy could then be assigned to the transaction type of WIP Assembly Completion, assuming that transaction type is an object in the putaway strategy search order. By using this object in the strategy search order, different putaway strategies could be used for putaway from purchase order receipt, putaway from manufacturing completion, and putaway for sales order staging transfer.
If a capacity is defined for the locator, or the locator is otherwise not available because it is assigned to a material status that places it on hold, then the system will not be able to suggest a putaway location and thus the operator will be unable to put away the LPN, which is still in WIP, to inventory. To circumvent this problem, the strategy may have a second rule that directs the material to a special subinventory.
In addition, the Rules Engine provides flexibility beyond simply putting completed LPNs to the defined completion locator. For instance, if each completion is pallet and requires its own locator, a rule can be built that can direct completions to empty locators, but only within the subinventory defined on the routing / job as the completion subinventory. Again, this would typically be used in a strategy that includes additional rules to determine where to put the LPN if no locators in the expected subinventory are available.
Rule Put completed assemblies to completion sub / loc defined on job
Description LPNs created via LPN-based completions are directed to the completion sub / loc on the job, defaulted from routing R WIP Job Completion
Subinventory = Destination Subinventory Subinventory Name R AN D
Subinventory/Locator On-hand Quantity = Constant Number 0
The second restriction enforces that the locator is empty.
License plate number based putaway
Different pallets may be required to be directed to different areas based on some logic not easily modeled by the Rules Engine, but which the receiver can accurately capture. Several series of pre-generated LPNs can be created and labels can be pre-printed. The putaway logic can be based on attributes of these LPNs, such as LPN prefix, LPN suffix, or LPN volume or weight.
For instance, suppose that some pallets are sealed with shrink-wrap, while other pallets are strapped and enclosed in a large corrugated cardboard box. Because the wrap is easier to break, the warehouse may wish to direct the shrink wrapped pallet to a case area or a forward picking area to be broken down, while the strapped and boxed pallet should be directed to a bulk storage area where it might be able to be sold without performing any repackaging.
The system has no way to recognize that these different pallets are packed differently because they may contain the same quantity, be from the same supplier, and be identical in all other aspects. Therefore, two rolls of LPN labels can be pre-generated via the desktop concurrent request. One roll will have the suffix B on the license plate number, indicating bulk storage, while the other roll will have the suffix C to indicate case storage. The receiver, knowing that the label used will control where the material is directed, will label the pallets with pre-generated label from one of the two rolls based on the packing configuration.
The following rule will put LPNs with the suffix B to a subinventory named BULK. A similar rule can be defined for C and CASE.
Rule LPNs with suffix B putaway to BULK
Description LPNs with name like %B are putaway to subinventory BULK
E R AN
D
Destination Subinventory
Subinventory Name = Constant Character BULK
These restrictions would probably be combined with additional restrictions or sort criteria that minimize fragmentation, or perform other optimizations. Similarly, putaway logic can be based on a combination of the prefix and suffix. Note, however, that because this uses the database operator LIKE, there is no way to recognize that the suffix B is different from, say, the suffix EB; both suffixes would match %B. Therefore, make sure that any suffixes or prefixes you use are distinct.
Limited quantities of hazardous items stored inside
Some organizations may have policies that prevent storage of large quantities of hazardous materials within the warehouse.
For instance, due to safety requirements, no more than 1000 gallons of chlorine can be stored in various subinventories throughout the warehouse. Any receipts that will drive on-hand over that limit must be stored outside the warehouse in an overstock subinventory. This requirement is surprisingly complex, so the rule to model the requirement as stated will be built in stages.
The following rule comes close to modeling the stated requirement.
Rule Store any excess of 1000 of item in subinventory OVERSTOCK
Description If more than 1000 (primary UOM) units of item are in organization, store additional quantity in sub OVERSTOCK R Destination
Organization
Quantity On-Hand >= Constant Number 1000 R AN
D
Destination Subinventory
Subinventory Name = Constant Character OVERSTOCK
Whenever the organization has more than 1000 on-hand, any additional material will be directed to the OVERSTOCK subinventory. Note that the quantity on-hand that is used in the calculation is the current quantity, prior to the suggestion. Therefore, if there are 900 gallons currently on-hand, a putaway of 200 gallons will be not be directed to OVERSTOCK by this rule. After those additional 200 have been received, the on-hand quantity will be 1100, and any subsequent putaways will be directed to OVERSTOCK.
Furthermore, as this rule is based on the total on-hand quantity in the warehouse, it includes the quantity stored outside in OVERSTOCK. Therefore, even if the subinventories inside the warehouse are emptied, material will continue to be sent to OVERSTOCK so long as the total on-hand in the warehouse is greater than 1000.
Suppose that, instead of being stored in multiple subinventories within the warehouse, the item can only be stored in one subinventory, HAZMAT, inside the warehouse, and one subinventory,
OVERSTOCK, outside the warehouse. Then the following putaway strategy will direct to HAZMAT until a putaway places HAZMAT above 1000 gallons, regardless of the quantity already stored in OVERSTOCK.
Strategy Direct all additional receipts to OVERSTOCK once HAZMAT has quantity on-hand greater than 1000 Description As soon as HAZMAT has over 1000 units, direct additional material to OVERSTOCK
Rule Direct material to HAZMAT as long as current HAZMAT on-hand is less than 1000: Always R Destination
Subinventory
Quantity On-Hand < Constant Number 1000 R AN
D
Destination Subinventory
Subinventory Name = Constant Character HAZMAT Rule Direct material to OVERSTOCK: Always
R Destination Subinventory
Subinventory Name = Constant Character OVERSTOCK
A strategy is required here because there is a strict preference to placing new material to HAZMAT before OVERSTOCK, so long as HAZMAT has less than 1000 units presently on-hand.
A variation of the above rule using a SQL expression can prevent the quantity in the HAZMAT locator from ever exceeding 1000 gallons, including the suggested quantity. That is, in the example above, 200 gallons were be directed to HAZMAT when the current on-hand quantity is 900. The following strategy would direct all 200 to OVERSTOCK because the total on-hand after the suggestion would exceed the limit of 1000.
Strategy Direct all additional receipts to OVERSTOCK if they would force HAZMAT over 1000 units Description All receipts that will put HAZMAT above 1000 units directed to OVERSTOCK
Rule Direct material to HAZMAT as long as this putaway will not force HAZMAT above 1000 units: Always R Destination
Subinventory Quantity On-Hand <= Expression 1000-mptdtv.transaction_q uantity
R AN D
Destination Subinventory
Subinventory Name = Constant Character HAZMAT Rule Direct material to OVERSTOCK: Always
R Destination Subinventory
Subinventory Name = Constant Character OVERSTOCK
The tables and columns that are available for use within a SQL expression can be understood by viewing the rule body. While this requires some basic knowledge of the Oracle data model, very powerful rules can be built using this feature.
By including the quantity of 1000 and the two subinventory names in the rule restrictions, the rule has been made specific for the chlorine example described above. As the item is not mentioned in the rule bodies, it is assumed that the rule (or strategy) will be assigned directly to the item. Alternatively, the rule can be made more generic, perhaps for an entire category of hazardous items, by placing the preferred subinventory, the quantity limit on that subinventory, and the overstock subinventory in flexfields on the item definition.
The Quantity On-Hand parameter of the Destination Subinventory and Destination Organization object return the quantity in the transaction unit-of-measure, rather than the primary unit-of-measure. This can pose a problem if the receiver receives in, say, drums, rather than gallons. Therefore, the expression should explicitly convert the quantity of 1000 (assuming it is expressed in gallons) to the transaction unit-of-measure. Assuming that the unit-of-measure code GAL is gallon, the following strategy corrects for this difference.
Strategy Direct all additional receipts to OVERSTOCK if they would force HAZMAT over 1000 gallons Description All receipts that will put HAZMAT above 1000 units directed to OVERSTOCK
Rule Direct material to HAZMAT as long as this putaway will not force HAZMAT above 1000 gallons: Always R Destination
Subinventory
Quantity On-Hand <= Expression inv_convert.inv_um_ convert(mptdtv.inven tory_item_id,null,100 0,'GAL',mptdtv.transa ction_uom, null, null)-mptdtv.transaction_q uantity R AN D Destination Subinventory
Subinventory Name = Constant Character HAZMAT Rule Direct material to OVERSTOCK: Always
R Destination Subinventory
Subinventory Name = Constant Character OVERSTOCK
The original requirement was that any receipt that will drive the on-hand quantity in the
subinventories inside the warehouse over 1000 gallons should be directed outside to OVERSTOCK; all other receipts can be directed to any other subinventory inside the warehouse. The rule above limited putaway inside the warehouse to HAZMAT. The following rule loosens this restriction by calculating the total on-hand in all subinventories, excluding OVERSTOCK, which is outside the four walls of the warehouse.
Strategy Direct all additional receipts to OVERSTOCK if they would force organization on-hand over 1000 excluding OVERSTOCK Description All receipts that will put total quantity in all inside subinventories above 1000 units directed to OVERSTOCK outside Rule Direct material to inside sub as long as this putaway will not force total inside quantity above 1000 gallons: Always
R Destination
Organization Quantity On-Hand <= Expression inv_convert.inv_um_convert(mptdtv.inven tory_item_id, null, 1000, 'GAL', mptdtv.transaction_u om, null, null) - mptdtv.transaction_q uantity + select inv_convert.inv_um_ convert(mptdtv.inven tory_item_id, null, sum(primary_transact ion_quantity), msi.primary_uom_co de, mptdtv.transaction_u om) from mtl_onhand_quantitie s_detail where organization_id = mptdtv.organization_i d and inventory_item_id = mptdtv.inventory_ite m_id and subinventory_code = 'OVERSTOCK' R AN D Destination Subinventory
Subinventory Name <> Constant Character OVERSTOCK Rule Direct material to OVERSTOCK: Always
R Destination
Subinventory Subinventory Name = Constant Character OVERSTOCK
All the rules documented in this section only limit the putaway by specifying at most, a particular subinventory. These rules would likely include additional restrictions or sort criteria to select the best location. For instance, hazardous material would generally be stored only on the bottom racks, or fragmentation of items can be limited.
Note that the Rules Engine is only used for transactions that are driven by a move order, so that miscellaneous receipts and subinventory transfers could still be performed that drive on-hand of the hazardous item above the acceptable limit. Furthermore, note that any material in the staging subinventory is included in the organization on-hand calculations. If an organization is already at its limit for an item, sales order lines may be partially backordered because at most 1000 gallons can be putaway to all subinventories excluding OVERSTOCK. If appropriate, the staging lane can also be excluded when the on-hand quantity is summed.
Lot commingling prevented
Different items may be allowed to be stored together, but different lots of the same item may not be stored together. This might help increase picking accuracy if customer restrictions or other logic is based on attributes of a lot, and different items are easily distinguishable, but different lots of the same item are difficult to distinguish.
This restriction in this rule avoids commingling lots in the same locator. The sort criteria ensures that lot fragmentation is minimized by placing additional receipts of the same lot to the locator where that lot is already present, assuming sufficient capacity is available.
Rule Lot commingling prevented within in item while minimizing lot fragmentation Description Different items, but not different lots of same item, can be stored in single locator
R Destination Locator Number of Other Lots
= Constant Number 0 S Subinventory/locator Item on-hand quantity Descending
Maximize fragmentation across subinventories
In some warehouses, certain high velocity items may be stored in multiple subinventories, or zones, so that different operators can pick that item without leaving their assigned zone. For instance, a
seasonal item, in the peak of its demand, may be stored in each of four picking areas, so that four different operators can access it. This configuration allows for items with very high velocities to be more readily picked. However, within a zone, the organization may wish to minimize fragmentation, so that empty locators are not needlessly filled.
The Rules Engine can maximize fragmentation across these zones in one of two ways, depending on if these zones correspond directly to subinventories.
If the zones correspond directly to subinventories, then a simple rule based on the quantity on-hand in a subinventory can be used to putaway to subinventories with the smallest on-hand quantity. Within a subinventory, the material should be stored where on-hand of that item already exists. Suppose four subinventories, PICK1 – PICK4, store this high velocity material. Then the rule will appear as follows.
Rule Maximize fragmentation across subinventories PICK1 – PICK4 based on subinventory on-hand quantity Description Max frag across subs and min frag within subs
R Destination Subinventory
Subinventory Name LIK E
Constant Character PICK% S Destination
Subinventory
Quantity On-Hand Ascending S Subinventory/Locator Item on-hand quantity Descending
If the zones do not correspond to subinventories, the Rules Engine can still model the scenario, but the setup required is slightly more complex. The Rules Engine can take advantage of a parameter that is based on the distance of the locator currently being considered to the closest locator with the same item. When the parameter is used in a sort criteria in ascending sequence, then fragmentation is minimized. When the parameter is used in a sort criteria in descending sequence, then fragmentation is maximized. Two parameters are provided in the Rules Engine: one can sort based on proximity to the same item in picking order, while the other can sort based on proximity to the same item in Cartesian distance defined by the x, y, and z coordinates indicated on the locator.
This rule requires that the Cartesian coordinates be used. The data that is entered for the x, y, and z coordinates of the locators will not map to the actual physical location of the locators. Therefore, this rule cannot be used if any other functionality based on the true locator coordinates is required.
For this example, suppose there is one subinventory in the warehouse where this type of fragmentation must happen, named PICK. Suppose PICK has locators 1.1 – 4.3, for a total of 12 locators. The first segment of the locator differentiates the zone, while the second segment is the bin within that zone. That is, fragmentation should be minimized within 1.1 – 1.3, and within 2.1 – 2.3, and so forth, but maximized across each of those four groups. Then the x, y, and z coordinates for each of the locators should be populated as follows:
Locator X Y Z
1.1 1 0 0
1.2 1 0 0
1.3 1 0 0
2.2 2 0 0 2.3 2 0 0 3.1 3 0 0 3.2 3 0 0 3.3 3 0 0 4.1 4 0 0 4.2 4 0 0 4.3 4 0 0
Suppose a rule with the following sort criteria were used:
S Destination Locator Proximity To Locator With Item By Coordinates
Descending
Suppose an item that is not located anywhere in the warehouse is received and putaway. Because the item is not yet in any locator, each of the locators are considered equal by the sort criteria, and so suppose the Rules Engine selects 1.1 first. The item is received again on another purchase order, and put away. The Rules Engine now selects the furthest locator from where the material is already stored. Locators 4.1 – 4.3 are equally far away, so suppose material is putaway to 4.1. Similarly, on subsequent putaways, locators 3.1 and 2.1 may be filled.
With the fifth putaway, however, because there is material in each of the four zones, each of the twelve locators has a distance of 0 from a locator with the material. The Rules Engine could suggest any locator, even one that does not already have that item. To minimize fragmentation of items within a zone, a second sort criteria is necessary, so that the sort criteria of the rule appears as follows:
S Destination Locator Proximity To Locator With Item By Coordinates
Descending
S Subinventory/Locator Item on-hand quantity Descending
Finally, a restriction that ensures that material is put away only to this subinventory is required, so that the final version of the rule appears as follows:
Rule Maximize fragmentation across four zones in sub PICK based on Cartesian coordinates Description Max frag across zones within PICK and min frag within zones
R Destination Subinventory
Subinventory Name = Constant Character PICK S Destination Locator Proximity To Locator
With Item By Coordinates
Descending
S Subinventory/Locator Item on-hand quantity Descending
Additional refinements to this rule are also possible. For instance, the rule as defined minimizes fragmentation by putting an item away to locators that are most full, up to each locator’s capacity. Instead, locators that are most empty can be used to maximize the chance that the entire load can be put away to a single locator. Or perhaps restrictions that ensure that different items, or different lots of the same item, are not commingled in a single locator may be important.
This rule would most likely be used in a strategy that is assigned to an item category that defines this item as a high velocity item. Then, by simply assigning items to certain categories as they are defined, they can be stored using this special methodology. In addition, date effectivity can be used in
combination with several category assignments, so that seasonal items can be automatically and systematically rotated in and out of these high velocity picking areas.
Several elements can be optimized during the putaway process to maximize warehouse efficiency. Two common requirements are to minimize fragmentation of items across a warehouse so that items are stored wherever that item is already located up to the maximum capacity of the locator, and to minimize breaking up a putaway task so that it can be dropped in a single operation and in a single destination locator, if possible. The former is addressed by seeded rules, while the latter is addressed here.
There are several ways this can be modeled, depending on whether the capacity on the locator is defined by units, weight, or volume. To restrict putaway to only locators that have enough available capacity by units, use the following rule:
Rule Locator must have enough capacity by units for entire load
Description Restrict putaway to locators with sufficient capacity by units for entire putaway R Subinventory/Locator Available Capacity
by Units >= Actual Transaction Transaction Primary Quantity
Alternatively, a sort criteria can be used so that the largest locators are considered first, in case there is no single locator with sufficient capacity. Or a combination of restrictions and sort criteria can be used so that of those locators with sufficient capacity, the locator that best fits the load, in terms of being the smallest locator that is still large enough, is selected. This rule would appear as follows:
Rule Smallest locator with enough available capacity for entire load by units
Description Restrict putaway to locators with sufficient capacity by units, order by smallest locator by units R Subinventory/Locator Available Capacity
by Units
>= Actual Transaction Transaction Primary Quantity
S Subinventory/Locator Available Capacity by Units
Ascending
Of course, additional restrictions may be warranted to ensure that different items, or lots of the same item, are not commingled in the same locator. These could be added to the rule.
The two examples above base capacity on the number of units. However, capacity can also be based on weight or volume, as follows.
Rule Locator must have enough capacity by weight and volume for entire load
Description Restrict putaway to locators with sufficient capacity by weight and volume for entire putaway R Subinventory/locator Minimum Available
Capacity by Volume and Weight
>= Actual Transaction Txn Primary Qty
Finally, a single restriction rule can be used that bases capacity on weight, volume, and units, as follows:
Rule Locator must have enough capacity by weight, volume, and units for entire load
Description Restrict putaway to locators with sufficient capacity by weight, volume, and units for entire putaway R Subinventory/locator Minimum Available
Capacity by Units, Volume and Weight
>= Actual Transaction Txn Primary Qty
As before, these restrictions can be expressed as a sort criteria instead, or as a combination of
restriction and sort criteria to achieve a best fit. They may also be combined with other restrictions to ensure that different lots or items are not commingled, or that putaways are directed only to particular subinventories.
The actual transaction object contains information relevant to the transaction at hand. Two attributes return the quantity of the transaction: transaction primary quantity, and transaction quantity. The primary quantity attribute gives the transaction quantity in the default (or primary) unit-of-measure defined for the item on the item master. The quantity attribute gives the transaction quantity in the unit-of-measure entered at the transaction time. The minimum available capacity attributes, however, return the available capacity in terms of the primary unit-of-measure of the item.
Rejected material to MRB subinventory
Inspection is an optional process during receiving, and is controlled by the receipt routing. WMS requires that material that fails inspection be split into a different LPN then the material that passes inspection. Rejected material can then be putaway to different places in the warehouse for further action.
Rejected material should be directed to a special MRB (material review board) subinventory.
Rule Rejected material to MRB subinventory
Description Direct material that fails receiving inspection to the MRB subinventory
R Actual Transaction Inspection Status = Constant Number 3 R AN
D
Destination Subinventory
Subinventory Name = Constant Character MRB
Of course, the rest of the putaway rules should be built so that material that is not rejected is not putaway to the MRB subinventory.
Three values are used for the Inspection Status as follows: Status Meaning
1 Awaiting inspection
2 Accepted 3 Rejected
The rule can be based on either a value of 2 or 3; a value of 1 is not applicable in that the system will not allow putaway of an LPN that is still awaiting inspection until that inspection has been completed. If the item does not require inspection, then the inspection status will be left null. Also, note that this inspection status is applicable only to the standard inspection process performed via the inspection routing receipt. If Mobile Quality is used for inspection to collect a quality plan, then different objects or customer expressions are necessary.
Stacking pallets within single locator
A particular locator may be able to fit several pallets or loads of an item, but can be stacked on top of other pallets of the item only if those other pallets provide a level surface. That is, only if the pallets in the locator have not yet been used, or perhaps if the pallets have been used but the top layer of the pallet provides a flat surface.
For instance, a pallet of sand bags may be stacked so that there are 7 bags per layer on each pallet, and 6 layers in a pallet for a total of 42 bags. Additional pallets can be stacked on top of any pallet, so long as the top layer of the pallet is a complete layer. That is, as long as there is a multiple of 7 bags in the locator, another pallet can be placed there as well. Or perhaps new pallets can only be stacked on top of other full pallets, so that a locator with this item can be used only if there are a multiple of 42 bags in the locator.
The following rule places a pallet of an item into a locator only when that locator contains an even multiple of the item. The quantity to use as the multiple is defined as a flexfield on the item
definition. This rule ensures that the entire load, based on volume, weight, and unit capacity, can be put away to this single locator to maximize the operator efficiency. It also ensures that the locator contains no other items other than that which is being put away. The sort criteria also means that the load will be put away to empty locators, if necessary.