Setting up ELS with BRFplus

Objective

After completing this lesson, you will be able to determine labor activities and ELS with BRFplus for Labor Management in SAP EWM

Determination of Labor Activities with BRFplus

BRFplus

Business Rules Framework plus (BRFplus) provides a comprehensive application programming interface (API) and user interface (UI) for defining and processing business rules. It allows you to model rules in an intuitive way and also allows you to reuse these rules in different applications.

Note

BRFplus is a generic SAP tool that can be used in several applications. SAP EWM is only one of these.

Applications use BRFplus in the following scenarios:

  • Validation of data and detection of invalid data and states

  • Matching responsibilities, suitable products and locations

  • Calculation of costs, overhead and risks

  • BRFplus as a technical configuration engine

The image is a diagram labeled BRFplus Overview, depicting a system flow between front-end and back-end components. The front-end section includes three main elements: Decision table, Decision tree, and Formula. The Decision table involves columns labeled Amount, Transaction, and Check type, with decisions based on amount ranges (0-$100, >$100) and transaction types (Internal, External), with corresponding check types (None, 4-Eye). The Decision tree box splits based on Customer group into groups A and B,C, both leading to Open items, which further split into <1000s and >=1000s. The Formula component illustrates a mathematical formula (Quantity*1.18) + Service Charge and lists operators and data types like =, <>, <, <=, >, >=, AND, OR, NOT, IF, with options for String, Number, Amount, Quantity. Arrows point from each front-end section to the back-end, which is marked Rules processor and Rules repository. The back-end features functions: Trace, Simulations, Versioning, Extensions, Generation, Conversion, along with storage options A - Tables, C - Tables, S - Tables. The diagram visually connects front-end decision-making elements with back-end processing and storage systems.

BRFplus components include application, function, catalog, expression, action, data object. The rule interface is called a function. Rules are implemented in the application as expressions. The three modes of operation available in BRFplus to process the function are:

  • Functional mode
  • Event mode
  • Functional and Event mode

The rule input is known as a context and the rule output is called a result. Context and result consist of elements, structures and tables. BRFplus supports features including:

  • simulation
  • trace
  • transport
  • XML export and import

Labor Activities

Using labor activities instead of external process steps and work step sequences for the normal time determination has several advantages. For example, the external process step for all picking tasks is PICK. In contrast, you can define different labor activities to distinguish between picking in different activity areas or between case picking and pallet picking.

With labor activities you can structure the planned and executed workloads without changing the external processes steps that may already exist, and you can (together with evaluation types and labor activity groups) monitor planning and execution. You can also use them for reporting purposes.

To use labor activities, you must define a labor activity catalog, which is a list containing all the labor activities you can use in your warehouses. To use labor activities from the catalog, you must activate the labor activities at warehouse level. Evaluation types are used to classify the working time of labor activities. Evaluation types are mandatory and they must be defined before you define labor activities. Labor activity groups are optional and are used for reporting purposes.

A flowchart illustrates the relationship between External process step, BRFplus, Rulesets, Expressions, Labor activity, Labor activity group, and Evaluation type. Arrows connect each element to Labor activity as the central node. On the right side, a person holds a barcode scanner and scans a package wrapped in blue plastic with a red label in a warehouse.

Labor activities can be determined in two ways:

  • Directly:

    This is used if there is a 1:1 relationship between a labor activity and an external process step. This is always used for indirect labor, for example, changing a battery.

  • Using a decision service in BRFplus:

    If there is no 1:1 relationship between a labor activity and an external process step, for example, in the case of picking or staging, a decision service in BRFplus determines the labor activity at runtime. It does this by considering context-dependent information such as external process step, activity area, material group, location, or reference document data (such as a warehouse order).

Decision Services

The BRFplus decision services define the interfaces between EWM and BRFplus and enable data exchange between EWM and BRFplus at runtime using:

  • Context (parameter) to pass data from EWM to BRFplus.

  • Result (parameter) to return the result of a decision from BRFplus to EWM.

EWM provides several decision services (functions) in the BRFplus system application Labor Activity Service (/SCWM/LM_LA_SYS). You can replace the predefined decision services for the labor activity determination with your own decision services, without implementing a Business Add-In (BAdI). You need to assign your own decision service to the decision service context in Customizing for Extended Warehouse Management, under Labor ManagementAssign BRFplus App. and Function to Decision Service Context.

Additionally, there are several BAdIs available for creating enhancements for each context, for example, if you want the labor activity determination in BRFplus to consider additional information.

Rulesets, Rules, and Decision Tables

In most cases, you need to define your own business rulesets, business rules, and expressions for each decision service provided by EWM. You also need to register your own business rulesets to the decision services provided by EWM in the BRFplus workbench at design time. A business ruleset contains a set of business rules. A business rule is defined again by a set of expressions, such as decision table, decision tree, case expression, and Boolean expression. You can use the Customizing application Labor Activity Service Contents (/SCWM/LM_LA_CUST) provided by EWM as an example for your own business rule definitions. You can use the example application /SCWM/LM_LA_CUST if it is suitable for your warehouse processes. To do so, you must first add and activate its contents to the corresponding decision tables in the BRFplus workbench.

Note

The standard EWM documentation lists the standard decision services, rulesets, rules, decision tables, and available BAdIs.

How to Define Labor Activities

Define Labor Activities

ELS with BRFplus

You can use ELS in BRFplus to calculate the planned duration (normal time) of a planned workload and the adjusted planned duration (normal time) of an executed workload. For this, you have to activate the usage of BRFplus for ELS for your warehouse number in Customizing for EWM, under Labor ManagementActivate Labor Management.

You define rules in BRFplus for the ELS to calculate the normal time of workloads. You assign these rules to the corresponding decision service. When calculating the normal time, the ELS consider context-dependent information such as product, location, and reference document data.

You can use the results of the labor activity determination and the travel distance calculation as the input for the ELS.

The image depicts a modern office setting with a row of desks positioned in front of large windows, allowing ample natural light. Each desk is equipped with a computer setup, including a monitor, keyboard, mouse, and desk lamp. In the forefront, an Apple iMac is visible, displaying various content on its screen. To the right of the office image, there is a diagram with blue rectangles connected by lines, labeled as follows: the top rectangle reads Labor activity, the middle rectangle labeled BRFplus, and the bottom rectangle reads Normal time (planned duration). On the right side, a vertical rectangle is labeled Rulesets, Expressions, listing components such as decision tables, formulas, loops, and value ranges. The diagram suggests a workflow or relationship among these components.

Decision Services

EWM provides several predefined, default decision services for calculating the planned duration (normal time) of planned workloads and for the adjusted planned duration (normal time) of executed workloads. These are all part of the application /SCWM/LM_ELS_SYS. You can replace the default decision services for the time calculations with your own decision services. You need to assign these to the specific context in Customizing for Extended Warehouse Management, under Labor ManagementAssign BRFplus App. and Function to Decision Service Context.

You can make your own enhancements for each context, for example, if you want the time calculation in BRFplus to consider additional information. For this purpose, each decision service call is encapsulated by a Business Add-In (BAdI). Each BAdI provides a fallback implementation which calls either the standard decision service or the decision service you specify in Customizing. For more information, see the Enhancement Spot for ELS Determination (/SCWM/ES_LM_ELS).

Example

You want to calculate the normal time for an executed workload of a warehouse order. This is a pick warehouse order containing three warehouse tasks, each with different products and different units of measure.

When the warehouse order is created, one planned workload is created for which the labor activity is determined and the travel time is calculated. The results are provided as input for the normal time calculation. The decision service ELS for Warehouse Task is called separately for each warehouse task of the warehouse order. The results from each calculation per warehouse task are summarized and passed on as an input value to the decision service ELS for Warehouse Order for Warehouse Task. This decision service is called at the end to calculate the overall normal time of the planned workload for the warehouse order.

This example uses the following, simplified data for the warehouse order, labor activity, and travel time:

Warehouse OrderLabor ActivityTravel Time
1OPICK4min 27s

This example uses the following, simplified data for the warehouse tasks:

Warehouse TaskProductQuantityUnit of Measure
1PROD-S0110PC
2PROD-S025CAR
3PROD-S031PAL

Calculating the Normal Time for Each Warehouse Task

