Distributing Work to Resources

Objectives

After completing this lesson, you will be able to:
  • Distribute work to resources
  • Set up travel distance calculation

Warehouse Order Selection

A warehouse order (WO) can be directly assigned to a resource, for example, by the warehouse manager, or the resource can manually select a WO. The expectation is that resource work system-guided, means that the system automatically assigns the next WO after a WO has been completed. For this assignment, several things are checked and the WOs are sorted automatically.

Four forklifts, each carrying different colored packages (green, grey, yellow, and blue), are shown facing the center where multiple pages are stacked together with arrows pointing towards the stacks.

First the system checks if a queue is directly assigned to the resource. If that is not the case, the system checks the resource group which is assigned to the resource, and the queues in the sequence assigned to the resource group.

When there is more then one queue assigned to the resource group, the system always assigns a WO from the first queue in the sequence (if no other conditions are violated). The next queue is only used if the queue before is empty, or if no WO can be assigned. For assigning WOs from alternating queues, you need to look up "task interleaving".

A resource also can select system-guided by queue: then the sequence of queues is not observed, but a resource group with this queue must still be assigned to the resource.

Skipping Warehouse Orders

In system-guided picking, a resource can skip a warehouse order because, for example, the access to the source storage bin is blocked. However, you can skip a warehouse order only if it hasn't been started yet, meaning that there are no confirmed warehouse tasks. You skip a warehouse order using exception code SKWO and the resource can then continue with the next warehouse order which is assigned to it.

When you skip a warehouse order, it isn't skipped permanently as the system still proposes the warehouse order to other resources. In addition, the system can propose a skipped warehouse order to the same resource again after that resource either ended working on another warehouse order, or re-entered the RF transaction.

Note

You can't skip warehouse orders in combination with pick, pack and pass, or when using pick-by-voice features.

Warehouse Order Sorting

The warehouse orders are sorted as follows:

  • In ascending order, by latest starting date
  • In descending order, by execution priority
A stack of sheets of paper, a blue arrow pointing up labeled Ascending by latest starting date, and a green arrow pointing down labeled Descending by execution priority.

Latest Starting Date

The latest starting date (LSD) is the latest time by which execution of a WO should commence, so that it is completed by the due date.

Note

Latest starting date does not mean that the WO can not be started before, it only shows which WO is due first.

The LSD for each WO is calculated as follows:

Latest Starting Date = WO due date - (planned execution duration + planned travel time duration)

The due date is taken from one of the following:

  • The picking completion date in the warehouse tasks (WTs). This would come from a wave template and the selected option. If the warehouse request is not part of a wave, the completion time can also be set by the durations assigned to process steps in the warehouse process that is used.
  • If there is no picking completion date in the WT, the planned goods issue date in the warehouse request.

    Note

    The standard document type for outbound processes in EWM, "OUTB", only includes a "goods issue" time on the item level. On the header level you can find a "departure from yard" time. This time is determined from the goods issue times on item level (so it corresponds to that time).
  • For lack of relevant dates in inbound deliveries, the due date is calculated using the "planned duration of movements" time. This duration is defined in Customizing (SCM Extended Warehouse ManagementExtended Warehouse ManagementCross-Process SettingsWarehouse TaskDefine Planned Duration of Movements in Warehouse). The "due date" is then calculated from the current time using the maintained duration. This is superseded again if planned durations are assigned to the process steps in the warehouse process that is used.

The planned execution duration in the warehouse order is calculated using various information, depending on the settings and activated options.

When labor management is not used, the system calculates the extract time for each warehouse task. The formula for this calculation is as follows:

E = X + q x Y

  • E is the extract time.
  • X is the constant portion of the extract time.
  • Y is the variable portion of the extract time.
  • q is the quantity for which the extract time is to be calculated.

For the calculation you can define the following details:

  1. Unit of measure load categories. The unit of measure load category is assigned to a unit of measure from the product or to a handling unit type.
  2. Product load categories. This is used to group products that are similar with regards to their workload and handling. It is assigned in the warehouse product.
  3. Warehouse activities. A warehouse activity for the extract time calculation is assigned to a warehouse process category (like putaway or stock removal). It is a 1:1 assignment to the warehouse process category, so it is usually sufficient to define a stock removal and a putaway activity.
  4. Extract time calculation. In the extract time table, you can define a constant and a variable extract time in seconds for each warehouse number, bin access type, warehouse operation, UoM load category, and product load category.
  5. Optimize the access strategy. You can define multiple access strategies for each warehouse number that are processed in the sequence specified. If no suitable entry is found in the extract time table, the next table entry is tried.

Note

By design, the system calculates the extract time for the source and for the destination bin. As you can use the bin access type for the extract time calculation, you can therefore calculate the time properly depending on the bin (access type). If the bin access type is not used in the calculation, the result in the warehouse task will always show double the time of what is set up in customizing.

