User's Guide > About the User's Guide > Codebeamer: Common Concepts > Trackers > Tracker Workflow > Forking Sub-Processes from Processes (Work Items)
Forking Sub-Processes from Processes (Work Items)
Processes in Codebeamer are represented by work items. Work items, such as requirements, tasks, tests, and bugs, are run sequentially according to their defined workflow.
You may have more complex scenarios for which you want to run process steps in parallel and only continue with the process after all parallel tasks are completed.
Solution pattern
To configure these scenarios in Codebeamer, you need two types of work items:
One for the main processes
One for each type of subprocess
In the main process, you need to define a specific wait state for which subprocesses are forked before and joined after. In the example, this status is called Wait, but you should name this status according to the type of subproccess you are running
For example, if your subprocesses are approvals, the status could be named In Approval and for voting, the name could be In Voting.
To fork subprocesses from a main process, you can configure a Create New Upstream-Downstream Referring Items action for the state transition that leads into the wait status.
The subprocess must have a reference field that contains the reference to the main process. This reference is needed for the subprocess to call back to the main process after completion.
These callbacks can be configured in the subprocess state transitions that lead to a final subprocess status and should trigger the transition of the main process.
In our example, for the main process to be approved, all subprocesses must be approved. Therefore, we need to configure a guard for the approval transition of the main process that will block this state transition unless all sub-processes are finished and none of the subprocesses was rejected.
Because the main process is rejected when one of the child processes is rejected, we do not need a guard for the transition to rejected on the main process.
WorkflowDemo template
You can download and install this sample scenario as a Project Template:
Processes is the main process tracker.
Approvals is the sub process tracker.
The Main Processes workflow is configured as shown in this image:
The Create New Upstream-Downstream Referring Items action is configured for the Verify transition as shown in this image:
The guard to check that all subprocesses have finished and none of them was rejected is shown in the following image:
Is attached to the Approve transition:
The approvals subprocess workflow is configured as shown in the following image:
The callbacks to the main process are configured in the Accept transition:
In the Reject transition:
* 
In the Accept transition, the field Resolution of the approval subprocess is set to Fixed.
This allows the main process approval guard to distinguish between accepted subprocesses and rejected subprocesses.
Was this helpful?