The decision service ELS for Warehouse Task is called for each of the warehouse tasks. The labor activity is provided as the input and it determines how the normal time is calculated. For example, the labor activity code SCRAP might have a fixed time of 100 seconds per warehouse task, but here we have the labor activity code OPICK. OPICK does not have a fixed time. Instead, it requires a second step to calculate the normal time.

Labor Activity CodeNormal Time
SCRAP100s
OPICKCalculate time per unit of measure

The following table is a simplified representation of the normal time calculation per unit of measure:

QuantityUnit of MeasureNormal Time per Warehouse Task
10PC(5s per piece) + (10s offset)
5CAR(10s per carton) + (20s offset)
1PAL(5min per pallet) + (40s offset)

Given the above data, the normal time per warehouse task is calculated as follows:

  • Warehouse Task 1: (10 PC * 5s) + 10s = 60s

  • Warehouse Task 2: (5 CAR * 10s) + 20s = 70s

  • Warehouse Task 3: (1 PAL * 5min) + 40s = 5min 40s

The normal times of all the warehouse tasks in this warehouse order are added together to give 7min 50s (= 60s + 70s + 5min 40s). The result is passed on to the decision service ELS for Warehouse Order for Warehouse Task.

Calculating the Normal Time for the Warehouse Order

The normal time per warehouse task contains the time required for each pick. We also need to add the times for the movements between the picking locations. For this, we need the travel time, which is provided as the input to the decision service. We also add a fixed offset of 4 minutes to the overall normal time to account for the time a worker requires to read the information about the warehouse tasks.

Using this information, the rules of the decision service ELS for Warehouse Order for Warehouse Task calculate the sum of the pick duration per warehouse task, the travel time between the individual pick locations, and the fixed offset for reading the information. The overall normal time for the warehouse order, thus the executed workload, is calculated as follows: Normal Time: (Sum of Warehouse Tasks) + (Travel Time) + (Time for Reading Information).

In this example, this would result in the following normal time: (7min 50s) + (4min 27s) + (4min) = 16m 17s.

How to Upload BRFplus Content

This is part 1 of 2 of this demonstration:

This is part 2 of 2 of this demonstration:

Upload BRFplus Content

This is part 1 of 2 of this exercise:

This is part 2 of 2 of this exercise:

Usage of BRFplus for Labor Management

In order to use BRFplus in Labor Management, you have to activate the usage for the warehouse number. When you have made this selection, ELS with work step sequences is not used anymore.

SAP provides several predefined, default decision services. You can define your own BRFplus applications and functions to be used for determining labor activities, travel time calculation, engineered labor standards, and PFD factors on warehouse number level. If the customer specific applications are not assigned, the system calls the default BRFplus applications and functions.

Note

The BRF+ application we use for the examples and exercises in the course are part of the SAP Note "2499035 - BRFplus labor management content for preconfigured warehouse W001", only adopted to filter the individual warehouse numbers used by each participant. You can use the sample file for you own implementation. If you don't setup you own application, the system uses the standard applications /SCWM/LM_LA_SYS) for the determination of labor activities, /SCWM/LM_ELS_SYS for the determination of the planned duration of planned workloads and adjusted planned duration of executed workloads, and /SCWM/LM_PFD_SYS for the determination of the PFD factor and PFD allowance. You then need to define your own rule sets in these applications.
An image showing a warehouse setting. On the right side, a warehouse worker operates a forklift, carrying a stack of cardboard boxes amidst shelves filled with various goods. On the left side, a table is labeled Warehouse: 001 BRFplus: ✓. Below are three columns under the headings Decision Service Context, BRFplus Application, and BRFplus Function. The rows list the following entries: 001 Travel Time Calculation with applications Z_Warehouse_001 and function Z_TTC_001; 002 PFD Factor with applications Z_Warehouse_001 and function Z_PFD_001; 003 ELS – Warehouse Order with applications Z_Warehouse_001 and function Z_ELS_WO_001; and 006 ELS – Value Added Service with applications Z_Warehouse_001 and function Z_ELS_VAS_001. The table concludes with an ellipsis indicating further entries.

Activate BRFplus Traces

You can display traces from BRFplus for the labor activity determination, travel distance calculation, engineered labor standards, and PFD factor.

