Inflight Cases Operation
Inflight Cases Operation
In today's dynamic business environment, companies must be agile and adapt to changes quickly.
Business processes are no exception to this rule, and sometimes, process changes can cause
problems for ongoing cases in a Pega Platform application. Modifying a step or stage in a flow can
cause in-flight cases to become stuck or cancelled, while failing to consider open work objects during
flow updates can result in various errors. Therefore, proper planning is essential to seamlessly
integrating updates and ensuring that in-flight cases are taken into account.
Several fundamental approaches can be used to safely update flows that are already in production.
Here are some of the effective approaches to ensure a smooth transition:
This approach enables users to process existing assignments without updating the flows. A new
access group is added that points to the previous application version. Then, the access group is
added to the operator ID, enabling the operator to switch to the application from the user portal.
This approach works well when the changes to the process are minimal, and the in-flight cases have
to be completed within a short period.
This approach preserves some shapes in the flow, such as Assignment, Wait, Subprocess, Split-For-
Each, and so on, despite those shapes no longer being used by newly created cases. The newer
version of the flow is reconfigured so that new cases never reach the previously used shapes, but
existing assignments continue to follow their original path. This approach is useful when the changes
to the process are significant, and the in-flight cases may take a more extended period to complete.
3. Circumstancing
Circumstancing involves using rules to differentiate the current state of a flow from its desired future
state. As-of-date circumstancing is one common type of circumstancing. This involves identifying a
property within a case, such as pxCreateDateTime, and using it as the Start Date within a date range.
The End Date within the date range is left blank, and an application-specific Date Time property could
also be used, such as a property like .CustomerApprovalDate. This approach is useful when the
changes to the process are complex, and the in-flight cases are expected to take a long time to
complete.
In this approach, a ticket is set within the same flow, changed to a new stage, or restarted within the
existing stage. In-flight assignments advance to a different assignment where they resume processing
within the updated version. A bulk processing job is run to locate every outdated assignment in the
system affected by the update. For each affected assignment, bulk processing calls Assign-
.OpenAndLockWork followed by Work-.SetTicket, pxChangeStage, or pxRestartStage. For example, a
Utility shape that restarts a stage (pxRestartStage) can be executed.
In conclusion, updating business processes is essential, but it can be tricky when ongoing cases are
involved. A failure to update processes carefully can lead to errors, orphaned assignments, stuck
work objects, and many other problems. However, careful planning, choosing the right approach,
and considering the unique needs of your application can ensure a smooth transition to updated
processes, without causing disruption to ongoing cases.