You are on page 1of 59

Oracle Warehouse Management Rules Engine Examples

An Oracle Topical Essay October 2002; updated October 2004

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 userdefined strategies, and in turn, these strategies assigned to objects 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 S Object C Object Strategies

Attribute Attribute Attribute

OP Object Sort order

Attribute

Val )

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 S Object C Object Allocation mode (for picking rules) Rule Name: DTYPE (from - to) R LOG ( Object S Object C Object

Attribute Attribute Attribute Attribute Attribute Attribute

OP Object Sort order

Attribute

Val )

OP Object Sort order

Attribute

Val )

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 Customer specific packaging selection................................................................................................. 40

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 Ship-to country specific rule................................................................................................................. 57

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 R AN ( Destination Locator Status Identifier D R OR Destination Status Identifier Subinventory Minimize Fragmentation = = = Constant Character Lot Lot Y Status Identifier Status Identifier )

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 Prevent lot or item commingling Descending

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 R AN Destination Locator Number Of Other = D Items In The Location S Subinventory/Locator Item on-hand quantity in txn UOM Seeded Default putaway rule Constant Number Constant Number Descending 0 0

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 Description Putaway rule with no restrictions

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 >= Actual Transaction Capacity by Units, Volume and Weight S Subinventory/Locator Item on-hand quantity Descending in txn UOM Transaction Primary Quantity

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

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 Same material status code

Descending

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 R AN ( Destination Locator Status Identifier D R OR Destination Status Identifier Subinventory

= = =

Constant Character Lot Lot

Y Status Identifier Status Identifier )

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 R AN Destination Subinventory Name = Constant Character D Subinventory MISC 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: Subinventory Sub Locator Locator

Picking Order
1.1 1.2 PICK1 1 1.3 2.1 2.2 PICK2 2 2.3

Picking Order
1 2 3 4 5 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. Sub Picking Order Locator Picking Order
1 2 3 101 102 103

Subinventory

Locator
1.1 1.2

PICK1

1.3 2.1 2.2

PICK2

2.3

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 = S Destination Locator Proximity To Locator With Item By Picking Order Constant Number Ascending 0

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.
Rule Dedicated item storage

10

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 items 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 items 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.

11

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 ( Destination Locator Only Item in Locator = Item Item ID D R OR Subinventory/Locator On-hand quantity = Constant Number 0 ) S Subinventory/Locator Item on-hand quantity Descending S Destination Locator Proximity To Locator Ascending With Item By Picking Order

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

12

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 Destination Locator ATTRIBUTE1 >= Expression Select D (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 ( Destination Locator Only Item in Locator = Item Item ID D R OR Subinventory/Locator On-hand quantity = Constant Number 0 ) S Subinventory/Locator Item on-hand quantity Descending Ascending S Destination Locator Proximity To Locator With Item By Picking Order

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

13

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 Name = Constant Character Subinventory R AN ( Item Length IS D NUL L R OR Item Width IS NUL L R OR Item Height IS NUL L SIZING

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 R AN Destination Locator Length >= Item D R AN Destination Locator Height >= Item D Width Length 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 Destination Locator Length >= Item Length ) D R OR ( Destination Locator Width >= Item Length R AN Destination Locator Length >= Item Width ) D R AN Destination Locator Height >= Item Height D

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

14

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) inv_convert.inv_um_ convert(null, null, unit_length, msi.dimension_uom_ code, base.dimension_uom _code, null, null) inv_convert.inv_um_ convert(null, null, unit_height, msi.dimension_uom_ code, base.dimension_uom _code, null, null) Item Identifier

R AN D

Destination Locator

Length

>=

Expression

R AN D

Destination Locator

Height

>=

Expression

R AN D

Item

Item Identifier

Item

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.
15

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 Sales Order Line Shipping Method <> Constant Character DHL D Code R AN Sales Order Line Shipping Method <> Constant Character UPS ) D Code

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 Sales Order Line Shipping Method NOT Expression DHL,UPS ) D Code IN

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 Sales Order Line Shipping Method = Constant Character DHL D Code R OR ( Destination Locator Rack = Constant Number 2 R AN Sales Order Line Shipping Method = Constant Character UPS D Code R OR ( Destination Locator Rack = Constant Number 3 R AN Sales Order Line Shipping Method <> Constant Character DHL D Code R AN Sales Order Line Shipping Method <> Constant Character UPS D Code

) )

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.

16

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 ( Sales Order Line Shipping Method = Constant Character DHL D Code R OR ( Sales Order Line Shipping Method IS Code NUL L R AN Sales Order Header Shipping Method = Constant Character DHL ) D Code )

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 Sales Order Line Shipping Method = Constant Character DHL D Code Rule Name Stage material in lane 2 for UPS (Always) R Destination Locator Rack = Constant Number 2 R AN Sales Order Line Shipping Method = Constant Character UPS D Code 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 Sales Order Line Shipping Method <> Constant Character DHL D Code R AN Sales Order Line Shipping Method <> Constant Character UPS D Code

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 = Destination Locator Locator Identifier Identifier

17

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 = Destination Subinventory Name Subinventory Subinventory R AN Subinventory/Locator On-hand Quantity = Constant Number 0 D

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 pregenerated 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 R License Plate License Plate Number LIK Constant Character %B

18

R AN D

Destination Subinventory

E 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 Quantity On-Hand >= Constant Number 1000 Organization R AN Destination Subinventory Name = Constant Character OVERSTOCK D Subinventory

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 Quantity On-Hand < Constant Number 1000 Subinventory R AN Destination Subinventory Name = Constant Character HAZMAT D Subinventory Rule Direct material to OVERSTOCK: Always R Destination Subinventory Name = Constant Character OVERSTOCK Subinventory

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.

19

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 Quantity On-Hand <= Expression 1000Subinventory mptdtv.transaction_q uantity R AN Destination Subinventory Name = Constant Character HAZMAT D Subinventory Rule Direct material to OVERSTOCK: Always R Destination Subinventory Name = Constant Character OVERSTOCK Subinventory

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 Quantity On-Hand <= Expression inv_convert.inv_um_ Subinventory convert(mptdtv.inven tory_item_id,null,100 0,'GAL',mptdtv.transa ction_uom, null, null)mptdtv.transaction_q uantity R AN Destination Subinventory Name = Constant Character HAZMAT D Subinventory Rule Direct material to OVERSTOCK: Always R Destination Subinventory Name = Constant Character OVERSTOCK Subinventory

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.

20

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 Quantity On-Hand <= Expression inv_convert.inv_um_ Organization 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 Destination Subinventory Name <> Constant Character OVERSTOCK D Subinventory Rule Direct material to OVERSTOCK: Always R Destination Subinventory Name = Constant Character OVERSTOCK Subinventory

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

21

R S

Destination Locator

Number of Other = Lots Subinventory/locator Item on-hand quantity

Constant Number 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 Name LIK Constant Character PICK% Subinventory E S Destination Quantity On-Hand Ascending Subinventory 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
1.1 1.2 1.3 2.1

X
1 1 1 2

Y
0 0 0 0

Z
0 0 0 0

22

2.2 2.3 3.1 3.2 3.3 4.1 4.2 4.3

2 2 3 3 3 4 4 4

0 0 0 0 0 0 0 0

0 0 0 0 0 0 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 S Proximity To Locator With Item By Coordinates Subinventory/Locator Item on-hand quantity Destination Locator Descending 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 Name = Constant Character PICK Subinventory S Destination Locator Proximity To Locator Descending With Item By Coordinates 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 locators 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.
Minimize splitting putaway across locators

23

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 >= Actual Transaction by Units

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 >= Actual Transaction Transaction Primary by Units Quantity S Subinventory/Locator Available Capacity Ascending by Units

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 >= Actual Transaction Txn Primary Qty Capacity by Volume and Weight

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 >= Actual Transaction Txn Primary Qty Capacity by Units, Volume and Weight

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.

24

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 R AN Destination Subinventory Name = Constant Character D Subinventory 3 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 1 2 3 Meaning Awaiting inspection Accepted 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.

