How to create an Initiator BRF+ Flat Rule
Purpose of this document is to explain the functionality of BRF+ rule and it's integration with GRC.
Below document detail explains how to create a BRF + Flat Rule for Access Request MSMP Workflow. BRF+ Flat rule allows people without development skills to easily create complex rules for triggering workflows. Pre-requisite to create this is that you have already a working MSMP workflow configured.
Creating a Rule
Go to IMG. GRC -> Access Control -> Workflow for Access Control -> Workflow-Related MSMP Rules
- Choose the MSMP Process ID you want to link the rule to. For example: SAP_GRAC_ACCESS_REQUEST
- Select rule type BRF+ Flat Rule
- Select rule kind Initiator Rule
- Give a name to the Rule ID. For example: Z_BRF_INITIATOR
- Give a name to the Application/Func. Group name.
- Make sure both "Generate Rule" and "Gen. Rule Work-area" are selected. Click in the Input box for “Override BRF+ Application Tex” and click Enter.
- You will get the option to create the decision table.
- Select the attributes for the Decision Table.
- Select "Validate Rule Execution" and “Add Initial Line to the Line Items” and run the program.
- A rule should be created successfully.
Note: Specify nay name for the BRF Application. It is recommended to start the Application Name by Z.
Customizing the Rule
For customizing the rule, you need to follow the following steps.
- Go to IMG. GRC -> Access Control -> Workflow for Access Control -> Define Business Rule Framework
- Navigate to the Application ID you just created.
3. Copy the object and assign the development package to the same
Note: We are doing this step to ensure that the BRF Rule we are creating is transportable. We can delete the local object if not required.
4. Expand the rule ID until you find the RULE ID previously created.
5. Click and create the Decision table in the Top Expression and you will get the Decision Table created earlier.
Insert as many rows as required. Each line will match a specific condition based on request attributes depending on the columns you selected. Each line will be mapped to a path in the MSMP Workflow configuration, make sure you give it a unique result value in the column RULE_RESULT.
In the above example, we have chosen the Direct Value Input after selecting the icon at each cell of the table. Once you have typed in all different conditions including the result values in the decision table click on Save and then Activate
Now navigate to the function and click on Save then Activate.
The function, Application and the decision table should be marked with a green light.
Navigate to the function and click on "Show More", then take note of the ID string as this will be used later when configuring the process ID with the new rule.
Configuring MSMP Workflow
Go to IMG. GRC -> Access Control -> Workflow for Access Control -> Maintain MSMP Workflow
Select the process ID used when creating the rule and click on "Display/Change" and go to stage Maintain Rules.
Add the new rule ID to the list of rules (use the long string ID, not the rule name) – 0050568B4B261EE0B293A707477F01B4 (in our example)
Search the Rule ID you have created now in the Table – List of Rules. Select the respective row and then click on results and add all possible rule result values as configured in the decision table in column RULE_RESULT.
Under Global Rules change the initiator to the new rule ID.
Go to stage Maintain Paths and make sure you have created all required paths to be linked to the initiator
Go to stage Maintain Route Mapping and add an entry for each path you want to trigger using the initiator. Notice that the rule ID is always the rule ID configure as Global Rule in stage Maintain Rules. Also the Rule Result value must match that of the decision table and configured in step 4.
Generate the MSMP Workflow
Now you should be able to create a request and it will be routed according to the mapping configured and the decision table created.
The result values from the BRF+ Initiator rules must be unique across rules
The BRF+ rules are matched in order from top to bottom.
Only the Global Initiator can be mapped to paths, meaning there will be only one Initiator per Process ID
1624157: GRC 10.0 How to transport MSMP BRF+ rules
1604296: GRC 10.0 BRM shows Default methodology while Role
1637515 - GRC 10.0 - Not able to find the pre delivered BRF+ rules.