Both sides previous revision Previous revision Next revision | Previous revision |
en:rule:control_branch [2024-08-22 19:15] – [✔ How to] Anatoly Belaychuk | en:rule:control_branch [2024-11-02 13:36] (current) – [Edit diagram] Anatoly Belaychuk |
---|
====== A subprocess and a control branch may be used as an alternative to the attached event ====== | ====== A subprocess and a control branch may be used as an alternative to the attached event ====== |
| |
{{tag>subprocess event attached_event}} | {{tag>subprocess event attached_event terminate_event}} |
| |
Use a subprocess containing the control branch to implement versatile event processing logic. | Use a subprocess containing the control branch to implement versatile event processing logic. |
<sequenceFlow id="Flow_1mqvexf" sourceRef="Event_0jid81n" targetRef="Activity_1mnvjuz" /> | <sequenceFlow id="Flow_1mqvexf" sourceRef="Event_0jid81n" targetRef="Activity_1mnvjuz" /> |
<sequenceFlow id="Flow_1fkn8r9" sourceRef="Event_0r0tew3" targetRef="Activity_1skmlnn" /> | <sequenceFlow id="Flow_1fkn8r9" sourceRef="Event_0r0tew3" targetRef="Activity_1skmlnn" /> |
<endEvent id="Event_1k1tn88" name="Paid"> | |
<incoming>Flow_0b5yo8b</incoming> | |
</endEvent> | |
<sequenceFlow id="Flow_0b5yo8b" sourceRef="Activity_1mnvjuz" targetRef="Event_1k1tn88" /> | <sequenceFlow id="Flow_0b5yo8b" sourceRef="Activity_1mnvjuz" targetRef="Event_1k1tn88" /> |
<boundaryEvent id="Event_0r0tew3" name="Payment due date" cancelActivity="false" attachedToRef="Activity_1mnvjuz"> | <boundaryEvent id="Event_0r0tew3" name="Payment due date" cancelActivity="false" attachedToRef="Activity_1mnvjuz"> |
</endEvent> | </endEvent> |
<sequenceFlow id="Flow_16a0qq5" name="yes" sourceRef="Gateway_1sygjo0" targetRef="Event_1ltc3ao" /> | <sequenceFlow id="Flow_16a0qq5" name="yes" sourceRef="Gateway_1sygjo0" targetRef="Event_1ltc3ao" /> |
| <endEvent id="Event_1k1tn88" name="Paid"> |
| <incoming>Flow_0b5yo8b</incoming> |
| <terminateEventDefinition id="TerminateEventDefinition_1srmvcb" /> |
| </endEvent> |
</process> | </process> |
<bpmndi:BPMNDiagram id="BpmnDiagram_1"> | <bpmndi:BPMNDiagram id="BpmnDiagram_1"> |
<bpmndi:BPMNShape id="Event_0jid81n_di" bpmnElement="Event_0jid81n"> | <bpmndi:BPMNShape id="Event_0jid81n_di" bpmnElement="Event_0jid81n"> |
<omgdc:Bounds x="112" y="-138" width="36" height="36" /> | <omgdc:Bounds x="112" y="-138" width="36" height="36" /> |
</bpmndi:BPMNShape> | |
<bpmndi:BPMNShape id="Event_0ok4f4i_di" bpmnElement="Event_1k1tn88"> | |
<omgdc:Bounds x="352" y="-138" width="36" height="36" /> | |
<bpmndi:BPMNLabel> | |
<omgdc:Bounds x="359" y="-95" width="23" height="14" /> | |
</bpmndi:BPMNLabel> | |
</bpmndi:BPMNShape> | </bpmndi:BPMNShape> |
<bpmndi:BPMNShape id="Activity_1skmlnn_di" bpmnElement="Activity_1skmlnn"> | <bpmndi:BPMNShape id="Activity_1skmlnn_di" bpmnElement="Activity_1skmlnn"> |
<bpmndi:BPMNLabel> | <bpmndi:BPMNLabel> |
<omgdc:Bounds x="349" y="155" width="43" height="14" /> | <omgdc:Bounds x="349" y="155" width="43" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_05jo8b9_di" bpmnElement="Event_1k1tn88"> |
| <omgdc:Bounds x="352" y="-138" width="36" height="36" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="359" y="-95" width="23" height="14" /> |
</bpmndi:BPMNLabel> | </bpmndi:BPMNLabel> |
</bpmndi:BPMNShape> | </bpmndi:BPMNShape> |
===== Notes ===== | ===== Notes ===== |
| |
- Although it's usually better to use [[en:rule:collapsed_subprocess | collapsed representation of a subprocess ]] to isolate its internals, it may make sence to depict the subprocess expanded in this technique to make the logic clear. | - Although it's usually better to use [[en:rule:collapsed_subprocess|collapsed representation of a subprocess]] to isolate its internals, it may make sence to depict the subprocess expanded in this technique to make the logic clear. |
- As an exception to the [[en:rule:one_outgoing_sequence_flow| general rule ]], one may initiate work and control flows directly from the start event: | - As an exception to the [[en:rule:explicit_parallel_split|general rule]], one may initiate work and control flows directly from the start event: |
| |
<bpmnio type="bpmn"> | <bpmnio type="bpmn"> |