How to create a MSMP BRF+ initiator rule using loop and table operationIn MSMP, Access Controls 10.0 and 10.1 provides extremely flexible and powerful tool to configure workflows. In this document we will see how to create BRF+ (NOT line item by line item) msmp initiator rule by taking example of real business case in context of Access Request. First we need to understand the difference between MSMP BRF+ rule and BRF+ flat rule ( lineitem by lineitem ) before we can create MSMP BRF+ rule. Here are key differences between BRF+ rule and BRF flat rule MSMP BRF+ rule provides great flexibility and almost all the scenarios can be achieved by this which are not possible by using BRF+ flat rule. This document provides step by step guide for creating BRF+ rule to achieve complex business scenario 1.) Business Scenario If an access request with multiple roles/systems contains any role with “High” critical level, then the complete request should go to a specific path. Since the path of each lineitem in request depends on information from all the roles of request so to achieve this scenario we will use MSMP BRF+ Initiator Rule with Table Operation and Loop 2.) Generate BRF+ Shell for Access Request Initiator Execute Transaction GRFNMW_DEV_RULES Fill generation criteria (Process ID, Rule type, etc.) Specify Generation options Generate rule shell (Execute button) Workbench -> Open Object and specify object ID from previous step . Remember (copy to clipboard) the generated function GUID 3.) Activate Empty BRF+ Rule Open transaction BRF+ To locate the generated function user menu. ” the result data object has changed automatically. change the mode to “Event Mode” and activate the function Since Function mode has been changed to “Event mode. In BRF+ function. change the result data object to GRFN_MW_T_ROUTING . so it has to be reset manually In “Signature” tab of BRF Function. . 1.4. Add Variable to Ruleset o Add a Boolean variable that will be used as table operation result .) Create Ruleset in BRF+ Function Click on “Create Ruleset” button Provide any name for your ruleset and click on “Create And Navigate To Object” 4. . 2.Create Expression of Type “Table Operation” Click on “Insert Rule” button to create new rule From within rule.4. click on “Add” -> “Process Expression” -> “Create” to create a new expression Create expression of type “Table Operation” and provide suitable name and description . Create Rule within Ruleset . . Check for any role in request with critical level of “High” Use table from context that has all the line items present in the request Additional conditions can be added as per requirement . 4.Create Expression of Type “Loop” Go back to your rule set and create a second rule in the rule set From within rule.3. create a new “Loop” expression that will loop on all line items of the request . Create another New Rule in Ruleset . . Select “Processing Mode” and “Loop Mode” Loop at “GRAC_T_REQUEST_RULE_LINE.” which is a table containing all roles/systems of the request . 1. This expression will be of type decision table. Create Rule within Loop Expression . .4.Create Expression of Type “Decision Table” Create a new rule within loop Create a new expression from this rule.3. Provide details and add columns Select result data object and result columns Result data object GRFN_MW_S_ROUTING is standard result for routing and initiator rules . o o Add Condition columns from the “Table operation” expression created in earlier steps Along with this. additional columns from the context can be added into decision table . . ” So if any of the roles were of “High” criticality level. Add Condition to decision table. then complete request would go to “CRITICAL_PATH”* Activate decision table and go back to “Loop” .” The result will be true if request contains any role with criticality level of “High. here. it is checking the result of expression “TABLE_OPERATION. In “Loop” expression. add a new rule to append the result of decision table to the BRF result Activate “Loop” expression and go back to ruleset . . make sure that the first rule in sequence is Table operation expression Use Up and Down arrows to change the sequence and activate ruleset .) Check Rule Sequence in Ruleset In Ruleset.5. ) Register new initiator rule in msmp configuration .6.
Report "How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation"