Back ForwardTroubleshooting — Stuck work objects

Troubleshooting topics

A work object being processed by a flow execution creates an assignment (or attempts to create an assignment), but users are unable to perform the assignment. The work object is stuck at that point in the flow rule.

Remedying this issue often involves two separate tasks:

This topic emphasizes analysis and diagnostics. For instructions on using the Problem Flow reports to repair items when the cause is known, see Troubleshooting — Basics of problem flows and problem assignments.

TipWhen examining rules that may be relevant to a stuck work object, take care to select those that belong to the same RuleSets and versions of the requestor (user or agent) who last updated the work object. If you as a developer have a RuleSet list that contains additional versions or additional RuleSets not available to the requestor processing the flow execution, the underlying problem may not be reproducible or may be easy to misdiagnose.

 zzz Show all 

zzzHow can a work object become stuck?

At a high level, a struck work object usually indicates a flaw in one or a few relationships among rules, work objects, assignments, or data instances.

The PegaRULES database contains eleven sets of important relationships among these four broad types of objects, suggested in this diagram.

Many of these relationships may be valid at one time but for various reasons become invalid later. Issues with relationships 6 — 10 often cause stuck work objects, in which an assignment cannot be created, cannot be found, or cannot be completed. Issues with relationships #1 — #5 can also cause stuck work objects.

Structure diagram

The relationships are:

#

Relationship

Examples

1 Rules reference other rules. Flow rules may call other flow rules.
2 Rules may reference data instances (rare). Routing activities may identify an individual Operator ID or workbasket.
3 Data instances reference other data instances. Operators belong to a work group.
4 Data instances reference rules (rare). Operators may have an associated skill rating.
5 Work objects reference rules. Flow executions in progress are recorded in the work object.
6 Work objects reference data objects. A work object identifies the Operator ID of the operator who created it.
7 Assignments reference rules. Each assignment identifies the flow rule that contains the assignment shape (task) that created the assignment.
8 Assignments reference data objects. Each assignment references a workbasket or appears on the worklist of an operator.
9 Work objects reference assignments. A work object structure contains a list of assignments.
10 Assignments reference work objects. A work object ID is part of the key to an assignment.
11 Work objects reference other work objects. A covered work object links to the cover object.

zzz1. Flow problems are not monitored or reported

A built in flow named Work-.FlowProblems provides useful diagnostics for debugging applications. Assign someone to take advantage of it.

Symptom

Flow problems occur, but are not detected by the operations staff until a worker notices and reports them.

When reviewing a work object, error messages appear rather than a flow action form.

Messages

Action

By default, when Process Commander detects a stuck work object, the standard flow named Work-.FlowProblems starts for a user named administrator@org.com, where org.com is the organization to which the operator belongs.

Create an operator named [email protected] for each organization, and monitor the worklist of that operator.

If your system is set up to send e-mail, enter a valid e-mail address into that Operator ID instance. Alternatively, include in your application a custom activity that overrides the standard activity Work-.ToProblemFlowOperator to route assignments created by this flow to users who review their worklist often. Different applications can use individual activities (in different RuleSets) to send problems to different worklists.

zzz2. An operator or workbasket is missing

A flow (or an activity referenced in the flow) may reference an Operator ID or workbasket that does not exist in the current system. (Someone may have deleted this Operator ID, or it may exist on another Process Commander system from which a ZIP archive was imported.)

Symptom

The ProblemFlow error is:

Unable to open assigned Data-Admin-Workbasket record

or

Unable to open assignee's Data-Admin-Operator-ID.

Workbasket missing

Missing operatorAction

An assignment cannot be created because a routing activity references a workbasket or Operator ID that cannot be found. The name of the missing operator or workbasket is shown.

  1. If the operator or workbasket needs to be created, create the operator or workbasket.
  2. If the operator or workbasket name is misspelled or was created with an incorrect name, update the router activity (or the parameters sent to the activity by the Router shape on the flow rule) to the correct value.
  3. Complete this flow action to resume flow execution.

zzz3. Missing service level

Symptom

An assignment instance refers to a service level that cannot be found.

Service level missing

Action

The service level existed when the assignment was created and when the flow rule was last validated.

  1. Identify the name of the missing service level rule.
  2. If the service level rule was deleted after the assignment was created, restore it.
  3. If the service level rule exists, check to confirm that it is available and not blocked. Check the RuleSet and version. Confirm that the operator attempting to process the assignment has a RuleSet list that includes this RuleSet and version.
  4. After addressing the problem, open the assignment again.

zzz4. Missing flow rule

Symptom

An assignment instance refers to a flow rule that created it, but cannot now be found.

Flow rule missing

Action

  1. Identify the name of the missing flow rule.
  2. If the flow rule was deleted after the assignment was created, restore it.
  3. If the flow rule exists, check to confirm that it is available and not blocked. Check the RuleSet and version. Confirm that the operator attempting to process the assignment has a RuleSet list that includes this RuleSet and version.
  4. After addressing the problem, open the assignment again.

zzz5. No paths from a Fork shape

Symptom

Execution of a flow has reached a Fork shape, but none of the outgoing connectors can be used to proceed.

Fork issue

Action

A fork shape is a dead end. Properties in the work object cause none of the outgoing connectors to be valid.

  1. Review the connectors leading from the fork shape.
  2. Examine the relevant properties in the work object or assignment.
  3. Update the flow to allow the work object to advance, or modify the processing so that the property values can no longer arise.

zzz6. Missing task in flow rule

Symptom

An assignment instance refers to an assignment task (shape) in a flow rule. The task cannot be found.

Action

A task with that name was present in the flow rule that was used to create the assignment instance.

  1. Identify the name of the missing task (Assignment shape).
  2. If the flow was modified in a way that caused the assignment task to be deleted after the assignment was created, update the flow to include that shape, at least temporarily.
  3. After addressing the problem, open the assignment again.

zzz7. Missing When rule

Symptom

A flow rule references a when rule that cannot be found.

Fork

Action

The when rule existed earlier, at the time the flow rule was last validated, but does not exist now.

  1. Identify the name of the missing when rule.
  2. If the when rule was deleted after the assignment was created, restore it.
  3. If the when rule exists, check to confirm that it is available and not blocked. Check the RuleSet and version. Confirm that the operator attempting to process the assignment has a RuleSet list that includes this RuleSet and version.
  4. After addressing the problem, choose Retry last step.

zzz8. Missing assignment

Symptom

A flow rule references an assignment that cannot be found.

zzz

Action

The assignment existed when the flow rule was last validated, but does not exist when the flow is run again. This condition is usually the result of a missing .pxAssignmentKey value in page .pxFlow. Click Restore This Assignment, which runs the flow again and generates a new assignment.
zzzWhen a work object does not have an assignment, the item does not appear in your worklist.

Definitions flow problem
Related topics Troubleshooting — Basics of problem flows and problem assignments

zzz Troubleshooting