Support Article
SLA update after Broken-Process SLA fails
SA-37228
Summary
When an SLA tries to update a work object and the current SLA was in Broken-Process Status, the action fails with an error.
Error Messages
The Flow Action post-processing activity ActionChangeAssignmentSLAProps failed: Instance of class Queue not found: SYSTEM-QUEUE-SERVICELEVEL.SYSTEM-QUEUE-SERVICELEVEL 1490882738462000C931AD59FEDBAE743FDB28910E8A887F
Steps to Reproduce
- Have a SLA defined on a work object.
- Make SLA to go to broken state.
- Do a local action to adjust SLA
- Error message appear on the screen.
Root Cause
The root can be traced back to the OOTB Activity: Updates Assignment SLA Properties CL Work‐ ID ActionChangeAssignmentSLAProps RS Pega‐ProcessEngine:07‐10‐01 Where in step 5 in the JAVA code line 14....if (queuePage.getString("pyItemStatus").equalsIgnoreCase("Broken‐Process"))
QM.repairDeferred(itemid);
nextBlock = "PR";
It looks like the concatenation of the key is wrong, separating the class by dot (.) rather than space and as a result the repair is
attempted on non‐existing queued item:
SYSTEM‐QUEUE‐SERVICELEVEL.SYSTEM‐QUEUE‐SERVICELEVEL 1490882738462000C931AD59FEDBAE743FDB28910E8A887F
whereas the pzinskey of the actual queued item is with <<SPACE>>
SYSTEM‐QUEUE‐SERVICELEVEL SYSTEM‐QUEUE‐SERVICELEVEL 1490882738462000C931AD59FEDBAE743FDB28910E8A887F
Hotfix Change :
There is an API updateDeferred(page,repairBroken) which accepts a Boolean if it has to repair a broken item. Activity ActionChangeAssignmentSLAProps can be updated to use this API instead of updateDeferred. repairBroken flag if set to true will bypass the call to dequeue and hence can solve this issue.
Resolution
Apply HFix-33761
Published May 17, 2017 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.