In everyday life we experience rules in our lives, for example; stop the car at the red traffic light signal, drop the children at school at 8AM, pay the credit card bill on or before the due date, etc. Violation of certain rules can lead to costly fines, interest payments, or worse. Similarly, every company has several thousands of business rules in various formats depending on their business process and model. For example; Customer A receives material A at the price of $2000 US dollars and their delivery time will be 1 week if the order quantity is >= 100 units. Customer B receives material B at the price of $3000 US dollars and their delivery time will be 2 weeks if the order quantity is >= 90 units. Customer C receives material C and their delivery time will be 3 weeks if the order quantity is >=80 units. The business rule violations in companies leads to fines for breaching service level agreements and thresholds, potential cancellation of orders etc. But in certain circumstances, violation of business rules can lead to losing customers permanently. These types of complex business rules can be easily handled through SAP Business Rule Framework Plus functionality.
What is SAP Business Rule Framework Plus (SAP BRF+)?
SAP Business Rule Framework Plus (BRF+) is a component of the SAP Netweaver platform and provides a comprehensive application programming interface (API) and user interface (UI) provided through SAP Web Dynpro ABAP technology. It allows us to define, edit and process business rules effectively. It provides functionality to model business rules in an intuitive way and to reuse these rules across different applications.
The image below provide a logical overview of a typical SAP Business Rule Framework Plus environment.
Image Source: SAP AG
Business Rule Workflow
The image below demonstrates the logical flow of steps involved in developing a business process rule:
Image Source: SAP AG
The logical steps can be described as follows:
- Create an application.
- Create a function.
- Create and assign Context Data Object
- Create and assign a Result Data Object
- Assign Top Expression to the function
3. Create and assign Ruleset(s).
4. Create and assign Rules.
- Create and assign Expressions
- Create and assign Actions
5. Activate the objects
6. Simulate the function
7. Integrate the SAP BRF+ function with SAP Event Management Function
Examples of scenarios where we can use SAP BRF+ in SAP Event Management
There are a number of areas where SAP Business Rules Framework Plus can be combined with SAP Event Management. Examples of this include but are not limited to:
- Validation of sales orders, delivery and shipment data prior to triggering any expected and unexpected events.
- Matching suitable sales organizations, customer groups, customers, material groups, materials and locations before triggering actual events.
- Calculation of shipment delivery lead time based on different sales organizations, customer groups, customers, material groups, materials, locations and storage temperature.
- Import and export customs declaration lead times subject to countries and any cross-border restrictions.
- Customer specific estimated time of arrival (ETA) tolerances featuring deviations, for example; ±7 days.
- Customer and material-specific estimated time of arrival (ETA) tolerances featuring deviations, for example; ±5 days.
- Material specific estimate time of arrival (ETA) tolerances featuring deviations, for example; ±3 days.
How to include SAP BRF+ functions in SAP Event Management interface reflecting relevant or expected event scenarios from SAP Enterprise Central Component, SAP Transportation Management and/or SAP Global Trade Services?
The following logical steps outline the process required are as follows:
1. Create a custom function module for Expected Event Extractors or create SAP Event Management Relevance Functions (application object types) or SAP Event Management Relevance Functions (Event Types) Functional Module.
- Include SAP Business Rules Framework Plus Application, Function ID and Function Name in the custom functional module.
- Build the input parameters and statically call SAP BRF+ in the custom functional module.
2. Assign the custom functional module to the following:
- Expected Event Extractors
- Define Application Object Types
- Define Event Types
Let me take you through a detailed scenario in a steel manufacturing company, where SAP BRF+ can be used within a complex business process.
Source: World Steel Org
The client has 100 material groups in their company. Each material group contains 1500 products. Each product has 3 to 5 variants, including length, height and width. Some customer specifications and requirements are different from the standard variant configurations.
In calculating the number of elements, we can see the following potential problem:
100 material groups x 1500 products = 150,000 products
150,000 products x 3 product variants = 450,000 approximate product options
450,000 product options x customer custom requirements = Exponential numbers
When a shipment is created to fulfill an order, business rules determine the subsequent expected events in SAP Event Management, for example; loading begin, loading end, proof of pickup and departure.
In the case of our steel manufacturing business, the following business rules have been defined:
- The loading begin event should happen for X, Y and Z material group within 1 week.
- The loading begin event should happen for A, B and C material group within 2 weeks.
- The loading begin event should happen for D, E and F material group within 3 weeks.
- The above rules do not apply for specific materials M, N and O and in this case, the loading begin event should occur within 5 days and trigger an email notification to the respective customer service representative.
- When customers G, H and I are placing an order, a high priority email notification alert to the customer Account Manager should be triggered and the loading begin event should occur within 3 days.
SAP BRF+ Decision Table
The following decision table can be used to easily see the business rules that should be applied to customers, material groups and materials based on the time of the loading begin event and whether an email alert should be triggered.
The above rules are easily accommodated in SAP BRF+ through the implementation of embedded functionality entitled Rules and Rulesets, Rule Flows, Decision Tables, Decision Trees, Formulas and Scorecards. It should be noted that this is not limited and SAP BRF+ can also accommodate more complex business rules as well.
Benefits of using SAP BRF+ in SAP Event Management
The following benefits are seen when using SAP BRF+ in SAP Event Management:
- Complex business rules can be handled easily through the use of expressions, including functionality such as the Decision Table, Decision Tree, Formula and ABAP function calls.
- It’s possible to trigger actions such as send email notifications, write a log entry and execute a workflow task from SAP BRF+ for unreported and unexpected events, if required.
- Custom expressions and actions can be created to handle highly complex business rules for SAP Event Management.
- A bulk activity user interface has been provided to allow user to simply perform multiple operations against a number of objects at the same time.
- There is no hard coding required for business rules.
- It is possible to edit the business rules without very much technical knowledge and activate the business rule again once the changes have been applied.
- New event handlers for expected events are automatically determined based on modified business rules.
- It’s possible to maintain business rules catering for expected and unexpected events through Microsoft Excel.
Performance considerations using SAP BRF+ in SAP Enterprise Resource Planning, SAP Transport Management and SAP Event Management
Most of the time when formulating a solution for customers, the business rule validation process occurs on the SAP Netweaver platform, but we perhaps do not consider system performance. With hundreds or thousands of business rules defined in SAP Event Management, even just a single second delay in certain business process event scenarios could incur the company a large expense.
Performance measurements are mostly dependent on hardware, memory, network and any other processes that are running on the system. SAP BRF+ rules are executed by calling a function via the Application Programming Interface (API). When calling a function, the appropriate class name and the class is loaded into the ABAP memory. The loading of this class takes less than 100KB and overall doesn’t have a large impact on the total memory usage. It’s better to design the environment with scalability in mind, ensuring that enough memory, CPU and system resources are provisioned, mitigating any potential performance impact once the SAP BRF+ and SAP Event Management system is fully up and running at peak usage.
Integrating SAP BRF+ into SAP Event Management brings many advantages in terms of defining complex business rules. However, whilst there is no standard SAP BRF+ function defined in SAP Event Management, a customized solution and integration can provide many benefits to the business.