In this article I describe the EWM functionality called WOCR. So what is it? WOCR (warehouse order creation rule) is the rule for creating a warehouse order. A warehouse order is a package of work (warehouse tasks) that can be carried out by a single resource, grouped into one pool according to certain rules. Those rules are exactly what WOCR is.

Judging by the number of settings, it is safe to say that the functionality is fairly extensive.

Let us go through how WOCR works step by step, using picking tasks as an example.

1. At the moment a wave is released, or picking warehouse tasks are created from an outbound delivery, EWM passes all the tasks that were created to the warehouse order creation program (function module /SCWM/WHO_CREATE).

For each picking warehouse task the source and destination storage bins,  the activity area of the task and the queue have already been determined according to the configured rules. To make things clear, let us look at how these key fields are determined.

How do you know which activity area of the warehouse task the system takes into account if the source and destination bins have different ones? The source one or the destination one? This is controlled by a setting in the warehouse process type:

By default the source activity area is used.

Note: for a warehouse process type with category "2" - Stock Removal you can only set the source activity area. For a warehouse process type with category "1" - Putaway, only the destination activity area. For categories 3 and 7 (Internal Warehouse Movement, Posting Change) – either. Nevertheless, if different destination storage bins are determined for the picking tasks, the system automatically splits such tasks into different warehouse orders even though their source activity area is the same. The same applies to putaway tasks.

In essence, the source activity area is the place the delivery will be picked from. Say, if you create a picking warehouse task from the picking area, it makes sense to apply one warehouse order creation rule, whereas if picking takes place from the storage area in full pallets, then a different rule applies. The activity is taken from the warehouse process type, which is determined for each delivery item:

 With this parameter we separate the warehouse order creation rules by the type of activity being performed in the warehouse. For example, one rule for internal movements, a second one for physical inventory, a third one for picking.

2. So how is the queue determined? This is handled by the setting «Define Queues»:

 

A queue is a pool that holds warehouse orders to be executed by resources in the warehouse. Queues will be covered in more detail in a separate article. For now, let us look at the parameters the queue is determined from:

Taking them in order:

  • Source activity area. Put simply, this is the place goods are picked from.
  • Destination activity area. The place the picked goods have to be brought to.
  • Access type. The access type of the source bin.
  • Warehouse process type. The process type is specified in every delivery item and is passed as a parameter into the warehouse task.
  • Activity. The activity is specified in the warehouse process type.

So, for every warehouse task a queue is determined on the basis of specific parameters.

EWM then groups the tasks by three fields: the activity area of the task, the queue and the activity. Each group is then passed separately to warehouse order creation with WOCR (function module /SCWM/WHO_PARALLEL_CREATE).

Note: if the BAdI /SCWM/EX_WHO_CREATE is implemented, it takes priority and is called for the tasks that were passed; the standard WOCR settings are not applied at all, so all orders then have to be created entirely in ABAP logic. 

3. Next, for the group of warehouse tasks that was passed, all the WOCRs configured for the corresponding activity area and activity are determined according to the setting:

«Define Search Sequence of Creation Rules for Activity Areas» (function module /SCWM/TWCRSSEQ_READ_MULTI).

Sometimes the WOCR does not depend on the picking location, in which case it can be entered directly in the warehouse process type (note: in that case a separate order is created for the tasks with that process type, even if exactly the same WOCR is determined for the other warehouse tasks in the pool through the setting «Define Search Sequence of Creation Rules for Activity Areas»):

If no suitable warehouse order creation rule is found, the system applies the default rule «DEF».

So, once the first WOCR has been determined, the system runs the group of warehouse tasks that was passed through it (FORM who_wcr_apply in the include /SCWM/LWHO_MAINF16)

First of all, all the WOCR settings are read (function module /SCWM/TWCR_READ_SINGLE), which contain the rules for sorting, packing, filtering, the limit values and so on. 

 

4. In the next step the system sorts all the grouped warehouse tasks into a certain sequence according to the WOCR settings. So how is the sort rule determined? 

The inbound sorting rules and the other WOCR rules are assigned in the setting

«Define Creation Rule for Warehouse Orders»: 

This setting is also where the WOCR itself is defined. What each field means we will work out as we go through the WOCR algorithm. For now let us just note that the tasks are sorted according to the rule specified in the Inbound Sorting field:

The inbound sorting rule is defined in the setting "Define Sort Rules for Warehouse Tasks":

Path in the spro IMG

There are two sub-settings: the first one, "Define Sort Rules", defines the name of the inbound sorting rule, and the second one, "Define Sort Fields", specifies which field the warehouse tasks are sorted by:

Customizing in the SPRO IMG

You pick the sort field from a preconfigured list, of which there is only a limited number:

 

Sort Fields

And additionally you specify the sort direction – ascending or descending:

 

Direction of sorting

For more complex sorting in several passes, you have to define several sort fields in the required sequence for one sort rule:

Multiple Sorting Fields

Once the tasks have been sorted into a certain sequence, they pass through the filters defined in the WOCR, so that only tasks with certain parameters end up in one order.

 

5. The WOCR filters are specified in the setting "Define Creation Rule for Warehouse Orders".

 There are two kinds of filter rule –  item and subtotal:

ItemFilter defines the rules for filtering each warehouse task item individually.

SubtotalFilter defines the rules for filtering several warehouse task items grouped by consolidation group. Since one consolidation group is usually one ship-to party or one delivery, in practice SubtotalFilter means the rules for filtering the picking tasks of items destined for one recipient or one delivery.

The rules themselves are defined in the setting «Define Filters for Warehouse Order Creation Rules»:

There are more than 10 parameters:

What each parameter means I will describe in more detail in the next article.

See you next time!