25

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 that 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 to produce the same results, and not require that the concurrent program be scheduled periodically. However, the two restrictions below will 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 Must be able to stack pallet on top of existing material in the warehouse Description Restrict putaway to locators with an even multiple of the item based on an item attribute R Subinventory/locator Minimum Available >= Actual Transaction Txn Primary Qty Capacity by Units, Volume and Weight R AN ( Destination Locator Only Item in Locator = Item Item ID D R OR Subinventory/Locator Quantity on-hand = Constant Number 0 R AN Subinventory/locator Item on-hand quantity = Expression inv_convert.inv_um_ D convert( mptdtv.inventory_ite m_id, null, floor ( WMS_Parameter_PV T.GetItemOnHand ( base.ORGANIZATI ON_ID, mptdtv.INVENTOR Y_ITEM_ID, base.SUBINVENTO RY_CODE, base.LOCATOR_ID, msi.PRIMARY_UO M_CODE, msi.PRIMARY_UO M_CODE ) / msi.attribute1 ) * msi.attribute1, msi.PRIMARY_UO M_CODE, mptdtv.transaction_u om, null, null) S Subinventory/locator Item on-hand quantity Descending

This rule would typically be used as part of strategy with additional rules that direct the material to other locators or empty locators if a locator that can be stacked cannot be found.
Stacking single item across multiple racks

Warehouse locations are often defined by a three segment row / rack / bin designation. In some subinventories, it may be important to stack an item in a single row and bin, but across multiple racks, so that overstock can be easily found in a vertical stripe. For instance, the first time an item is

26

received into a subinventory, it should be placed in the lowest empty rack. The next time it is received (assuming the first pallet is still on-hand), it should be placed in a rack directly above the first pallet. Similarly, the third receipt should be directed to the third rack in the some row and bin. This can be accomplished by using the locator Cartesian coordinates to represent locator proximity. The x, y, and z coordinates must be defined so that all locators within a single row and bin, but across multiple racks, should be considered by the system to be in exactly the same physical location. For instance, suppose this putaway logic is to be used within a single subinventory, PICK. There are three racks, two aisles, and two bins, for a total of twelve locators, as follows: Locator
1.1.1 1.2.1 1.3.1 2.1.1 2.2.1 2.3.1 1.1.2 1.2.2 1.3.2 2.1.2 2.2.2 2.3.2

X
1 1 1 2 2 2 1 1 1 2 2 2

Y
0 0 0 0 0 0 0 0 0 0 0 0

Z
1 1 1 1 1 1 2 2 2 2 2 2

Note that the x-coordinate is equal to the row, the z-coordinate is equal to the bin, but the y-coordinate is always zero. Therefore, all three locators in the first row / bin are a distance of zero between each other, as calculated by the Rules Engine when Cartesian coordinates are used. The rule needs restrictions to ensure that only subinventory PICK gets picked up, and only empty locators are selected. A sort criteria ensures that the racks are filled in ascending order. The restriction that proximity by Cartesian coordinates equals 0 ensures that material is stored in a single rack. However, if the material is not yet stored in the warehouse, the parameter Proximity To Locator With Item By Coordinates cannot calculate a value (it will return a value of 999,999,999). Additionally, if the item is stored elsewhere in the warehouse, the system will calculate the distance to that other location, and that value may be neither 0 nor 999,999,999. Therefore, the rule must also check if the on-hand quantity of the item in the subinventory is 0, and if so, start at the first rack.
Rule Stacking single item across multiple racks in subinventory PICK Description Putaway item to single row / bin combination but multiple racks R ( Destination Locator Proximity To Locator = Constant Number With Item By Coordinates R OR ( Destination Quantity On-Hand = Constant Number Subinventory R AN Destination Locator Rack = Constant Number D R AN Subinventory/Locator On-hand quantity = Constant Number D R AN Destination Subinventory Name = Constant Character D Subinventory S Destination Locator Rack Ascending 0 0 1 0 PICK ) )

Note that this rule takes advantage of nested parentheses. Parentheses can be nested several levels deep in a rule definition to model complex logic.

27

Note that if an item is not already on-hand in the subinventory, then the first rack will be used to store the item. Therefore, if all the racks at the first level are full, then this rule will not put any additional material in that subinventory. However, if the upper racks, but not the first rack, have material in them, then a new item can be placed in that first rack. Therefore, material should be consumed from highest rack down to lowest rack in order to ensure that only one item at a time can be placed in a vertical stripe. Also, this rule will only allow an item to be placed in a single vertical; once all three racks in a single row / bin have that item in it, all other locators will fail the restrictions. Therefore, this rule would typically be part of a multi-rule strategy that designates where additional material should be stocked. Subsequent rules might be less restrictive on proximity in that subinventory, including proximity as a sort criteria rather than a restriction. Variations of this rule can segment subinventories further, so that, for instance, only the upper racks are used for this type of overstock storage and different items are stored in the lowest racks. Modifying the way the Cartesian coordinates have been set up can also create other types of striping.
Supplier based putaway

Material from some suppliers may need to be putaway separately, or at least temporarily directed to a different subinventory than other suppliers material due to quality, inspection requirements, or other business processes. Putaway rules based on suppliers can be built to model this requirement. Note that this type of requirement can only be modeled during the initial putaway from receiving; as Oracle does not store the supplier with the on-hand material after it is received into inventory, subsequent material movements cannot be based on the supplier. This rule puts material received from supplier Acme Industries to a quality control area, QC STAGE, where it will wait for additional action.
Rule Material from supplier Acme Industries to QC STAGE Description Putaway material received from supplier Acme Industries to subinventory QC STAGE R Supplier Vendor Name = Constant Character Acme Industries R AN Destination Subinventory Name = Constant Character QC STAGE D Subinventory

Putaway logic can be based on different attributes of the supplier, as well as attributes of the supplier site. For instance, perhaps all material received from a particular country must be putaway separately, or perhaps suppliers in another country use a different pallet type and their material must be repalletized in a special packaging area prior to putaway to final storage.
Transaction unit-of-measure putaway

An item may be received in different units-of-measure. The receiver may perform the receipt transaction indicating eaches, cases, or pallets depending on how the material has been packed (assuming that conversions to the items primary unit-of-measure for all the units-of-measure have been defined already). The transaction unit-of-measure can determine where the material is put away from the initial receipt transaction. Note that once the material is in inventory, the on-hand quantity is always stored in the primary unitof-measure of the item, so transaction unit-of-measure based putaway will only work for putaway from receiving.

28

Suppose a CS unit-of-measure has been set up and defined for an item. CS receipts are to be directed to the CASE subinventory. Other rules in the strategy may be defined to direct material received in Ea to the EACH subinventory, or material received in PAL to the BULK subinventory. This rule models the scenario for CS and CASE:
Rule Direct CS receipts to CASE subinventory for putaway from receipt Description Direct material to CASE based on transaction UOM of CS R UOM Transaction UOM = Constant Character Code R AN Destination Subinventory Name = Constant Character D Subinventory Volume of container item CS CASE

The available volume on the locator is kept current on every transaction with the volume of the items that reside in that locator, not the volume of the container item. For instance, if a pallet of 20 items, each sized 1 ft3 were put away to a locator, the available volume in that locator would decrease by 20 ft3. However, the pallets volume is not considered in the available capacity of the locator. So if the footprint of the pallet consumed, say, 30 ft3, there would be a discrepancy between the volume truly available, and the volume the system believes is available. If the container items have non-trivial sizes, this can be addressed in one of several ways, all via custom rule restrictions. Alternate approaches that address this limitation via a custom quantity function are also possible. But first, several assumptioms must be defined. The volume that will be considered as the volume of consumed by the material could be the volume of the items (as is currently the case), the volume of the container items, or a maximum of the volume of the container item and the contents. The latter, though the most complicated, may also be the most accurate for two reasons: if a container item is not assigned to an LPN, then there is no volume to fall back on other than the volume of the contents, and the volume of the container item may be defined as a container on which you stack items (i.e.: a wooden pallet) or a container into which you pack items (i.e.: a drum). Also, in the first approach below, the volume that will be considered is the liquid volume, in that the space will not be cubed out. For instance, a 3x3x3 locator can hold 3 2x2x2 items by liquid volume (33/23>3), yet only one of those 23 items can fit in there if it is, in fact, a solid item. The following rule with a custom restriction puts away an LPN to a locator if the volume capacity of the locator is sufficient for the container item being put away, taking into consideration only the volumes of the container items already in the locator.
Rule Direct Consider LPN container item volume when putting away Description Only put away into locator where available volume considering current container items & this container item is sufficient R License Plate License Plate Number = Expression select wlpn.license_plate_n umber from mtl_system_items msilpn, mtl_item_locations millpn where msilpn.inventory_ite m_id = wlpn.inventory_item_ id and msilpn.organization_i d= wlpn.organization_id and

29

decode(mptdtv.type_ code,1,NVL(mptdtv.t o_locator_id,base.loc ator_id),2,base.locato r_id) = millpn.inventory_loca tion_id and mil.max_cubic_area > nvl(msilpn.unit_volu me,0) + (select nvl(sum(nvl(msiall.u nit_volume,0)),0) from mtl_system_items msiall, wms_license_plate_n umbers wlpnall where wlpnall.lpn_id in (select distinct wlpnall.lpn_id from mtl_onhand_quantitie s_detail moqdall, wms_license_plate_n umbers wlpnall where moqdall.locator_id = decode(mptdtv.type_ code,1,NVL(mptdtv.t o_locator_id,base.loc ator_id),2,base.locato r_id) and moqdall.lpn_id = wlpnall.lpn_id) and wlpnall.inventory_ite m_id = msiall.inventory_item _id and wlpnall.organization_ id = msiall.organization_i d)

Note that this restriction is incomplete, in that it does not yet handle the following common scenarios, though it should provide a framework for a complete restriction: Does not handle UOM conversions, in that the locator capacity or container item volume may be stored in different UOMs Does not handle if the LPN container item is null, or the container item volume is null or 0, other than treating it as a 0 volume Does not handle pending putaways that are already suggested, or loaded tasks for which a container item may have been removed but not yet dropped to the destination locator

All these limitations can be addressed by a more complete custom rule restriction. Alternatively, a much simpler custom rule restriction can be used if the restriction is instead based on just the number of LPNs in the locator under consideration, which would be reasonable if the locators (for which the rule applies) are all roughly similar in size, and the container items are similarly roughly equivalent in size. If, instead, there are several different LPN container item sizes, with different combinations of each possible in any given locator among a group of similarly sized locators, a custom user-defined table can be pre-defined to enumerate all possible combinations of container items that can fit in that

30

locator, and a custom rule restriction or even a custom PL/SQL function called by such a rule restriction can be defined to compare the LPN and locator under consideration with the current contents of the locator.

31

Seeded Picking Rules

These rules can be used as-is within a user-defined strategy. No modifications are necessary to make these rules behave as documented.
30-day range FEFO min pick task

This rule attempts to deplete locators that are almost empty, but only selecting lots with less than 30 days of life left before expiration. Because the allocation mode honors the pick unit-of-measure, the full units-of-measure of a given lot will be allocated first. The restriction on the Shelf Life Control Code ensures that this rule will only allocate items that are expiration date controlled. Note that this rule restriction ensures that only lots with at most 30 days of life remaining are allocated; implicit is the restriction that only lots that have not yet expired should be allocated. The Rules Engine will never allocate an expired lot, even if other restrictions point to only that lot.
Rule 30-day range FEFO min pick task Description Lots with less than 30 days life order to deplete locators, use pick UOM Allocation Mode: No LPN Allocation, Prioritize Pick UOM R Lot Expiration Date <= Date R AN Item Shelf Life Control <> Constant Number D S Subinventory/Locator Item on-hand quantity Ascending Absolute LIFO

Current Date 1

+30

This rule allocates the newest material first to obtain a last-in first-out allocation. Please refer to the Rules Engine chapter of the WMS Implementation Guide to understand how receipt date of an item in a locator is determined.
Rule Absolute LIFO Description Order by descending date received Allocation Mode: No LPN Allocation S Stock on-hand Receipt Date Pick Common Stock

Descending

This rule is applicable for project manufacturing organizations only. It will ensure that only material that is not stored in a project locator, or common stock, is allocated.
Rule Pick Common Stock Description Pick from non project material Allocation Mode: No LPN Allocation R Source Locator Project Identifier

IS NUL L

Rotate Stock

This rule ensures stock rotation by ordering on-hand material first by the expiration date, and then by the receipt date of that item. Note that if the item is lot controlled but not expiration date controlled, then the expiration date for all the lots will be null, and thus the second sort criteria will determine the allocation. If the item is not lot controlled, then the first sort criteria will not even be considered. If the item is lot expiration date controlled, and if a single lot is stored in multiple locators, then the second sort criteria will determine which of those locators of a given lot will be allocated first. Please refer to the Rules Engine chapter of the WMS Implementation Guide to understand how receipt date of an item in a locator is determined.
Rule Rotate Stock Description Order by expiration date and earliest date received Allocation Mode: No LPN Allocation

32

S S

Lot Stock on-hand

Expiration Date Receipt Date

Ascending Ascending

Rotate stock pick UOM

This rule is identical to the Rotate stock rule, with the exception that the allocation mode is set to honor the pick unit-of-measure before the sort criteria. Therefore, stock that can be allocated in full units-of-measure will be allocated even if it expires after (or is older than) other available material. Please refer to the Rules Engine chapter of the WMS Implementation Guide to understand how receipt date of an item in a locator is determined.
Rule Rotate stock pick UOM Description Order by expiration date and earliest date received, pick UOM Allocation Mode: No LPN Allocation, Prioritize Pick UOM S Lot Expiration Date Ascending S Stock on-hand Receipt Date Ascending Same Planning Group

This rule is applicable for project manufacturing organizations only. It will ensure that only material that is in a project locator of the same planning group as the planning group on the move order request is allocated.
Rule Same Planning Group Description Pick from the Same Planning Group as Order's Project Allocation Mode: No LPN Allocation R Source Project Planning Group = Same Project

Project stock on-hand Planning Group

This rule is applicable for project manufacturing organizations only. It will ensure that only material that is for the same project as that on the move order line is allocated.
Rule Same Project Description Pick from Same Project as on the Sales Order Line Allocation Mode: No LPN Allocation R Source Locator Project Identifier Same Project, Same Task

Source Project

Project Identifier

This rule is applicable for project manufacturing organizations only. It will ensure that only material that is for the same project and task as that on the move order line is allocated.
Rule Same Project, Same Task Description Pick from Same Project & Task as Sales Order Line Allocation Mode: No LPN Allocation, Prioritize Pick UOM R Source Locator Project Identifier = R Source Locator Task Identifier = Seeded Default pick rule

Source Project Source Project

Project Identifier Task Identifier

This rule has no restrictions and no sort criteria and is automatically assigned as the default organization picking rule when the organization is first enabled for WMS.
Rule Seeded Default pick rule Description Pick rule with no restrictions and LPN allocation disabled Allocation Mode: No LPN Allocation Serial order

This rule allocates serials in ascending alphabetical sequence. This is particularly helpful to maintain a strict FIFO order on serials, assuming that the serials were generated in this sequence. The restriction on the Serial Generation Code ensures that this rule will only allocate items that are serial

33

controlled. Note that for this rule to allocate particular serials, serial allocation must be enabled for the organization.
Rule Serial order Description Order by ascending alphabetical order on serials Allocation Mode: No LPN Allocation R Item Serial Generation Code R OR Item Serial Generation Code S Serial Number Serial Number Single lot, pick UOM

= =

Constant Number Constant Number Ascending

2 5

This rule ensures that only a single lot is allocated for the entire allocation. If no single lot has enough quantity available, then no allocation will be made. The allocation mode indicates that pick unit-ofmeasure should be honored before sort criteria, so ff all the lots that are available to be allocated, those that can be allocated in complete units of measure will be allocated first. If there are multiple lots that can meet the entire allocation, and be allocated honoring pick unit-of-measure, then those that expire first or have the oldest receipt date will be allocated first. Please refer to the Rules Engine chapter of the WMS Implementation Guide to understand how receipt date of an item in a locator is determined.
Rule Single lot, pick UOM Description Consistent lot, FEFO/FIFO pick UOM Allocation Mode: No LPN Allocation, Prioritize Pick UOM S Lot Expiration Date S Stock on-hand Receipt Date C Lot Lot Number

Ascending Ascending

34

Seeded Picking Strategies

These strategies can be used as-is within a strategy assignment. No modifications are necessary to make these strategies behave as documented. All seeded strategies allow partial success within the rules.
30-day range FEFO

This strategy uses a single seeded rule that attempts to deplete locators that are almost empty, but only selecting lots with less than 30 days of life left before expiration. Because the allocation mode honors the pick unit-of-measure, the full units-of-measure of a given lot will be allocated first. The restriction on the Shelf Life Control Code ensures that this rule will only allocate items that are expiration date controlled.
Strategy 30-day range FEFO Description Lots with less than 30 days life Rule 30-day range FEFO min pick task: Always Allocation Mode: No LPN Allocation, Prioritize Pick UOM R R AN D S Prefer single lot Lot Item Expiration Date Shelf Life Control <= <> Date Constant Number Ascending Current Date 1 +30

Subinventory/Locator Item on-hand quantity

This strategy uses two seeded picking rules, both with the allocation mode set to honor pick UOM above sort criteria. This strategy could be used for customers that prefer, but do not require, that an order be fulfilled from a single lot. Because pick UOM is enabled for both rules, this will additionally minimize the number of picks, assuming that material is stored in standard pack sizes across locators. Note that pick UOM always groups on-hand quantities by locator, revision, and lot before determining if entire units-of-measure are available to allocate. That means that if an entire UOM is available only after aggregating the quantity across lots, that quantity will not be considered a full unit. If mixed lots are common, and the material is stored in an LPN, a more efficient (in terms of warehouse operations) allocation might result if the allocation mode were set to Allocate Entire LPN Only instead of No LPN Allocation, Prioritize Pick UOM.
Strategy Prefer single lot Description Allocate single lot if possible, multiple lots if necessary, pick UOM Rule Single lot, pick UOM: Always Allocation Mode: No LPN Allocation, Prioritize Pick UOM S Lot Expiration Date Ascending S Stock on-hand Receipt Date Ascending C Lot Lot Number Rule Rotate stock pick UOM: Always Allocation Mode: No LPN Allocation, Prioritize Pick UOM S Lot Expiration Date Ascending S Stock on-hand Receipt Date Ascending Project Manufacturing Allocation Preferences

This strategy uses five seeded picking rules to model common requirements of a project manufacturing organization. The strategy is automatically assigned to the organization when an organization is enabled for both WMS and PJM. Note that this means that a picking strategy search order, with the source organization as the only object, is also defined when an organization is both WMS and PJM enabled. The strategy attempts to allocate first the most specific material for a

35

particular project and task, gradually loosening the restrictions, finally allocating any material if necessary. It behaves as follows: 1. Allocate material from the same project and task 2. Allocate material from the same project 3. Allocate material that is not stocked for any particular project (Common stock) 4. Allocate material from the same planning group 5. Allocate any material The last rules may be too generic for some organizations, but a copy of the strategy can be made, and then that copy modified by removing or modifying the last rule. The rule is defined as follows.
Strategy Project Manufacturing Allocation Preferences Description Prefer same task, then project, then planning group, then common, then anything Rule Same Project, Same Task: Always Allocation Mode: No LPN Allocation R Source Locator Project Identifier = Source Project Project Identifier R Source Locator Task Identifier = Source Project Task Identifier Rule Same Project: Always Allocation Mode: No LPN Allocation R Source Locator Project Identifier = Source Project Project Identifier Rule Pick Common Stock: Always Allocation Mode: No LPN Allocation R Source Locator Project Identifier IS NUL L Rule Same Planning Group: Always Allocation Mode: No LPN Allocation R Source Project Planning Group = Project stock on-hand Planning Group Rule Seeded Default pick rule: Always Allocation Mode: No LPN Allocation Rotate stock

This strategy uses a single seeded rule that ensures stock is rotated. It prioritizes stock rotation above pick unit-of-measure.
Strategy Rotate stock Description Order by expiration date and earliest date received Rule Rotate stock: Always Allocation Mode: No LPN Allocation S Lot Expiration Date S Stock on-hand Receipt Date Rotate stock, pick UOM

Ascending Ascending

This strategy uses a single seeded rule that ensures stock is rotated. It prioritizes full units-of-measure above stock rotation, however, to maximize warehouse efficiency.
Strategy Rotate stock, pick UOM Description Order by expiration date and earliest date received, pick UOM Rotate stock pick UOM: Always Allocation Mode: No LPN Allocation, Prioritize Pick UOM S Lot Expiration Date Ascending S Stock on-hand Receipt Date Ascending

36

Additional Picking Rules

More complex picking 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.
30-days minimum life remaining

Some customers may have requirements on material that is expiration date controlled so that only items with at least 30 days of life remaining can be picked. Note that an implicit restriction encoded in the Rules Engine is that only lots that have not yet expired will be allocated. This rule ensures that, for lot controlled material that is expiration date controlled, only lots with at least 30 days of life remaining will be allocated. The sort criteria allocates the lots that expire earlier first.
Rule 30-days minimum life remaining, FEFO Description Allocate only lots with at least 30 days of life remaining in FEFO order Allocation Mode: No LPN Allocation R Item Shelf Life Code <> Constant Number R AN Lot Expiration Date > Date D S Lot Expiration Date Ascending

1 Current Date

+30

Only expiration date controlled items with an expiration date greater than thirty days in the future, or non-expiration date controlled items, pass the restrictions. Shelf life code definitions can be found in the Inventory Technical Reference Manual.
Avoid nested license plates

License plates can be nested an arbitrary number of levels deep, and the mobile pages support picking an innermost LPN that is nested inside other LPNs. However, some warehouses may wish to avoid allocating LPNs that are nested inside other LPNs; this can be accomplished by two rule restrictions. The first rule restriction ensures that only innermost LPNs are being considered for allocation. That is, in a multi-level LPN, the parent LPNs may also contain items; this ensures that those outer LPNs with items are not considered. Suppose LPN A were nested inside LPN B, but both LPNs had immediate contents. This restriction forces the Rules Engine to consider only LPN A, thus ensuring that the LPN being allocated is the innermost LPN. However, this does not mean that the LPN is not nested inside other LPNs. The second restriction ensures that the LPN being allocated is not nested inside another LPN. With this restriction alone, LPN B above would be acceptable, but LPN A would not be allocated. These two restrictions together ensure that only single level LPNs are allocated by the Rules Engine. Note that this is different from the allocation mode Allocate Entire LPN Only, because this can still allocate partial LPNs; it only adds the requirement that those LPNs not be nested.
Rule Avoid allocating nested license plates

37

Description Allocate only innermost LPNs that are not nested Allocation Mode: Allocate LPN and Loose R License Plate Nested Level R AN License Plate License Plate D Identifier

= =

Constant Number License Plate

1 Parent License Plate Identifier

Note that loose material will not be allocated with this rule because the nested level of loose material is not 1. Alternatively, this rule could be used with the allocation mode Allocate Entire LPN Only to best optimize picking efficiency, if LPNs are homogeneous.
Best fit lot selection

In manufacturing environments with a high degree of variability, there may be the requirement to select the best lot among all the lots on-hand so that the entire demand is fulfilled by a single lot, but yet the smallest lot among all those that can completely fill the demand is selected. For instance, a manufacturer may have the following needs: allocate fabric dye lots to jobs with the smallest single lot that meets the entire requested quantity. This can be modeled with the simple rule as follows:
Rule Allocate smallest possible lot that is big enough Description Allocate only a single lot using consistency restrictions but select the smallest among them Allocation Mode: Allocate LPN and Loose S Stock on-hand Direct ATT/ATR Ascending Quantity C Lot Lot Number

The consistency requirement indicates that only allocations that can be made with a single lot number should be considered, while the sort criteria indicates that among those lots that can meet the consistency requirement, allocate the smallest ones first. The sort criteria applies to the stock on-hand of the locator currently under consideration first, so if you have a lot number split into multiple locations, the sort criteria will not behave quite as expected. For instance, suppose there were the following quantities on-hand and available: Lot
A A B

Loc
1 2 1

Qty
10 15 20

For a requested quantity of 18, both lots have sufficient quantity to meet the consistency restriction, yet lot B is likely the desired lot because it has an available quantity of 20, while lot A has quantity 25. But because the sort criteria sequences by ascending on-hand among the locator on-hand, lot A in locator 1, and thus all of lot A, will be considered first. This problem can be addressed in one of two ways. First, the business processes in place can ensure that the lot exists in only one locator. Afterall, if that lot should not be broken up in allocation, it may also be difficult to break it up during moves and transfers. Alternatively, if this is too heavy-handed, or the controls cannot be easily put in place to make this limitation, another consistency restriction can be added to the rule as follows:
Rule Allocate smallest possible lot that is big enough Description Allocate only a single lot using consistency restrictions but select the smallest among them Allocation Mode: Allocate LPN and Loose S Stock on-hand Direct ATT/ATR Ascending Quantity C Lot Lot Number C Source Locator Locator Identifier

38

This will consider each lot in each locator distinctly. Thus, lot A / loc 1 has only 10 available, and so is not large enough for the requested quantity of 18. Similarly, lot A / loc 2 is excluded, and only lot B, all in loc 1, is allocated. But this raises another issue. The requested quantity is 18, and the available quantity is 20. As of 11i10, the Rules Engine cannot overallocate, so a quantity of 2 of lot B will be left unallocated and available. A subsequent allocation might consider this quantity, even though the lot may likely be unable to be easily split outside the manufacturing floor. Instead, the whole quantity must be excluded from subsequent allocations. Though there is no easy way to make that remaining quantity of 2 unavailable, a special rule restriction can instead be used to only consider lots where the entire quantity of that lot is available to avoid stealing from lots that are partially allocated.
Rule Allocate smallest possible lot that is big enough Description Allocate only a single lot using consistency restrictions but select the smallest among them Allocation Mode: Allocate LPN and Loose R Stock on-hand Direct ATT/ATR = Subinventory/Locator Actual Item On-Hand Quantity / Txn UOM S Stock on-hand Direct ATT/ATR Ascending Quantity C Lot Lot Number C Source Locator Locator Identifier

The first restriction will exclude any lot where the available quantity of the lot is not equal to the onhand quantity of the lot, so that in the time gap during which that 18 is allocated but not yet transacted, a subsequent allocation will not consider the unallocated quantity of 2 of lot B in locator 1. However, as soon as the transaction is completed, the on-hand in the locator is updated to 2, so that quantity will be considered available; this last problem can be avoided by using the overpicking features available as of 11i10 to pick the entire lot quantity of 20, instead of just the allocated quantity of 18. The excess quantity of 2 can either be returned after it is cut off in the manufacturing process, or it may just be wholly consumed by the job.
Clean near-empty locators

After an item has been stocked for a long period, it may tend to be fragmented across the entire warehouse. Several locators may have full pallets of the item, while other locators may be close to empty. By using this rule, or a variation of it, the warehouse can quickly eliminate or clean up these near-empty locators. However, this means that operators may be given several small picking tasks to accomplish what could otherwise be done in a single task from a single locator. This rule does almost the exact opposite of the single locator picking rule. A variation of this rule might be used during slower periods to maximize storage efficiency, while a variation of the single locator rule might be used during high velocity periods to maximize operator efficiency.
Rule Clean near-empty locators; locators closest to empty of required item allocated first Description Allocate from locators that are almost empty of the selected item Allocation Mode: No LPN Allocation S Subinventory/Locator Item on-hand quantity Ascending

This locator will allocate from locators that are almost empty of the item being allocated. Note that the locator may be storing multiple items, however. This does not mean that the locator closest to being completely emptied will be allocated first, only the locator that is closest to being emptied of the item currently being allocated. If, instead, locators that are closest to empty of all items should be allocated first, a slightly different sort criteria should be used:
Rule Clean near-empty locators; locators closest to empty of all items allocated first Description Allocate from locators that are almost empty of all items

39

Allocation Mode: No LPN Allocation S Subinventory/Locator On-hand quantity Customer specific packaging selection

Ascending

A particular item may be stored in several different configurations in the warehouse using different packaging materials. WMS models the packaging material by assigning an item (container item) to the license plate. The assignment can be systematic as part of a cartonization process, or manual via directly updating the LPN details. If an item is typically stored in multiple packaging configurations, the Rules Engine can take advantage of this by allocating the LPN with the packaging that most closely matches the customers requirements. For instance, there might be three different sizes of container items a particular item is stored in, BOXL, BOXM, and BOXS. Acme Industries, requires that only container items of type BOXM be shipped. The following rule will ensure that only full BOXM license plates get allocated for this customer.
Rule Only BOXM container items will be allocated for Acme Industries Description Allocate only full LPNs with container item BOXM for Acme Industries Allocation Mode: Allocate Entire LPN Only R Customers Customer Name = Constant Character R AN Container Item Item = Constant Character D

Acme Industries BOXM

The Allocate Entire LPN Only allocation mode is important here, because if an LPN is only partially allocated to a requirement, then as part of the picking process, the material being picked is unpacked from that license plate and placed in a new license plate or tote. The LPN which lead to that material being selected in the first place is thus lost. Note that this rule might allocate entire LPNs that are nested inside outer LPNs, but that the operator will still be able to pick these LPNs without repackaging. This rule would likely be part of a larger strategy that would allocate other container items or loose or partial LPNs so that the customer order does not get backordered in the absence of a match to the customers requirements. Because the specific item or item category that requires this packaging is not included in the rule restrictions, the strategy would likely be assigned to those items or item categories. Of course, manual processes must be in place to repackage any items that are not picked as required by the customer; this rule simply allows any pre-existing packaging to be best leveraged for customer requirements. A similar rule can also be used to select container items specific for the shipping method on the sales order. The rule could also be based on license plate weight or volume, rather than packaging type, so that only LPNs under a certain weight limit are picked for a particular customer or shipping method. Again, the Rules Engine is being used to select from license plates that are already packed; it is not being used to create the packaging in the warehouse. Also important to note is that the Rules Engine will not validate that additional system or manual processes after allocation did not change the way the material is packed; the business processes for staging, consolidation, and shipping activities must therefore maintain any customer specific packaging.
Dynamic slotting picking

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

40

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. Once this initial setup has been performed, putaway rules can be defined that place items into locators with matching classifications. However, as the classifications change, some items may be left in locators that are not optimal. The items left in these sub-optimal locators can be allocated first, for any move order, including sales order staging tasks. Or perhaps to maximize warehouse efficiency, items in sub-optimal locators should be allocated only for requisition move orders, so that a warehouse manager can create mass move requests on the Material Workbench to re-slot items, but they should not be allocated for picking tasks. Finally, perhaps the items in the sub-optimal locators should be allocated for sales orders, but only if there is no material in the preferred locators. The following rule will allocate only items that are stored in locators with ABC classifications that differ from the items current classification. 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.
Rule Pick only items stored in incorrect locators based on ABC classifications Description Pick only items stored in different ABC classifications than that of locator from group id 23 Allocation Mode: No LPN Allocation R Source 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= mptdtv.inventory_ite m_id and maa.assignment_grou p_id = 23

By changing the operator in the first restriction to equals (=) from not equals (<>), the rule logic can be reversed, and only those items stored in locators with matching classifications will be allocated. Then, with these two rules, strategies that allocate only correctly stored items, only incorrectly stored items, or both but with a preference given to one or the other, can be built. An organization might use multiple variations of the strategy, as follows. To pick items for sales order staging, items stored correctly are preferred, but other material will be allocated if necessary. For requisition move orders, however, only incorrectly stored material will be allocated, as this will allow the warehouse to be re-slotted. Of course, this means that mass moves must be created on the

41

desktop for all items that may be potentially slotted incorrectly. Instead, an organization may always prefer to empty locators with incorrectly slotted material first. Additional restrictions or sort criteria can be added to these rule, so that locators almost empty will be picked up first, only locators that have enough material for the entire task will be selected, or to limit dynamic slotting to particular subinventories. Note that any locator with a null value for the descriptive flexfield attribute will not be selected for picking by these rules. 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.
Eliminate locator congestion

Some locators, due to the equipment necessary to pick or putaway material to access them, may only be able to accommodate a single task at a time. For instance, in an outdoor yard where delivery trucks load the items directly to the truck bed from the locator, only one truck can be in front of a locator at a time. This rule will avoid allocating from any locator that already has a pending transaction. The rule can be made less restrictive so that only pending picking tasks (rather than any pending transaction) are used to exclude locators from consideration. Also, pending tasks for the same order or delivery can also be ignored, so that, for instance, a sales order that included multiple lines of the same delivery could be picked from a single locator. Nonetheless, rules of this type should be used only in very limited situations because as soon as a pick release (or another process) makes a single allocation from a locator, the locator will not be allocated from again until that task is pick confirmed. The shorter the time between pick release and pick confirm, the more closely this rule meets the business requirement of locking down locators actively used in picking. The longer the time lag until pick confirm, the more restrictive and less useful this rule becomes. Therefore, this rule could be very useful if sales orders are released individually, as trucks pull into the yard; combined with order picking pick methodology, this can yield a very efficient business process. In addition, this rule will be exceedingly slow for any warehouse that has many records in the table MTL_MATERIAL_TRANSACTIONS_TEMP, because a full table scan of all pending transactions is required for each locator that is evaluated. The following rule allocates only from locators that do not have pending transactions.
Rule Allocate only from locators without pending picking transactions Description Allocate only from locators that are not in MTL_MATERIAL_TRANSACTIONS_TEMP as LOCATOR_ID Allocation Mode: No LPN Allocation R Source Locator Locator Identifier NOT Expression Select locator_id IN from mtl_material_transact ions_temp mmtt where mmtt.organization_id = base.organization_id

The destination locator of the pending transactions can also be verified by adding another restriction, so that a locator can be excluded for material allocations if there are any pending picks or putaways to that locator. Variations of this rule can lock an entire rack of shelving, or perhaps even an entire aisle. However, it must be emphasized that this rule prevents a locator from being considered for allocation

42

if there are any pending transactions for that locator, not just during when a task is being actively performed.
Integer quantities only

Sometimes, due to prior order quantities, locators may be left with non-integer quantities. While this left over dust may still have value, for picking efficiency it may be desirable to avoid allocating non-integer quantities as much as possible. Depending on exactly what is required from the rule, this may be possible with a custom rule restriction, or this may require a custom rule. Specifically, the Rules Engine will only come back with a non-integer suggestion if either the requested quantity were non-integer, or the locator availability were non-integer; the Rules Engine will not arbitrarily break a pick otherwise. (One other condition that might cause a non-integer pick allocation is non-integer locator capacity availability in the destination locator). It may not be easy to address the former condition that is, the requested quantity must be integer in the Rules Engine because, of course, by the time it gets to the Rules Engine, the requested quantity has already been entered and cannot be changed by the Rules Engine. It is possible to write a custom rule to truncate the requested quantity, so that an order for 18.8 is treated as a requested quantity of 18, for instance. Or a custom rule restriction could be written to just simply fully backorder any non-integer requested quantity, though that may be overly restrictive. Rather, the custom rule below will address the other potential source of non-integer allocations by excluding from consideration any locator with a non-integer available quantity. That is, a locator with quantity of 19.5 available will not be considered by the following rule. Again, this may be overly restrictive; a customized avaialble quantity function can be used to truncate the available quantity, rather than to completely exclude locators with non-integer quantities.
Rule Allocate only from locators with an integer quantity Description Exclude from consideration any locators with a non-integer quantity to maximimize likelihood of integer allocations Allocation Mode: No LPN Allocation R Subinventory/Locator Item on-hand Qty = Expression floor(wms_parameter _pvt.GetItemOnHand (base.organization_id, base.inventory_item_ id,base.subinventory_ code,base.locator_id, msi.primary_uom_co de,mptdtv.transaction _uom,base.locator_in ventory_item_id,base. location_current_unit s))

Also, note that this rule restriction excludes locators where the on-hand is non-integer, when instead what is desired is to exclude locators where the available is non-integer. This difference can be addressed by modifying the custom expression so that it references available quantity instead of onhand, but if all allocations are done using this rule (and no non-integer reservations are made), then checking integrality of available vs. on-hand is identical.
Latest revision

A warehouse may have inventory of several different revisions of an item. Though typically, different revisions are interchangeable because they have the same form, fit, and function, some customers may demand that only the latest revision be shipped to them. This can also be used for component picking for manufacturing to ensure that only the current revision is used in particular jobs.

43

While numeric (1, 2, 3, ), alpha (A, B, C, ) or alphanumeric (A1, A2, A3, ) revision codes can be used to define the different revisions in an organization, Oracle requires that revisions be numbered in strictly ascending sequence. For instance, if both revision B and C are defined for an item, than C must have been effective after B. The rule relies on this logic by comparing the revision on the potential allocations to the maximum implemented revision defined for the item. Of course, an additional restriction has been added to ensure that this rule only is applied to items that are revision controlled.
Rule Allocate only latest revision Description Only the latest revision of a revision controlled item will be allocated Allocation Mode: No LPN Allocation R Item Revision Control = Constant number Code R AN Revision Revision Code = Expression D

2 Select max(mirexp.revision) from mtl_item_revisions mirexp where mirexp.organization_i d= base.ORGANIZATI ON_ID and mirexp.inventory_ite m_id = base.INVENTORY_I TEM_ID and mirexp.effectivity_da te <= sysdate

Rules based on the effective date of the revision can also be defined so that, for instance, only revisions that were first effective within the last thirty days are allocated. If many design changes are implemented resulting in many revisions, a warehouse may want to try to clean out recent revisions but avoid shipping particularly old material to a customer.
Rule Allocate only revisions that were first effective within the last thirty days Description Only allocate revisions with an effectivity date within thirty days of the present date Allocation Mode: No LPN Allocation R Item Revision Control = Constant number 2 Code R AN Revision Effective Date > Date Current Date D R AN Revision Effective Date <= Date Current Date D

-30

Note that this means that if the current revision was made first effective greater than thirty days ago, it will not be allocated. Therefore, it would more typically be combined with the rule above, as follows:
Rule Allocate the current revision or revisions that were first effective within the last thirty days Description Allocate the current revision or revisions with an effectivity date within thirty days of the present date Allocation Mode: No LPN Allocation R Item Revision Control = Constant number 2 Code R AN ( Revision Effective Date > Date Current Date -30 D ( R AN Revision Effective Date < Date Current Date ) D R OR Revision Revision Code = Expression Select ) max(mirexp.revision) from mtl_item_revisions mirexp where mirexp.organization_i d= base.ORGANIZATI ON_ID and mirexp.inventory_ite

44

m_id = base.INVENTORY_I TEM_ID and mirexp.effectivity_da te <= sysdate Lot attribute picking

Material allocation by lot attribute is a powerful feature of the Rules Engine. The lot attributes stored in each column depend on the context mapping of the item or item category. There are two approaches to ensure that the rules will not return unexpected results for items with different context mapping, which can be used together or separately. First, strategies specific to a particular context mapping can be assigned only to those items or item categories with that context mapping. Second, strategies with many layers of rules, or rules with many different clauses, each rule or clause specific to a context mapping, can be used. The first approach is preferred because the Rules Engine can perform faster on a deep strategy search order than a deep strategy. However, a restriction to ensure that the proper context is used can be embedded in the rule. This is particularly helpful because some items within an item category may be assigned to different contexts. By including the lot context in the rule definition, unexpected results are prevented. Suppose the context called SEMICON used two lot attributes as follows: Character Attribute1: fab site Character Attribute2: country of origin

A customer, Acme Industries, has placed restrictions on fab site and country of origin as follows. This customer will not accept lots manufactured at fab site FST, and the customer requires that the country of origin be USA, PRC, or THA. Then the complete rule that enforces this restriction is as follows, assuming that LPN allocation and pick UOM is not enabled:
Rule Acme SEMICON rule excluding FST and including USA, PRC, THA Description Allocate only lots where fab site not FST and country of origin is USA, PRC, or THA Allocation Mode: No LPN Allocation R Lot Character Attribute1 <> Constant Character FST R AN ( Lot Character Attribute2 = Constant Character USA D R OR Lot Character Attribute2 = Constant Character PRC R OR Lot Character Attribute2 = Constant Character THA R AN Lot Context Name = Constant Character SEMICON D

Alternatively, rather than maintaining the rules directly, value sets can be defined for each customer. For instance, two value sets can be defined for this customer, say, Acme Valid CoO for SEMICON, and Acme Valid Fab for SEMICON. The first value set would contain USA, PRC, and THA, while the second value set would contain all fab sites other than FST. Then the following, more easily maintained, rule can be built. Specifically, every change in the customers requirements does not require the rule to be unassigned from the strategy, disabled, modified, re-enabled, and then reassigned; changes can be enacted simply by modifying the value set.
Rule Customer SEMICON rule including approved country of origin and fab sites Description Allocate only lots where fab site and country of origin in pre-defined value sets Allocation Mode: No LPN Allocation R Lot Character Attribute1 IN Value set R AN D R AN Lot Lot Character Attribute1 IN Context Name = Value set Constant Character

Acme Valid Fab for SEMICON Acme Valid CoO for SEMICON SEMICON

45

There are several additional advantages of using Value Sets beyond simplifying rule setup. Each value in a value set can be easily enabled and disabled with a single flag, and can also have an independent start and end date. This allows a customer to indicate to customer service how their preferences will change over time. For instance, due to pending legislation, Acme expects to be able to use semiconductors from Taiwan, but only beginning in January of the following year. By using rules based on value sets, these requirements can be easily modeled. The allocation mode Allocate Entire LPN Only might be particularly useful in rules of this type, particularly if a single LPN stores multiple lots with different attributes. In this way, the system will create tasks that best leverage the way the material is already stored. Furthermore, an organization may have logic as follows to make sure as much material as possible is allocated for a customer. First, allocate entire LPNs that match all the lot restrictions If necessary, allocate loose material from a separate loose / broken case subinventory If requirement still not completely fulfilled, break open a case to allocate material. A manual process should be in place to move this broken case to the loose / broken case subinventory from the full case subinventory.

Assuming the value sets above have been defined, and subinventories named CASE and EACH, that logic can be built by a three-rule strategy as follows. Note the different allocation modes for each of the three rules.
Strategy Honoring customer restrictions for SEMICON, allocate full cases, then loose, and finally break a case if necessary Description Customer SEMICON rule including on approved CoO and fab sites, allocating full cases, loose, and break case Rule Allocate only full LPNs where fab site and country of origin on lot in pre-defined value sets from CASE Allocation Mode: Allocate Entire LPN R Lot Character Attribute1 IN Value set Acme Valid Fab for SEMICON R AN Lot Character Attribute1 IN Value set Acme Valid CoO for D SEMICON R AN Lot Context Name = Constant Character SEMICON D R AN Source Subinventory Subinventory Name = Constant Character CASE D Rule Allocate only full LPNs where fab site and country of origin on lot in pre-defined value sets from CASE Allocation Mode: No LPN Allocation R Lot Character Attribute1 IN Value set Acme Valid Fab for SEMICON R AN Lot Character Attribute1 IN Value set Acme Valid CoO for D SEMICON R AN Lot Context Name = Constant Character SEMICON D R AN Source Subinventory Subinventory Name = Constant Character EACH D Rule Allocate only full LPNs where fab site and country of origin on lot in pre-defined value sets from CASE Allocation Mode: Allocate LPN or Loose R Lot Character Attribute1 IN Value set Acme Valid Fab for SEMICON R AN Lot Character Attribute1 IN Value set Acme Valid CoO for D SEMICON R AN Lot Context Name = Constant Character SEMICON D R AN Source Subinventory Subinventory Name = Constant Character CASE D

Note the maintenance advantage of using value sets for setting up the allocation rules for this customer. Even though three separate rules are required in order to model Acmes requirements (and the warehouse business processes), if the customers requirements change, only the value sets need to be updated.
46

Prevent weekend shipments of perishable goods

Some goods require refrigerated or other special storage and may perish very quickly in the absence of this storage. An organization may not wish to ship perishable goods over the weekend because they know that the goods will just sit on the dock of the receiving organization without getting the proper handling and storage. This requirement can be handled by using effective dates within the Rules Engine to backorder the applicable sales order lines whenever they are pick released in that time window. Note that this will not prevent tasks from being released on, say, Friday from being performed and shipped on Saturday, only that new tasks will not be created during the weekend. The following strategy will not allocate any items in this category on the weekend. During the rest of the week, the material will be allocated in a FIFO basis, based on the receipt date. This strategy can then be assigned to the applicable category or item.
Strategy Do not allocate material during the weekend Strategy Allocate FIFO for Monday Friday, but do not allocate any material on the weekend Rule Allocate FIFO: Day (Monday - Friday) S Stock on-hand Receipt Date Ascending

Because there is no rule in the strategy that is applicable during the weekend, this strategy will not allocate any material during the weekend. Recall that, once a matching strategy is found, the Rules Engine never attempts to find another strategy, even if the strategy has no currently effective rules. Also, note that if this strategy is assigned to an item category, then that category will not be able to be allocated for any move order, including replenishment or put away, during the weekend. The rule can be made more restrictive by transaction type by including additional restrictions in the body of the rule.
Serial for sales order

Particular serial numbers may be required for some sales orders. The Rules Engine, combined with serial attributes and serial allocation, can be used to ensure that specific serial numbers are picked up for those sales orders. For instance, when serialized items are initially received, the receiver knows which sales order the item will be shipped for. A numeric serial attribute, for example named Order Number, can be defined and assigned to the item or item category of these serial items. For the example rule, Order Number is defined as part of the ORDER serial context. Then, whenever a new serial is received, the sales order number can be entered on the mobile device. Alternatively, the serial number can be entered on the desktop at some point after the item is received. For the system to allocate a particular serial number, the organization parameter Allocate Serial Numbers must be enabled. If this parameter is not enabled, the system will direct the operator to the correct location, but will not indicate a specific serial to the operator.
Rule Serial attribute Order Number equal to sales order number Description Allocate serials where the order number attribute on the serial number matches the sales order number Allocation Mode: No LPN Allocation R Serial Number Number Attribute1 = Sales Order Header Order Number R AN Serial Number Context Name = Constant Character ORDER D R AN Item Serial Generation IN Expression 2, 5 D Code

47

Note that the context name is included in the rule restrictions to ensure that this rule is only used to allocate serials where the column identified by Number Attribute1 corresponds to an Order Number. Restrictions ensuring that this rule is applicable only for serialized items have also been included. While the rule as documented does not allocate to the license plate level, if these serial numbers are packed in LPNs, the picking process will be greatly simplified by enabling LPN allocation; this will display to the operator the specific LPN in which the allocated serial resides, rather than requiring the operator to search all LPNs in the suggested locator or rely on list of values on the mobile Pick Load page. Depending on the way in which serials should be set aside for sales orders, this rule might be one of several in a strategy. A subsequent rule may indicate that if a serial matching the sales order number cannot be found, then a serial number not set aside for any sales order (null attribute value) should be used. Or perhaps the absence of a serial matching the sales order means that the sales order line should be backordered.
Single locator

For warehouse efficiency, a warehouse manager may want all material for a requirement to be fulfilled from a single locator. This means that a single operator can fulfill the move order in a single task. Note that multiple revisions are always split into multiple tasks, even if from the same locator. This rule does almost the exact opposite of the rule that cleans near-empty locators. A variation of this rule might be used during high velocity periods to maximize operator efficiency, while a variation of the pick to clean rule might be used during slower periods to maximize storage efficiency.
Rule Single locator allocation Description Allocate only from a locator where the entire allocation can be fulfilled Allocation Mode: No LPN Allocation C Source Locator Locator Identifier

This rule would likely be followed by additional rules that would loosen the requirement on single locator, so that move order lines would be allocated even if a single locator cannot fulfill the allocation. Also, additional restrictions or sort criteria would also likely be part of the rule. For instance, a sort criteria that sorted by the smallest quantity on-hand in a locator might be helpful, essentially turning this rule into a best fit rule, as follows:
Rule Best fitting single locator allocation Description Allocate only from a locator where the entire allocation can be fulfilled Allocation Mode: No LPN Allocation S Subinventory/Locator Item on-hand quantity Ascending C Source Locator Locator Identifier

In order to ensure a single task, the allocation mode be set to No LPN Allocation, because otherwise, if multiple LPNs are allocated, multiple tasks will be created. Alternatively, LPN allocation could be enabled with the allocation mode Allocate LPN and Loose, if desired. Note that the allocation mode Allocate Entire LPN Only should not be used with consistency restrictions, except in very limited situations, because the likelihood that the entire allocation will be fulfilled (which is required by a consistency requirement) by the match of entire LPNs that the system finds is small, so the allocation would likely be backordered.

48

Task Type Rules

Task type rules are not seeded because the return value is not known and logic required for task type rules is typically simpler, but more warehouse specific than that required for picking or putaway rules. The examples documented here should be used as guidelines in defining new rules, and can be particularly helpful in modeling any 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. Also, the task type (return value) will not be indicated on any of these rules because those are always implementation specific. Please be sure to use data specific to the warehouse when defining rules.
High reach forklift

Special equipment may be required to access the top racks in a warehouse. For instance, if a warehouse has five levels of racking in its warehouse, the following rule ensures that material movements that access the top two racks (racks 4 and 5) get assigned to a special task type.
Rule Picks from top two racks require high reach forklift Description Picks from racks 4 and 5 require high reach forklift with task type XXXX R Source Locator Rack >= Constant Number R OR Destination Locator Rack >= Constant Number 4 4

This rule definition assumes that Rack has been defined as one of the segments on the locator key flexfield, and thus is available in the list of values as a parameter.
Subinventory based task types

Task types may be assigned based on the subinventory from which the material is allocated. For instance, all picks from the bulk storage area require a task type that has a forklift and an operator qualified to use that forklift. The following rule models this basic requirement, for subinventory BULK.
Rule Picks from BULK subinventory get task type XXXX Description All picks from subinventory BULK assigned to task type XXXX R Source Subinventory Subinventory Name = Constant Character Weight based task types BULK

Different material handling equipment, and thus different task types, may be required based on the weight of a particular task. Standard functionality of the Oracle WMS will split tasks based on the weight capacity of the task type in comparison to the weight of the total task. However, this splitting process is performed after the task type is assigned. Instead, the task type may be assigned based on the weight of the task (prior to splitting). For instance, suppose a particular type of forklift has a capacity of 3000 pounds, while another forklift, which requires special training and thus different operators as well, has a capacity of 6000 pounds. The following rule will ensure that any task greater than 3000 pounds, but less than 6000 pounds, gets assigned to a particular task type.
Rule Tasks between 3000 and 6000 pounds get task type XXXX Description Tasks weighing more than 3000 pounds and less than 6000 pounds get task type XXXX R Warehouse Task Transaction Quantity > Expression inv_convert.inv_um_ convert(msi.inventory _item_id,null,1,msi.pr imary_uom_code,mm tt.transaction_uom,nu

49

R AN D

Warehouse Task

Transaction Quantity <=

Expression

R AN D

Item

Item Identifier

Item

ll,null)*3000/inv_con vert.inv_um_convert( msi.inventory_item_i d,null,msi.unit_weigh t,msi.weight_uom_co de,'Lbs',null,null) inv_convert.inv_um_ convert(msi.inventory _item_id,null,1,msi.pr imary_uom_code,mm tt.transaction_uom,nu ll,null)*6000/inv_con vert.inv_um_convert( msi.inventory_item_i d,null,msi.unit_weigh t,msi.weight_uom_co de,'Lbs',null,null) Item Identifier

The expression is necessary to perform two unit-of-measure conversions. The first conversion is between the item weight and the equipment capacity. For instance, the item weight might be defined as 30 kilograms, which would then be converted to pounds for comparison with the equipment capacity. The second conversion is between the transaction quantity and the primary quantity, as the task may be in, say, dozens, though the primary unit-of-measure is eaches. The third 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.

50

Cost Group Rules

Cost group rules are not seeded because the return value is not known and logic required for cost group rules is typically simpler, but more warehouse specific than that required for picking or putaway rules. The examples documented here should be used as guidelines in defining new rules, and can be particularly helpful in modeling any 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. Also, the cost group (return value) will not be indicated on any of these rules because those are always implementation specific. Please be sure to use data specific to the warehouse when defining rules.
Account alias based assignment

The account alias on alias receipt transactions can determine the cost group to assign. The account alias can be defaulted on the mobile device using form function parameters. Furthermore, by defining different application menus and form names for different operators, different account aliases can be made available to different roles. For instance, one operator might have access to a form to perform only receipts from engineering, while another operator may have access to perform only receipts for another purpose. Different cost groups can be automatically assigned to these transactions based on the account alias that is indicated on the transaction. In the following rule, receipts from account alias ENGR are assigned to a particular cost group. Note that as the account alias is a flexfield, the cost group assignment logic can be based on any segment in the structure.
Rule Account alias ENGR receipts get cost group XXXX Description Assign cost group XXXX to items received using account alias ENGR R Account Alias Segment1 = Constant Character Category based cost group assignment ENGR

Category based cost group assignment is one of the most frequently used way to assign cost groups. For instance, components that will be used in manufacturing can be assigned to a different cost group than finished goods inventory. This type of rule allows a different cost group to be assigned based on the category and category set an item is assigned. Suppose a particular cost group is to be assigned when the category MISC within the category set Item Type is assigned to an item.
Rule Items in category MISC within category set Item Type get cost group XXXX Description Assign cost group XXXX to items in category set Item Type / category code MISC R Category Segment1 = Constant Character MISC R AN Category Set Category Set Name = Constant Character Item Type D

Category sets can have different flexfield structures. In this example, the category set Item Type has a single segment structure. However, multiple segments are possible, and each segment can be directly specified in the rule restrictions. This means that a cost group assignment could be based on any segment, or combination of segments, of the category.
Non-standard job completion

Non-standard jobs are often used for refurbishing or reworking material, or for de-kitting completed kits. Because they are generally outside of the standard processes, the final assembly completed from

51

these jobs may need to be assigned to a different cost group from the standard job completions. Cost group rules can be used to perform this type of cost group assignment, as follows.
Rule Assign non-standard discrete completions to cost group XXXX Description Non-standard discrete completions get cost group XXXX R WIP Entity Type = Constant Number R AN WIP Job Job Type = Constant Number D 1 3

The first restriction on the entity type requires that the job be a discrete job, so that this cost group assignment rule is not applicable for a lot based job or a repetitive schedule, for instance. A value of 1 indicates a discrete job. The second restriction on the job type actually indicates that the discrete job must be a non-standard job. A value of 1 indicates a standard job, while a value of 3 indicates a nonstandard job. These lookup codes are available from the Technical Reference Manual.
Rejected material assigned special cost group

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. The rejected material can then be assigned to a different cost group when it is put away. The following rule models this business scenario.
Rule Rejected material gets cost group XXXX Description Assign cost group XXXX to material that fails the receiving inspection R Cost Group Inspection Status = Constant Number Transaction 3

Of course, the rest of the cost group assignment rules should be built so that material that passes inspection is not assigned to this same cost group.
Status based cost group assignment

The cost group may depend on the material status that is entered when the material is first received. For instance, a material status of HOLD may indicate that there may be potential quality issues on the item, and that it should not be available for sales orders or for manufacturing until after some quality inspection. The following rule can assign a particular cost group based on the status that is assigned to a serial number. Additional restrictions are included to verify that the item is serial status enabled, so that this rule will not return any cost group if the item is not serial controlled or does not have serial status.
Rule Cost group XXXX assigned to serials with material status HOLD Description Assign cost group XXXX to serials with material status HOLD, which is equal to status identifier 56 R ( Item Serial Generation = Constant Number 2 Code R OR Item Serial Generation = Constant Number 5 Code R AN Item Serial Status Enabled = Constant Character Y D R AN Serial Number Status Identifier = Constant Number 56 D

Similarly, a rule can be based on the material status of a particular lot, as follows.
Rule Cost group XXXX assigned to lots with material status HOLD Description Assign cost group XXXX to lots with material status HOLD, which is equal to status identifier 56 R Item Lot Control Code = Constant Number 2 R AN Item Lot Status Enabled = Constant Character Y D R AN Lot Status Identifier = Constant Number 56 D

52

Both material status update and cost group update are manual user initiated transactions. Therefore, for instance, if a lot cycles in and out of the a hold status due to some recurring quality issues, as material is received, the cost group assigned to each storable unit will depend on the material status that is assigned to the lot at the instant the material is received into inventory. Thus different storable units of the same lot could have different cost groups that are not in synchronization with the current material status, unless manual cost group updates have also been performed. Note that these rules require the identifier, rather than the name, of the material status. The identifier of the material status can be accessed in one of two ways. In the Material Status Definition form, query the status of interest. Then navigate to Help > Diagnostics > Examine. Choose MSDEF_STATUS_BLK from the Block list of values, if that is not already defaulted, and select STATUS_ID from the Field list of values. Alternatively, if direct table access is available, the status identifier can be viewed directly from the table MTL_MATERIAL_STATUSES_TL. In the examples above, the material status HOLD is assumed to have a status identifier of 56.
Subinventory based cost group assignment

The cost group can be assigned to material based on the subinventory into which it is first put away. Because the putaway suggestion is determined prior to assigning the cost group, subinventory based cost group rules can build off of logic encoded in the putaway rules. In this example, material that is received into subinventory BULK will be assigned a particular cost group. Note that this would be applicable to all transactions that received material into the subinventory, including purchase order receipts, miscellaneous transactions, and manufacturing completions, unless the strategy search order and strategy assignments further restricted when this rule is applied.
Rule Material received into subinventory BULK gets cost group XXXX Description Assign cost group XXXX to material that is received into subinventory BULK R Destination Subinventory Name = Constant Character Subinventory BULK

This scenario is similar to how cost groups behave in a non-WMS enabled organization, in that the material will be automatically assigned to the cost group into which it is stored. However, WMS and non-WMS organizations differ in how the cost group is determined on subsequent moves. In a nonWMS organization, the material always picks up the cost group of the owning subinventory; the cost group is not really assigned to the material, but rather to the storage area. In a WMS organization, the cost group is assigned to the material and follows the material as it moves throughout the warehouse. Note that if the Rules Engine were unable to find a strategy via the strategy assignments, then the cost group of the receiving subinventory would automatically be assigned to the material. Therefore, there may often be no need to define rules like this.

53

Label Format Rules

Label format rules are not seeded because the return value is not known and logic required for label format rules is typically simpler, but more warehouse specific than that required for picking or putaway rules. The examples documented here should be used as guidelines in defining new rules, and can be particularly helpful in modeling any 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. Also, the label format (return value) will not be indicated on any of these rules because those are always implementation specific. Please be sure to use data specific to the warehouse when defining rules.
Carrier specific rule

Often, different shipping label formats will be required based on the freight carrier selected. The format may include data specific for that carrier, including different barcode fonts and positioning. The following rule prints a specific label format when the freight carrier is UPS.
Rule Shipping label XXXX for freight carrier UPS Description Print label format XXXX for freight carrier UPS R Freight Carrier Name = Constant Character UPS

Note that the actual text on the right-hand-side of the rule must correspond to the codes that have been set up for the freight carriers. Also, note that this type of rule is only applicable for printing Shipping and Shipping Contents labels.
Consolidation required after cartonization

Cartonization can be used to determine the best number and type of containers or totes in which to pack an outbound delivery. As part of the pick release process, license plate content, license plate summary, and license plate, shipping, and shipping content labels can be printed. These labels, together with LPN-based picking on the mobile device, can help streamline the outbound picking and packing process. Depending on types of containers that are available and the size of the delivery or sales order, a single delivery may be cartonized into one or multiple license plates. Furthermore, if cartonization is not enabled for all items or all subinventories, part of a delivery may be cartonized, while other lines may be picked and packed separately. Consolidation of these multiple cartonized and non-cartonized LPNs may need to occur in the staging lane. Using a label format rule, different labels can be printed for the license plate created at pick release depending on whether additional consolidation will be required, or if the cartonized license plate contains all the requirements for the delivery.
Rule If cartonized LPN contains entire delivery use label format XXXX Description Print label format XXXX if delivery has only single LPN created by cartonization at pick release R Cartonized LPN Contains entire = Constant Character Y delivery Customer compliant labels based on LPN reservations

LPNs can be reserved to particular sales orders as soon as they are in inventory. A user can make this reservation manually when sales orders are booked, or LPN-completions of ATO or CTO jobs can systematically create them. Customer compliant Shipping and Shipping Content labels can be printed after the LPN has been pick confirmed. However, pick confirmation may even be completely

54

bypassed by the use of a WMS feature called Direct Ship. When Direct Ship is used, or when customer compliant labeling is required prior to pick confirmation, the label format rules can be based on LPN reservations. The following rule prints a specific label format for innermost LPNs based on LPN reservations.
Rule LPN Summary label XXXX for innermost LPNs when LPN reserved Business World Description Print label format XXXX for LPN Summary when reservation made to Business World R License Plate License Plate Number = Expression Select distinct expwlpn.license_plat e_number from wms_license_plate_n umbers expwlpn,mtl_reservat ions expmr,oe_order_head ers_all expooha, oe_order_lines_all expoola,ra_customers exprc where expwlpn.lpn_id = wlpn.lpn_id and expmr.lpn_id = wlpn.lpn_id and expmr.demand_sourc e_line_id = expoola.line_id and expooha.header_id = expoola.header_id and expooha.sold_to_org _id = exprc.customer_id and exprc.customer_name = 'Business World' and rownum = 1

Several assumptions are inherent in this rule. First, the LPN is reserved, in its entirety, to a single customer (but potentially for multiple sales order / sales order lines). If there are multiple customers associated with a single innermost LPN, one of the customers will be arbitrarily selected when executing this rule. This also means that, even if the LPN is only partially reserved, if any of the material is reserved to the customer Business World, this rule restriction will be met and the customer specific label will be printed. Finally, this rule selects the correct format based only for the level at which the reservation is made: the innermost LPN level. Therefore, if LPNs are nested and a reservation is made to the innermost LPN, the outermost LPNs will not get customer specific formatting. The following rule will select a label format based for any level of an LPN nested arbitrarily deep, so long as the reservation is made to the innermost LPN level. The assumption about the LPN being completely reserved to a single customer still stands, however.
Rule LPN Summary label XXXX for innermost LPNs when LPN reserved Business World Description Print label format XXXX for LPN Summary when reservation made to Business World R License Plate License Plate Number = Expression Select distinct expwlpn.license_plat e_number from wms_license_plate_n umbers expwlpn,mtl_reservat ions expmr,oe_order_head ers_all expooha, oe_order_lines_all

55

expoola,ra_customers exprc where expwlpn.outermost_l pn_id = wlpn.lpn_id and expmr.lpn_id = expwlpn.lpn_id and expmr.demand_sourc e_line_id = expoola.line_id and expooha.header_id = expoola.header_id and expooha.sold_to_org _id = exprc.customer_id and exprc.customer_name = 'Business World' and rownum = 1

Additional restrictions can be added so that different labels could be printed if the LPN is only partially reserved, or reserved to multiple customers.
Customer compliant shipping label

A common requirement is a customer specific shipping label. This type of rule could also be used to print customer compliant Shipping Content labels. The following rule prints a specific label format for customer Business World.
Rule Shipping label XXXX for customer Business World Description Print label format XXXX for customer Business World R Customers Customer Name = Constant Character Business World

If the customers can be grouped where each group requires a different format, instead of defining each customer specific label rule by rule, rules could be built based either on a customer flexfield that controls which label format to print, or an a user-defined value set that includes the customers that require particular labeling. Note that this type of rule is only applicable for printing Shipping and Shipping Contents labels.
Inspection-based label format selection

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. LPNs with rejected material can then be labeled differently, with the following rule.
Rule Accepted label format for material passing inspection Description Return different label formats based on the inspection status code R License Plate License Plate Number = Expression Select wlpn.license_plate_n umber from rcv_transactions_inter face rtiexp where wlpn.lpn_id=rtiexp.lp n_id and rtiexp.inspection_stat us_code = ACCEPTED

Three values are used for the Inspection Status as follows: Status ACCEPTED Meaning Material in LPN passed inspection

56

REJECTED is null

Material in LPN failed inspection Material in LPN does not require inspection

Ship-to country specific rule

Often, different label formats will be required based on the country to which the shipment is going. This labeling may include data specific for export screening, and may also include language specific differences or number / data formatting differences. The following rule prints a specific label format when the ship to country is France.
Rule Shipping label XXXX for ship to country France Description Print label format XXXX for Shipping for shipping to France R Ship To Customer Country = Constant Character Sites France

Note that the actual text on the right-hand-side of the rule must correspond to the codes that have been set up for countries. Also, note that this type of rule is only applicable for printing Shipping and Shipping Contents labels.

57

October 2002 Author: David Wertheimer Copyright Oracle Corporation 2002 All Rights Reserved Printed in the U.S.A. This document is provided for informational purposes only and the information herein is subject to change without notice. Please report any errors herein to Oracle Corporation. Oracle Corporation does not provide any warranties covering and specifically disclaims any liability in connection with this document. Oracle is a registered trademark.

Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: 415.506.7000 Fax 415.506.7200 Copyright Oracle Corporation 2002 All Rights Reserved

58

You might also like