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

  1. Have a SLA defined on a work object.
  2. Make SLA to go to broken state.
  3. Do a local action to adjust SLA
  4. 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 April 28, 2017 - Updated May 17, 2017


100% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.