Question
Staidlogic
US
Last activity: 24 Jun 2024 10:19 EDT
Understanding OOTB GetNextWork Activity Logic
Hello,
I am currently working on a project where I need a deeper understanding of the OOTB GetNextWork activity in Pega. Specifically, I would like to understand the following aspects:
How does the commit happen on the pyWorkPage when an assignment is moved to the worklist? What is the exact process of updating the pyWorkPage during this transition? Any detailed explanation or references to relevant documentation would be greatly appreciated. Thank you for your assistance!
-
Reply
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Accepted Solution
Updated: 24 Jun 2024 10:19 EDT
Pegasystems Inc.
CA
Thanks for providing your details. Can you please confirm when you will assign the work object to the user?
1. If the user clicks "Get next work" (GETNextWork_MoveAssignmentToWorklist = true), the work object should be assigned immediately.
2. If the user acts on the case (GETNextWork_MoveAssignmentToWorklist = false), the work object will be assigned once the user acts on the case.
If you choose the first option, the declare trigger should be invoked. If you choose the second option, the declare trigger will be called once the user acts on the case.
Pegasystems Inc.
IN
@DhanaP1 - Using GetNextWork a user can get the next assignment to be worked. It will move the assignment from worklist to specific user. For more detailed information refer the below link.
Updated: 3 Jun 2024 10:08 EDT
Staidlogic
US
Thank you for your response!
I am specifically interested in understanding the commit process for the pyWorkPage
. My requirement involves running a declare trigger on the committed save of the pyWorkPage
for all case lifecycle events. However, my trigger is not being invoked during the GetNextWork
OOTB functionality, as it appears that the commit is not happening explicitly.
I am seeking advice on how to extend any of the OOTB rules within the GetNextWork
functionality without updating the actual getnextwork activity to address this issue. Could you please provide guidance on how to achieve this?
Thank you for your assistance.
Accepted Solution
Updated: 24 Jun 2024 10:19 EDT
Pegasystems Inc.
CA
Thanks for providing your details. Can you please confirm when you will assign the work object to the user?
1. If the user clicks "Get next work" (GETNextWork_MoveAssignmentToWorklist = true), the work object should be assigned immediately.
2. If the user acts on the case (GETNextWork_MoveAssignmentToWorklist = false), the work object will be assigned once the user acts on the case.
If you choose the first option, the declare trigger should be invoked. If you choose the second option, the declare trigger will be called once the user acts on the case.
Rulesstack Private Limited
IN
Hi @DhanaP1,
Get Next Work:
The Get next work pulls assignments from either the workbasket or worklist and sends them to users for work.
Get from workbasket first:
If it is false, it gives priority to the worklist.
Merge Workbaskets:
It consolidates all the assignments from the workbaskets array and chooses the appropriate assignment.
Use all workbasket assignments in the user’s workgroup:
Instead, all workbasket assignments within the user's workgroup can be utilized.
As per the attached flow chart the decision-making process to obtain the next work assignment is depicted in this flowchart. The first step is to decide if the worklist should be prioritised. If the worklist is prioritised, it looks first to see if there are any open assignments. If so, it filters and sorts them according to urgency. It searches the work queues if the worklist contains no assignments. Assignments are additionally filtered and sorted if they are discovered in the work queues. The process terminates if there are no assignments in either the worklist or the work queues. In the end, the most urgent work is sent back to be completed.
Hope it cleared your doubts.
Thanks,
Ajay
Staidlogic
US
@Ajay Kumar Atmakur
Thank you for your response!
I am specifically interested in understanding the commit process for the pyWorkPage
. My requirement involves running a declare trigger on the committed save of the pyWorkPage
for all case lifecycle events. However, my trigger is not being invoked during the GetNextWork
OOTB functionality, as it appears that the commit is not happening explicitly.
I am seeking advice on how to extend any of the OOTB rules within the GetNextWork
functionality to address this issue. Could you please provide guidance on how to achieve this?
Thank you for your assistance.
Pegasystems Inc.
GB
The GetNextWork activity in Pega is the entry point to the GetNextWork algorithm. It searches the operator's Worklist or the Work Queues listed on the operator record based on the operator's record configuration. If an Assignment is found, it is examined by the GetNextWorkCriteria decision tree. The application calls the @baseclass.doUIAction activity, which calls Work-.GetNextWork, which immediately calls Work-.getNextWorkObject. The exact process of updating the pyWorkPage during this transition depends on the configuration of the operator record of the user. Regarding the commit on the pyWorkPage when an assignment is moved to the worklist, it's important to note that Pega commits at the end of each flow. However, the commit might not be happening explicitly during the GetNextWork functionality, which could be why your declare trigger is not being invoked. To extend any of the OOTB rules within the GetNextWork functionality, you might need to create a custom activity that includes your specific requirements and call this activity within the GetNextWork process. However, please note that modifying OOTB rules should be done with caution and thorough testing to ensure it doesn't impact other functionalities.
⚠ This is a GenAI-powered tool. All generated answers require validation against the provided references.
The GetNextWork activity in Pega is the entry point to the GetNextWork algorithm. It searches the operator's Worklist or the Work Queues listed on the operator record based on the operator's record configuration. If an Assignment is found, it is examined by the GetNextWorkCriteria decision tree. The application calls the @baseclass.doUIAction activity, which calls Work-.GetNextWork, which immediately calls Work-.getNextWorkObject. The exact process of updating the pyWorkPage during this transition depends on the configuration of the operator record of the user. Regarding the commit on the pyWorkPage when an assignment is moved to the worklist, it's important to note that Pega commits at the end of each flow. However, the commit might not be happening explicitly during the GetNextWork functionality, which could be why your declare trigger is not being invoked. To extend any of the OOTB rules within the GetNextWork functionality, you might need to create a custom activity that includes your specific requirements and call this activity within the GetNextWork process. However, please note that modifying OOTB rules should be done with caution and thorough testing to ensure it doesn't impact other functionalities.
⚠ This is a GenAI-powered tool. All generated answers require validation against the provided references.
Get Next Work customization > The Get Next Work algorithm
Automated and intelligent work assignment
Does pega save or commit pyworkpage end of every flow
Eclatprime Digital Private Limited
IN
@DhanaP1 To invoke the trigger inside the activity of getnextwork,Try to save that rule in your implementation layer then play with the logic whatever u want to have it . pyworkpage is the context i guess its using currently is in different RS for different class.
Eclatprime Digital Private Limited
AU
Hi @DhanaP1,
You can refer the below link to get the detailled info about GetNextWork
Get Next Work feature | Pega Academy
Hopes it helps you
Thanks
Raja