Conditional execution of processes and stages
You can define conditions that control whether a process or stage runs in a case. A condition consists of a field, comparator, and value. Processes and stages are either executed or skipped if the case run-time values match the conditional logic defined.
By default, a stage never skips unless a condition is present.
By default, a process always starts unless a condition is present.
You can add more than one condition to a stage or process.
- On a stage, you define a condition with comparators to determine when the stage is skipped. On a process, you define a condition with comparators to determine when the process is executed.
Child cases
Complex business transactions may require the creation of multiple cases. In Pega Platform™, you can model case relationships with a case hierarchy that contains top-level cases and child cases.
A parent case that creates multiple child cases allows for work to be processed in parallel. Different parties with different expertise can handle each child case. When processing child cases in parallel, the parent case may need to wait until a child case is complete before the parent case can be resolved.(child cases represent work that must be completed to resolve the parent case. 先完成子案例,才能解决父案例)
Child cases are beneficial in situations where you want to:
- Model work that different parties perform
- Model work that follows different reporting options
- Model work that follows different time frames
- Model work that is common to multiple case types
Implementing a business process in a separate case type also allows you to reuse the case type as needed.
To add a child case to a case type, add a Create Case automation step to the case life cycle. When encountering the Create Case step, Pega Platform creates an instance of the specified case type.
When creating a child case, you can also specify the information to copy from the parent case to the child case through a process known as propagation. You identify the fields in the parent case to copy from and copy the values to fields identified in the child case. This configuration is performed on the Create Case step.
If the data in the child case should represent the data at the time of the child case creation, data propagation is appropriate. If the information should remain synchronized with the parent case, and the data may change on the parent case, then it is more appropriate to reference the data in the parent case.
Pausing and resuming case processing
You can enforce dependencies using the Wait step. The Wait step allows you to pause and resume case processing when the case meets conditions that you define.
The Wait step can be configured to pause case processing based on Wait type: Case Dependency or Timer.
The Case Dependency wait type pauses case processing of a parent case until the child case dependency resolves.
You create a case dependency by adding a Wait step to the parent case. When a parent case reaches the Wait step, the case pauses until all child cases or any child case of a given type reach a defined status. The status could be a standard status like Pending-Approval or a custom status defined in your application. You can also set the Wait step to To be resolved, where a case is resolved when the case status is set to a value that starts with the word Resolved.
A hierarchical relationship between cases, such as parent and child cases, must exist for the wait shape to consider the dependency at runtime.
The Timer wait type pauses a case until the Set date/time interval expires or until a Reference date/time is reached.
You can configure the Wait step to pause the process for a fixed interval (hours/minutes) or based on the value of a property reference. You either specify a specific length of time the case should pause, or use a variable that contains a date when the case should resume. For example, with an accident claim, you may give someone 24 hours to upload pictures for the accident. You want to pause the case until the wait time has elapsed.