To activate the traces, select Extended Warehouse ManagementSettingsApplication LogActivate Trace in BRFplus. For each trace object, you can activate either a simple context trace or a lean trace.

  • The simple context trace shows only the input data of a BRFplus call and the result.

  • The lean trace additionally shows how the result was calculated.

Authority Checks in BRFplus

You can use authority checks in BRFplus to ensure that only specified users are able to edit certain rules in BRFplus. For example, so that a warehouse supervisor can only make changes to rules for his or her own warehouse.

For this purpose, BRFplus provides authority checks for editing rules, based on BRFplus functions. The idea is to call different BRFplus functions for the different warehouses. Users only have maintenance rights to the functions for the warehouses for which they are responsible. The same functions can be called for a group of warehouses. Therefore, a user can maintain rules for a group of warehouses as long as they have the required authority for the corresponding functions.

To define which function is called for which warehouse, maintain the following settings:

  1. Use the BRFplus copy functionality to copy the BRFplus standard functions into a new application.

  2. Enter the application and the functions for the warehouse in Customizing for Extended Warehouse Management, under Labor ManagementAssign BRFplus Application and Function to Decision Service Context.

  3. In BRFplus, provide the users who will be allowed to maintain rules for the warehouse with the authority for the corresponding functions.

How to Activate BRFplus for Labor Management

Activate BRFplus for Labor Management

Personal Needs, Fatigue, and Unavoidable Delays (PFD)

Note

See the following video to learn more about PFDs:

PFDs for Adjusting Time

If you want to use PFD when calculating the adjusted planned duration (or standard time), you can use the predefined BRFplus application /SCWM/LM_PFD_SYS or define your own application.

As import parameters, the BRFplus function context contains data from the following sources:

  • Executed workload (EWL)

  • Processor attributes, such as ID, service start date, processor type

  • Shift, if an assignment between processor and shift exists

  • Exception codes entered at time of execution

The result elements in the context are the PFD factor and the PFD allowance.

The system uses the BAdI Decision Service for PFD Calculation (/SCWM/EX_LM_PFD_DSM) to calculate the PFD factor and the PFD allowance. For more information, see Customizing for Extended Warehouse Management under Business Add-Ins (BAdIs) for Extended Warehouse ManagementLabor ManagementPersonal Needs, Fatigue, and Unavoidable DelaysBAdI: Decision Service for PFD Calculation.

Summary

  • With labor activities you can structure the planned and executed workloads without changing the external processes steps that may already exist, and you can (together with evaluation types and labor activity groups) monitor planning and execution. You can also use them for reporting purposes. To use labor activities, you must define a labor activity catalog, which is a list containing all the labor activities you can use in your warehouses. To use labor activities from the catalog, you must activate the labor activities at warehouse level. Evaluation types are used to classify the working time of labor activities. Evaluation types are mandatory and they must be defined before you define labor activities. Labor activity groups are optional and are used for reporting purposes.
  • The BRFplus decision services define the interfaces and enable data exchange between EWM and BRFplus at runtime. In most cases, you need to define your own business rulesets, business rules, and expressions for each decision service provided by EWM.
  • You can use ELS in BRFplus to calculate the planned duration (normal time) of a planned workload and the adjusted planned duration (normal time) of an executed workload. You can use the results of the labor activity determination and the travel distance calculation as the input for the ELS.
  • In order to use BRFplus in Labor Management, you have to activate the usage for the warehouse number. When you have made this selection, ELS with work step sequences is not used anymore. You can display traces from BRFplus for the labor activity determination, travel distance calculation, engineered labor standards, and PFD factor. You can use authority checks in BRFplus to ensure that only specified users are able to edit certain rules in BRFplus.
  • You can take personal needs, fatigue, and unavoidable delays (PFD) into account when calculating the standard time. The system changes the adjusted planned duration (also known as the standard time) with the PFD calculation. You either apply a PFD factor to the adjusted planned duration to compensate for time lost due to PFD, or you can add the PFD allowance to the adjusted planned duration.

How to Consider Personal Needs, Fatigue, and Unavoidable Delays

Consider Personal Needs, Fatigue, and Unavoidable Delays