Featured post

GetNextWork functionality in pega

What is GetNextWork in pega? Pega provided a functionality to get the most urgent assignment(task) for user to work on. This is configured o...

How to customize Get Next Work in pega

We can customize GetNextWork (GNW) logic in pega to meet our business requirements. Pega will follow default GNW logic to prioritize and get the assignment for the user to work on. Sometimes we will have a requirement to change the prioritization work, simply we can adjust the assignment urgency value (pyUrgencyAssignAdjust this is being used in declare expression), we can manually adjust the assignment urgency.
However if the requirement doesn't satisfy even after adjusting the assignment urgency manually. We have to look for other rules and customize them. Pega will run below rules in order to to perform GetNextWork logic. See rule availability for below rules.

1. @baseclass.doUIAction - activity (Final)
2. Work-.GetNextWork - activity
3. Work-.getNextWorkObject - activity (Final)
  •     Activity Work-.findAssignmentInWorklist (Available)
                ListView - Assign-Worklist.GetNextWork (Available)
                            - Uses default getContent activity to retrieve assignments.
  •     Activity Work-.findAssignmentInWorkbasket (Available)
                ListView - Assign-WorkBasket.GetNextWork (Available)
                           - Uses custom get content activity (getContentForGetNextWork) to retrieve assignments.
4. Decision Tree - AssignGetNextWorkCriteria (Available)
5. Activity Assign- MoveToWorklist  - moves assignment to user's work list
6. Activity Assign-OpenAndLockWork - Opens the assignment from user work list and lock it.
7. Harness Work- Perform harness which displays the assignment for the user to work on

We have two List View rules Assign-WorkList.GetNextWork  and Assign-WorkBasket.GetNextWork . We can change the filter criteria, change the sorting order or join the assignment with a case and so, to get prioritization of work.
Sometimes if we customize the lsit view reports to satisfy one requirement, it may effect the other requirement. So if needed create a separate variants for list view rules by circumstancing the list view rules. We can customize the decision tree Assign-. GetNextWorkCriteria where we can add our own WHEN rules to filter the results. This is the decision tree used to filter the results from List view results by applying two when rules (IsReadyToBeWorkedOn and HasBeenUpdatedByMeToday)
Assign-.IsReadyToBeWorkedOn           -  to check if the assignment is ready to be worked on.
Assign-.HasBeenUpdatedByMeToday  -  to check if the  assignment is modified by the current operator and today.
By circumstancing this decision tree we can add our own when rules as a filter conditions.
We can customize/override below Rule System settings to meet our requirements. 

Pega-ProcessEngine GetNextWork_SkipSkillCheck  - enable or disable to check if the user has the skills required to perform the assignment. By default if will be disabled means we are not skipping the skill check. If we enable it means, we are skipping the system not to check the skills.
Pega-ProcessEngine GetNextWork_SkipSkillCount - enable or disable for skipping skill count check.
Pega-ProcessEngine GetNextWork_SkipUnskilledAssignments - enable or disable for skipping skipping unskilled assignments check.
Pega-ProCom GetNextWork_MoveAssignmentToWorklist - set to true or false. True - GetNextWork will move the workbasket assignments to user's list. False - GetNextWork will keep workbasket assignments in the workbasket and not move them to the user's list.
Pega-ProCom GetNextWork_WorkBasketUrgencyThreshold -  this is being used by findAssignmentInWorkBasket activity, set positive integer above 0 to use this setting.

On the whole we can customize get next work logic by customizing some of the rules.
  1. ListView - Assign-Worklist.GetNextWork 
  2. ListView - Assign-Worbasket.GetNextWork 
  3. Decision tree - Assign- GetNextWorkCriteria
  4. Rule-System-Setting GetNextWork_ * 
See here to know how the GetNextWork functionality works in pega.





1 comment: