Create Actions and Tasks with the Rule Engine |
Scroll Previous Topic Top Next Topic More |
To create action items that can be assigned to users these actions need to be created by rules in the script. This is done with the so-called rule-engine, a template script for action-creation. To create the action items a specific data modeling is necessary. Actions are by default created on dimensions from the CaseInformation-table, thus, the action either refers directly to a CaseID or to a specific dimension-value such as e.g. to a Supplier: AutoCar-Supply. The rule-engine will create two additional tables in the data model:
1.The ActionRuleLinkTable with two fields: CaseID (key to the CaseInformation) and %Type_ActionRuleKey_partial (key to the ActionRules).
The %Type_ActionRuleKey_partial consists of the dimension type and the dimension value - thus this key connects all rules concerning a specific dimension value to all CaseIDs for which this dimension values occurs.
Example: for the supplier "Allegro-Möbel GmbH" an action is created. The %Type_ActionRuleKey_partial then has the following format Supplier:Allegro-Möbel GmbH and connects all respective cases with the action.
2.The table ActionRules contains all information for an action, the key to the CaseID %Type_ActionRuleKey_partial and a unique identifier %Type_ActionRuleKey.
The %Type_ActionRuleKey is relating the %Type_ActionRuleKey_partial with the respective action. Thus, it is built as dimension-type + dimension-value + action-description.
Example: for the supplier "Allegro-Möbel GmbH" the action "Update price in master data for product labels" is created. The value of the %Type_ActionRuleKey then is Supplier:Allegro-Möbel GmbH:Update price in master data for product labels.
2.Go to the tab 5A. eXe: ActionCreation and un-comment the script pressing STRG+A and clicking the comment-button in the upper left corner.
3.Change the fields from the CaseInformation-table which you would like to consider in your action items. The code shown here is a template, you just need to replace the CaseDimension1-5 fields with your dimensions.
ActionRuleLinkTable:
crosstable (Type, ActionRuleKey)
LOAD
CaseID,
CaseDimension1,
CaseDimension2,
CaseDimension3,
CaseDimension4,
CaseDimension5
resident CaseInformation;
4.Then create the rules. A help table called Rules is provided as template in the script. Fill this table and concatenate more rules to it.
This table contains three mandatory fields: ActionRuleKey, Type and RuleDescription. On these three fields the final ActionRules-table is created..
As long as the metadata (ActionRuleKey,Type,RuleDesc) of the template table Rules are not changed the final ActionRules-table with the correct format for the MPM eXecution module is created automatically in the lower part of the script.
See three examples here:
a.first example: create a rule directly for a case:
All open cases in a credit application process get an action item, that the process should be re-visioned.
Therefore, the field ActionRuleKey is filled with the CaseID-value for which the action is created. the field Type is filled with "CaseID" and the RuleDesc (rule description) will be 'Re-vision the case'.
Rules:
noconcatenate
load distinct
CaseID as ActionRuleKey,
'CaseID' as Type,
'Re-vision the case.' as RuleDesc
resident CaseTimes_$(mvProcessDescription)
where ProcessFinished=0;
When created the action looks like this in the front-end - the Item is the ActionRuleKey, the Action or Issue is the RuleDesc-field.
b.second example: create a second rule directly for a case:
All credit-applications with the loan goal "Car" that are a new credit and below 5000 should be confirmed, because the company has recently started a campaign to facilitate the access to credits.
Therefore, the field ActionRuleKey is filled with the CaseID-value for which the action is created. The field Type is filled with "CaseID" and the RuleDesc will be "Trigger fast confirmation for car-loan <= 5000".
Concatenate(Rules)
load distinct
CaseID as ActionRuleKey,
'CaseID' as Type,
'Trigger fast confirmation for car-loan <= 5000' as RuleDesc
resident CaseInformation
where LoanGoal = 'Car' and RequestedLoanAmount <=5000 and ApplicationType='New credit';
When created the action looks like this in the front-end - the Item is the ActionRuleKey, the Action or Issue is the RuleDesc-field.
c.third example: create a more general rule for a specific dimension value:
In this case all credit applications the a non-specified loan goal shall not even be accepted for submission. The assigned user then should trigger an adaption of the platform so that the application is directly rejected in the submission step.
Therefore, the field ActionRuleKey is filled with the LoanGoal-value for which the action is created. The field Type is filled with "LoanGoal" and the RuleDesc will be "'Sharpen rejection rules:...".
Concatenate(Rules)
load distinct
LoanGoal as ActionRuleKey,
'LoanGoal' as Type,
'Sharpen rejection rules: Reject these non-specified loan goals directly before their application-submission' as RuleDesc
Resident CaseInformation
where LoanGoal = 'Not specified';
When created the action looks like this in the front-end - the Item is the ActionRuleKey, the Action or Issue is the RuleDesc-field.
5.On base of the table Rules and its three mandatory fields the table ActionRules is finally created. This part is only for your information - You do not need to change anything here.
ActionRules:
noconcatenate
load
RuleDesc,
Type,
ActionRuleKey,
Type &':'&ActionRuleKey as %Type_ActionRuleKey_partial,
Type &':'&ActionRuleKey &':'&RuleDesc as %Type_ActionRuleKey
resident Rules;
6.Once the rules for the action items are defined go back to Deploy MPM Rules and Actions and follow the missing steps.