Resolving flow issues by using problem flows
In Pega Platform™, when users complete an assignment and a problem arises with the flow, the system pauses the primary flow execution and begins a standard problem flow. With a standard problem flow, administrator can determine how to resolve the flow.
Pega Platform provides three standard problem flows:
- FlowProblems for general process configuration issues.
- pzStageProblems for stage configuration issues.
- ConnectionProblem for integration issues.
The problem flow administrator identifies and manages problem flows on the Flow Errors landing page.
Note: As a best practice, override the default workbasket or impacted operator settings in the getFlowProblemOperator activity in your application to route the issue to the appropriate destination.
Copy the FlowProblems flow to your application to support your requirements. Do not change the name key. For example, you add a Send Email smart shape to each CancelAssignment action to notify the manager when the cancellations occur.
In the following diagram, the FlowProblems flow has two assignments, one that routes to a work queue, and the other to a worklist. Both assignments route to Param.OperatorToInform. Both assignments have four actions:
When submission of a CancelAssignment action occurs, the system sends an email to the configured receipent.
Stage-related problem flows
Problem flows can arise due to stage configuration changes, such as when a stage is removed or relocated. When an assignment cannot process because of a stage-related issue, the system begins the standard pzStageProblems flow.
The following diagram shows how the the system defines the pzStageProblems flow. The fork at the top avoids the assignment if the flow runs in App Studio. Otherwise, the flow pauses at an assignment, pzStageProblems. Two actions are available: Change Stage and Cancel Assignment.
For example, in a Booking application, the Booking stage is refactored to become a separate case type. The following figure shows the initial Booking stage before refactoring takes place:
A Booking case creation step and a Wait step are now at the end of the process of the Request stage. As a result, you remove the unnecessary Booking stage in the parent stage's case life cycle. Finally, any in-flight assignments in the Booking stage do not move back to the Request stage by using a bulk processing activity.
When users attempts to advance a case that existed in the former Booking stage, the system initiates the pzStageProblems flow. Within this flow, users can select Change stage from the menu, as shown in the following figure:
Users can then manually move the case to another stage, such as the Request stage, as shown in the following figure:
For backward compatibility, consider temporarily keeping an outdated stage and its steps as they are. For newly created cases, use a Skip stage when the condition in the Stage Configuration dialog box is to bypass the outdated stage.
A flow execution can call an external system such as a relational database, Enterprise JavaBean, or Web service through an Integrator shape on a flow rule. The activity referenced in the Integrator shape references a connector rule (for example, a Connect SOAP rule) that controls the communication and data exchange with the external system.
To facilitate the detection of problems and analysis or repair of such events, you can designate a flow rule for connector exceptions in your application. Failure of an Integrator shape causes the designated flow rule to start. The flow rule can send out email correspondence, attempt retries, skip over the integrated step, or send an assignment to a user.
For connectors, Pega Platform calls the ConnectionProblem flow. You can override and customize the ConnectionProblem flow to support your requirements.
The following figure shows how the system defines the ConnectionProblem flow. The fork at the top avoids the assignment if the called resource is available and executes FlowProblems sub-flow. Otherwise, the flow pauses at an assignment, WaitForRetry. Two actions are available: Cancel Assignment and Resume Problem Flow.
Check your knowledge with the following interaction: