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:
- Releasing the stuck object so that it can advance through
the business process. In a production setting, this may be
urgent.
- Finding, understanding, and addressing the cause of the
stuck work object, so that changes can be made to prevent
future occurrences.
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.
When 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.
Show all
How 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.
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. |
1. 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.
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.
2. 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.
Action
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.
- If the operator or workbasket needs to be created,
create the operator or workbasket.
- 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.
- Complete this flow action to resume flow
execution.
3.
Missing service level
Symptom
An assignment instance refers to a service level that
cannot be found.
Action
The service level existed when the assignment was created
and when the flow rule was last validated.
- Identify the name of the missing service level
rule.
- If the service level rule was deleted after the
assignment was created, restore it.
- 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.
- After addressing the problem, open the assignment
again.
4.
Missing flow rule
Symptom
An assignment instance refers to a flow rule that created
it, but cannot now be found.
Action
- Identify the name of the missing flow rule.
- If the flow rule was deleted after the assignment was
created, restore it.
- 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.
- After addressing the problem, open the assignment
again.
5. 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.
Action
A fork shape is a dead end. Properties in the work object
cause none of the outgoing connectors to be valid.
- Review the connectors leading from the fork shape.
- Examine the relevant properties in the work object or
assignment.
- Update the flow to allow the work object to advance, or
modify the processing so that the property values can no
longer arise.
6.
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.
- Identify the name of the missing task (Assignment
shape).
- 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.
- After addressing the problem, open the assignment
again.
7.
Missing When rule
Symptom
A flow rule references a when rule that cannot be
found.
Action
The when rule existed earlier, at the time the flow rule
was last validated, but does not exist now.
- Identify the name of the missing when rule.
- If the when rule was deleted after the assignment was
created, restore it.
- 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.
- After addressing the problem, choose
Retry last
step
.
8.
Missing assignment
Symptom
A flow rule references an assignment that cannot be
found.
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.
When a work object does not have an assignment,
the item does not appear in your worklist.
Troubleshooting