!--a11y-->
Defining Block Flow 
Defining the block flow implies:
● Choosing the items (actions, blocks, or processes) that are executed within the block
● Defining the order and the conditions for their execution
The definition of the block flow strongly depends on the block type – that is, whether it is marked as Sequential, Parallel, Parallel Dynamic, Precondition or Postcondition Loop, or Alternatives.
Use this procedure to define the specific flow required for each block type.
...
1. Open the gallery, select a block, and open its design time.
2.
To
switch to edit mode, choose
(Edit).
3. Select the appropriate object type that you want to add to the block flow from the Items dropdown list.
4.
To
insert an existing object, choose
(Insert).
5.
To
create a new object, choose
(Create New).
○ If you create a new block, you must define its flow as well, as described in this procedure.
○ If you create a new action, you must add callable objects to it. For more information, see Attaching Callable Objects.
6. Repeat steps 3 to 5 to add more items.
7. Make sure that you follow the requirements for the relevant block type that you are creating as described in the table below:
Block Type |
Requirements |
Sequential |
● Any action or block can be added to the block flow. ●
You must define the order in which the actions are
to be executed. To move an item to the desired position in the block flow,
select it and use ● For actions with multiple result states, you can also define targets, as described in step 8 below. |
Parallel |
● Any action or block can be added to the block flow. ● For actions with multiple result states, you can also define targets, as described in step 8 below. |
Precondition Loop Postcondition Loop |
● You must add a loop decision action first. The decision action defines the loop condition. These block types require an action with two result states: Continue and Break. The result states are not displayed in the block flow because you cannot define targets for them. If you choose to add a second decision action, the new action replaces the one you previously inserted. For more information about decision actions, see Creating Decision Dialogs in Developing Composite Applications with CAF GP. ● You must add a loop body block. It includes the actions that are executed if the loop condition occurs. You can choose any block type. |
Alternatives |
● You must add a decision action first. It defines at least two different result states for which you can define targets, as described in step 8. ● You can add any other actions, blocks, or processes, and can define them as targets for the result states of the decision action. |
8. If an action in the block flow defines multiple result states, you can configure a target for each individual result state.
The target is another action from the block flow. Defining it as a target means that this action is executed if the relevant result state is reached.
To configure a target, select the relevant result state and choose the required target from the dropdown list in the Target column.
If you select Terminal, at runtime the process would end if the relevant result state is reached.

You cannot define targets for all available result states; at least one of them must always remain open, so that infinite cycles are prevented.
9.
To
save all changes, choose
(Save
All).
