The Business Rule Framework functions can become quite complicated. You can call functions within a function, build various cases, loops and table operations to get to your final result. When you perform a simulation and show all processing steps, then you quickly lose the area where a specific intermediate result is incorrect. Especially those new to BRF+ will get lost and get discouraged from spending the necessary time to master the tool.
Even the simplest function can benefit from a visual representation of the configuration. Also, such a visualisation might help when you want to prototype new business requirements.
Those familiar with workflow will often use the user-friendly visualiser to understand when to execute which step. Such functionality is not available within the Business Rule Framework.
That means that you need to find a method to document how all the BRF+ building blocks fit together to execute a function. It makes sense to use the Business Rule Framework icons as much as possible and to use different colours to make a distinction between the function, ruleset and rule.
You can see an example below.
You notice three sections:
- Blue: The BRF+ function with the signature.
- Green: The ruleset with optional precondition or variables
- Amber: The rule with the IF-THEN-ELSE statement
An additional pink colour highlights expressions, such as a function call, table operation or database look-up.
The example in this blog explains the configuration for the function SET_PACKING_MATERIAL.
It has the table PACKING_RULES and structure GENERAL_DATA_INPUT in the signature.
The table PACKING_RULES is bound to the SAP data dictionary table ZPACKING_RULES, whereas GENERAL_DATA_INPUT is bound to MARA.
The structure GENERAL_DATA_OUTPUT is returned and linked to the MARA table.
There are two rulesets, INITIALISATION and PACKING_MATERIAL.
The INITIALISATION moves the data from GENERAL_DATA_INPUT to GENERAL_DATA_OUTPUT when input data exists.
The PACKING_MATERIAL ruleset has an additional PACKING_MATERIAL variable and gets its value via the function call GET_PACKING_MATERIAL.
You can view the details for the function call separately because many rulesets can use it. That makes it out of scope to explain in this overview.
Finally, you have the rules within the rulesets.
This approach to visualise the functionality within a BRF+ object has been proven quite popular with consultants. It is relatively easy to document using these rules and gives a quick overview of the steps to get to a result.
Of course, every SAP client using BRF+ will have different ideas on how to visualise the deployed functionality. This example in this blog can be a good starting point to discuss how to document BRF+ configuration.