Ungrouping Groups with Scopes
Groups with scopes are groups that contain group variables, event handlers, fault handlers, and compensation handlers. To ungroup groups with scopes, click the icon and select Ungroup option. When the group is removed, the GroupStart and GroupEnd elements are deleted, and the activities move to the space that formerly contained the group. The contents of the group are re-located based on the type of container that held the group. A group with a scope can be contained within a local transaction group, a group with a scope, or a process.
Groups with Group Variables
Group variables, which can consist of activity input variables, activity output variables, or user-defined variables, are moved out of the group to the nearest container that can be a group with a scope, or a process. Global and local variables, including group counter variables, index variables, or other variables that are part of the group, are deleted during the ungrouping process.
Groups with Event Handlers
If a group with event handlers is contained in a group with a scope, a Local Transaction group, or a process, the activities and activity transitions are moved to the process flow of the container.
- If the container is a group with a scope, an event handler with the same configurations is created for the container, and activities are moved to the newly created event handler.
- If the container is a process, an event handler with the same configurations is created for the process, and activities are moved to the newly created event handler.
- If the container is a local transaction group, an event handler with the same configurations is created for the nearest group with a scope. If there is no nearby group, or parent group, with a scope, an event handler is created for the process. In both cases, activities are moved to the newly created event handler.
Groups with Fault Handlers
- If the container is a group with a scope, a Catch, or a Catch All, fault handler is created for the container, and activities in the fault handlers are moved to the newly created fault handlers.
- If the container is a process, a Catch, or a Catch All, fault handler is created for the container, and activities in the fault handlers are moved to the newly created fault handlers.
- If the container is a local transaction group, a Catch, or a Catch All, fault handler is created for the nearest group with a scope, or is created for the process. Activities in the fault handlers are moved to the newly created fault handlers.
Groups with Compensation Handlers
If activities in a group with compensation handlers is contained in a group with a scope, a Local Transaction group, or a process, the activities and activity transitions in the group moved to the process flow of the container.
- If the container is a group with a scope, and the group does not have a compensation handler, a compensation handler is created for the container, and activities are moved to the compensation handler.
- If the container is a process, a compensation handler is not created for the container, and the compensation handler activities are moved to the process flow.
- If the container is a local transaction group, a compensation handler is not created for the container. Instead, a compensation handler is created for the nearest group with a scope.