23
How to create a MSMP BRF+ initiator rule using loop and table operation In 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

How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

Embed Size (px)

DESCRIPTION

BRF

Citation preview

Page 1: How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

How to create a MSMP BRF+ initiator rule using loop and table operation

In 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

 

 

Page 2: How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

 

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)

 

 

Page 3: How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

 

Remember (copy to clipboard) the generated function GUID

 

 

3.) Activate Empty BRF+ Rule 

Open transaction BRF+ To locate the generated function user menu, Workbench -> Open Object and specify object ID

from previous step

Page 4: How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

 

In BRF+ function, change the mode to “Event Mode” and activate the function

Since Function mode has been changed to “Event mode,” the result data object has changed automatically, so it has to be reset manually

In “Signature” tab of BRF Function, change the result data object to GRFN_MW_T_ROUTING

Page 6: How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

 

4.) 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.1. Add Variable to Ruleset

 

o Add a Boolean variable that will be used as table operation result

 

Page 8: How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

 

4.2. Create Rule within Ruleset - Create Expression of Type “Table Operation”

 

Click on “Insert Rule” button to create new rule From within rule, click on “Add” -> “Process Expression” -> “Create” to create a new expression Create expression of type “Table Operation” and provide suitable name and description

Page 10: How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

 

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

Page 11: How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

 

 

4.3. Create another New Rule in Ruleset - Create Expression of Type “Loop”

 

Go back to your rule set and create a second rule in the rule set From within rule, create a new “Loop” expression that will loop on all line items of the request

Page 13: How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

 

 

Select “Processing Mode” and “Loop Mode” Loop at “GRAC_T_REQUEST_RULE_LINE,” which is a table containing all roles/systems of the

request

Page 14: How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

 

4.3.1.     Create Rule within Loop Expression - Create Expression of Type “Decision Table”

Create a new rule within loop Create a new expression from this rule. This expression will be of type decision table.

 

Page 15: How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

 

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

Page 16: How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

o Add Condition columns from the “Table operation” expression created in earlier stepso Along with this, additional columns from the context can be added into decision table

Page 18: How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

 

Add Condition to decision table; here, it is checking the result of expression “TABLE_OPERATION.” The result will be true if request contains any role with criticality level of “High.”

So if any of the roles were of “High” criticality level, then complete request would go to “CRITICAL_PATH”*

Activate decision table and go back to “Loop”

Page 19: How to Create a MSMP BRF+ Initiator Rule Using Loop and 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

Page 21: How to Create a MSMP BRF+ Initiator Rule Using Loop and Table Operation

 

 

5.) Check Rule Sequence in Ruleset 

In 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