If a preparation time is assigned in the warehouse order creation rule, this is added to the extract time in the warehouse order. The standard rules UNDE and DEF have no preparation time.

If the warehouse order is relevant for labor management, then the complete planned execution duration of the WO is calculated using engineered labor standards. For details, see the course EWM125 - Labor Management in SAP Extended Warehouse Management.

The planned travel time duration is calculated by using the travel distance calculation and using the resource with the slowest velocity. Details about the travel distance calculation are described separately.

The LSD can be rounded off by the relevant mode.

Mode

A mode determines the following:

  • Weighting factors used for warehouse order execution prioritization
  • Time intervals and units of measure for round the LSD

In the warehouse task, the mode is set either:

  • By the wave, the mode can be included in the wave template, or it can be assigned directly when manually creating a wave.
  • By determination for the warehouse number and the activity.

As the mode is set for each warehouse task in a warehouse order, the system uses the rounding time interval of the mode of the first WT in the WT sequence.

Note

The mode only influences the LSD, not the planned duration in the WO.

Warehouse Order Execution Priority

Warehouse order (WO) prioritization ensures that the system selects the most suitable WO for a resource. For the full calculation, you maintain the following:

  • For a resource type, the priorities for:
    • Bin access type (BAT) and
    • HU type group (HUTG)

    The priority values reflect the preferences of a resource type to work in a particular bin access type, or with a HU type group.

  • The warehouse process type (WPT) priority.

    Note

    While the documentation mentions the warehouse processcategory, the assignment is actually to the warehouse processtype.

The priority is a value between 1 and 10.

Then you maintain the priority weightings per mode (a value between 1 and 100). The weighting of a priority parameter reflects the relative importance of the parameter in determining the total priority of a warehouse task (WT). The weightings may vary according to activity, which is reflected by the mode.

The execution priority is calculated for each WT with the following formula:

Priority = (BAT Weighting / 100 x BAT Priority Value) + (HUTG Weighting / 100 x HUTG Priority Value) + (WPT Weighting / 100 x WPT Priority Value)

The weightings are based on the mode of the first WT in the WT sequence.

Note

The system only checks that the priority assigned to the Warehouse Process Type is between 1 and 10, for the Bin Access Type and HU Type Group it is not checked. In addition, when entering the priority weightings the system does not check if the value is over 100 - during the entry of these values. However, it can create a system overflow following a short dump during the creation of the warehouse tasks if you exceed these values.

The total priority of the WO is set from the highest priority of its constituent WTs.

Note

Sometimes during warehouse order processing the problem might come up that one specific warehouse order needs to be processed before any other and the question comes up: how do you make sure that this happens?

Technically you have options like:

  • Assign the WO to one specific resource. If the resource is currently not processing another WO, that is an option. However, then you must know where the resource is and if there are other issues which may prohibit the resource from working.
  • Change the latest starting date. It is possible to change the date and time, so then the next resource in this queue will get this WO.

The best option is actually:

Assign the WO to the Express Queue.

What is the "Express Queue"? You can define a queue which is assigned to all relevant resource groups at the first position. This way whatever next resource is available in any of these resource groups will get this warehouse order (you have to consider of course if all resources are able to process this WO, in a complex warehouse your assignments of bin access types and HU type groups might limit that).

Additionally, such an express queue could also be used based on the queue determination criteria (like activity, warehouse process type) to make sure that specific WOs, for example, express orders, are processed first, independent of all other settings.

Travel Distance Calculation Method

The travel distance calculation calculates the distance that a warehouse worker must travel to execute a warehouse order. In addition to calculating the travel distance, the system determines the time required by a worker to execute the warehouse order, depending on the speed of the resource used.

The result of the travel distance calculation is used for the following:

  • Calculating the latest start time for a warehouse order

  • Calculating engineered labor standards (ELS) and the workload, if you have activated Labor Management (LM)

Methods for Travel Distance

SAP EWM uses two different methods for the distance calculation:

  • Direct distance:

    The system calculates the travel distance using the direct distance, based either on the Euclidean metric or Manhattan metric. The upper part of the following figure shows the direct distance between two storage bins of a storage type. The solid line corresponds to the Euclidean metric; the dotted line represents the Manhattan metric.

  • Distance based on networks:

    The travel distance calculation can also be based on an existing valid network. The valid routes represent the edges. The lower part of the following figure shows the distance between two storage bins of a storage type. The resource moves across the valid routes.

Travel Distance Calculation

Screenshot illustrating the travel distance that a warehouse worker must travel to execute a warehouse order.

Calculating the Travel Distance

The system calculates the travel distance needed to execute a warehouse order more than once, namely when:

  • Creating a warehouse order for planning purposes

  • Confirming a warehouse order for evaluation purposes

When calculating the distance while creating the warehouse order, the system uses the following values:

  • For the speed, the system uses the speed of the slowest resource (pessimistic approach).

  • Instead of the known position of the resource, a default distance to be covered to reach the first position in a storage type is specified.

  • The route network used (if available) contains all defined routes without resource type restrictions.

The executing resource is only known after the confirmation, so then the system is able to access more detailed information, like:

  • Speed of the resource

  • Last position of the resource prior to executing the warehouse order

  • The route network allowed for the resource, if available

If LM is activated, the system saves the result of the travel distance calculation in the planned and executed workload.

Networks

Networks define the valid routes (paths) in the warehouse on which the resources move. A network consists of edges and nodes. Edges are connected to each other by way of nodes. Edges represent the valid routes in the warehouse, and nodes represent crossings.

There are two different kinds of networks:

  • Storage-type-specific networks:

    These networks consist of edges that map the individual aisles, and edges that represent a connection of different aisles. You assign storage bins of a storage type to one of these:

    • An edge, if the storage bins are located in an aisle, and an edge exists for the aisle

    • A node that matches your X and Y coordinates, if you have not assigned an edge

  • Global networks:

    The global network connects the defined, storage-type-specific networks to each other. If no storage-type-specific networks are defined, the network connects the storage bins to each other directly.

Warehouse layout with various storage zones, and a forklift carrying goods. Red pathways connect zones for efficient movement and access to storage areas.

Edges

Edges have the following properties:

  • Each edge has a start node and end node.

  • An edge is usually passable in both directions, however it can also be defined as a one-way street. The direction is defined through the start and end nodes.

  • For each edge, you can define which resource types are allowed to pass.

  • You can assign an edge to an aisle.

  • An edge has a length that is used by the system to calculate the travel distance, if the edge is passed by a resource.

Defining Networks

You can use the program, Generating Storage-Type-Specific Networks, to generate storage-type-specific networks for the travel distance calculation in SAP EWM automatically.

On the SAP EWM Index screen, choose Extended Warehouse ManagementSettingsTravel Distance CalculationGenerate Network. The edges for the aisles automatically have the following properties:

  • Edges are only created for aisles that have more than one storage bin.

  • Edges can be passed in both directions.

  • The length of the edges corresponds to the Euclidean distance between the start and end nodes.

  • If storage bins are located on both sides of the aisle, the edges are located in the center of the aisle.

  • If there are only storage bins on one side of the aisle, the edges lie half a bin depth away from the aisle.

  • The edges start and end outside the aisle (half a bin depth).

The system generates connecting edges between neighboring aisles by connecting both the start and end nodes of two neighboring aisles with an edge.

The storage-type-specific network can also be created manually, but it is possible and therefore better to change settings like the direction (unidirectional, bidirectional) after the generation by the system. You can also exclude resource types from edges. In addition, you can add an average distance for a storage type, this is the distance that is used when the resource and the start point is not known (Customizing, in the definition of the storage type).

You can define global networks manually and make the following settings for the edges:

  • X and Y coordinates for the start of the edge

  • X and Y coordinates for the end of the edge

  • Define edge direction (unidirectional, bidirectional)

  • Define edge length in the unit of length of the warehouse number

  • Define excluded resource types

Both types of networks (storage-type-specific and global) can also be uploaded with the help of a CSV file.

Travel Distance Calculation

The travel distance is calculated for the storage bin list. A storage bin list is a list of storage bins that are to be approached sequentially for a warehouse order.

Features

  • The system differentiates between horizontal (X and Y coordinates) and vertical movements (Z coordinates).
  • The total travel distance is the sum of travel distances between the storage bins lying next to each other on the list.
  • The system generates the list of storage bins from the warehouse order creation rules. The order is fixed, meaning the travel distance calculation does not sort the storage bin list.

For the movements, we assume the following:

  • The resource moves to the storage bin in a horizontal direction.

  • The resource then executes the vertical movement to the storage bin and back to the floor.

  • The resource then moves to the next storage bin in a horizontal direction.

  • The total travel distance in a vertical direction therefore corresponds to twice the Z distance of the storage bins to the floor (point of origin Z = 0).

For horizontal movements, a distinction is made between direct movements and movements within a network.

Direct Movements

This system uses the direct distance for the following movements:

  • Movements between storage bins within a storage type, if no valid storage-type-specific network is available

  • Movements between storage bins from different storage types, if no valid global network exists

  • Movements within an aisle. Here, the direct distance between storage bins is used to calculate the travel distance

Screenshot illustrating direct movement within an aisle.

Connecting Storage Bins with the Network

A storage bin can be connected with the network in the following ways:

  • With the nodes of an edge, if the storage bin is in an aisle, and an edge exists for the aisle. Fundamentally, four options exist. For a one-way route, only one option is allowed — entering the edge at the start node and leaving it at the end node.

  • With the next node, if no edge has been assigned (the node comes from the storage-type-specific network, or if the storage-type-specific network does not exist, the node comes from the global network).

Diagram illustrating connections of storage bins with the network. Storage bins numbered 1 to 3 are linked with nodes using yellow and blue lines, indicating pathways within the network.

Movements within a Network

Movements within a network take place if the storage bins are located as follows:

  • In the same storage type but not in the same aisle, and a valid storage-type-specific network exists

  • In different storage types and a valid global network exists

For the calculation within the network (valid global network and any existing valid storage-type-specific networks), the system connects the storage bins with the nodes of the respective edge or with the next node. Then, the travel distance within the network between the storage bins is added to the assigned nodes. Four options are available for this calculation: 1) from the start node of the first edge to the start node of the second edge, 2) from start node to end node, 3) from end node to start node, and 4) from end node to end node.

Examples for the Travel Distance Calculation

The following are some examples for the calculation of the travel distance:

  • Travel distance calculation within a storage type
  • Travel distance calculation between two storage types with valid networks
  • Travel distance calculation between two storage types with a global valid network

Travel Distance Calculation within a Storage Type

The warehouse manager wants to calculate the travel distance from storage bin 1 to storage bin 3 within a storage type with a valid network.

1, 2, and 3 are storage bins from which warehouse worker X withdraws goods.

The travel distance comprises the following:

  • Direct distances A (within an aisle), B, and D (connection between storage bin and network)

  • Distance C (connecting edge) within the network

Of the four possible calculations, the system uses the first option as that represents the shortest travel distance.

Screenshot illustrating four options for travel distance calculation within a storage type, each with paths labeled A, B, C, and D for movement between locations marked 1, 2, and 3 in storage sections.

Note

The sequence of the storage bins is defined in the sort rule of the warehouse order. The sequence is fixed, meaning the travel distance calculation calculates the shortest distance, but does not change the sequence of storage bins.

Heuristics for the Travel Distance Calculation

Two heuristics exist for the travel distance calculation within a network. The system calls both by default. You can control the heuristics using the Business Add-Ins (BAdIs) for the travel distance calculation.

  • Depth-first search:

    This system attempts to find a route between the specified nodes of a network in the shortest time possible. Here, the search runs in the direction of start node to end node. The search finishes when the first complete route is found.

  • Breadth-first search:

    The system looks for all possible routes in the network, and selects the one that has the shortest distance. This heuristic is more performance intensive at runtime, and is only appropriate for small networks.

    The stopping criterion quickens the breadth-first search. This may have a negative impact on the solution quality, and the system may fail to find the shortest route. The parameter restricts the number of nodes that can be visited by a route, in relation to the route found by the depth-first search.

BAdls for the Travel Distance Calculation

The following BAdIs are available:

  • Change storage bin list for travel distance calculation /SCWM/EX_TDC_BIN_LIST

    You can do the following:

    • Sort the list

    • Delete storage bins from the list

    • Add new storage bins to the list

    You can also influence the default distance to the first storage bin in the storage bin list.

  • Travel distance calculation using the storage bin list /SCWM/EX_TDC_START

    The system calls this BAdI to calculate the travel distance of a warehouse order. If you implement this BAdI, you can define your own logic for calculating the travel distance along the sorted storage bin list transmitted to the BAdI.

Travel Time Calculation

The main goal of calculating the travel distance is to use it for a travel time calculation.

Employee moving a loaded pallet jack through a spacious warehouse. Text reads horizontal travel distance divided by speed plus vertical travel distance divided by speed equals total travel time, illustrated by a clock.

Default Travel Time Calculation

By default, the total travel time is calculated as follows: Horizontal travel time + Vertical travel time = Total travel time. The horizontal travel time is calculated using the total horizontal travel distance and the horizontal speed for the resource type. The vertical travel time is calculated using the total vertical travel distance and the vertical speed for the resource type.

Travel Time Calculation Using BRFplus

If you want to use a more complex travel time calculation, you can maintain your own set of calculation rules in BRFplus. SAP EWM provides a standard BRFplus application /SCWM/TDC_SYS and function /SCWM/TDC_CALC_TIME to which you can assign your own rulesets. The interface of the standard function includes the following:

  • The total horizontal travel distance

  • The total vertical travel distance

  • Consolidated section information of horizontal movements

  • Section information of vertical movements

  • Resource type information (such as speed)

  • Business information (such as activity area)

When you define your own rules, you can use any or all of the above information as input.

In contrast to the total travel distance, consolidated section information lets you consider each section of the calculated travel path separately. For example, you might want to consider turns and stops in the travel path, because they limit the maximum speed of a resource. The shorter a straight segment is, the less likely it is for the resource to travel at its maximum speed.