Skip to main content
Skip table of contents

Event voorbeelden XML

Vooraf

Deze pagina bevat XML-samples van alle types events die configureerbaar zijn binnen de scope van een Skryv BPMN-procesdefinitie.

Standaard events

Events (bpmn:*Event) hebben net zoals alle elementen een id en een name.

Afhankelijk van het type event gelden bijkomende eigenschappen:

  • incoming en/of outgoing sequence flows:

    • start events hebben geen incoming, wel één outgoing.

    • end events hebben één incoming, geen outgoing.

    • intermediate events hebben zowel één incoming als één outgoing (met uitzondering van link events die slechts één incoming of één outgoing hebben).

  • Optioneel een eigenschap die de trigger definieert:

    • cancelEventDefinition: getriggerd door cancellation (zie transactional subprocesses).

    • compensateEventDefinition: getriggerd door compensation.

    • conditionalEventDefinition: getriggerd door een conditie gedefinieerd via een workflow expressie.

    • errorEventDefinition: getriggerd door een bpmn-error.

    • escalationEventDefinition: getriggerd door een escalation.

    • linkEventDefinition: verwijst naar een ander link event binnen dezelfde procesdefinitie.

    • messageEventDefinition: getriggerd door of stuurt een message met specifieke messageRef.

    • signalEventDefinition: getriggerd door of stuurt een signal met specifieke signalRef.

    • terminateEventDefinition: sluit het volledige proces af, ook bij nog actieve onderling gelinkte tokens.

    • timerEventDefinition: getriggerd door een timer gedefinieerd in het event zelf (bijvoorbeeld <bpmn:timeDuration xsi:type="bpmn:tFormalExpression">P1D</bpmn:timeDuration>).

Daarbovenop kunnen start events interrupting of non-interrupting zijn via de isInterrupting-eigenschap:

  • isInterrupting niet gedefinieerd of true: interrupting start event.

  • isInterrupting="false": non-interrupting start event.

Hou er rekening mee dat er binnen de verschillende types subprocessen andere subsets van onderstaande events kunnen gelden. Indien mogelijk wordt dit hieronder telkens vermeld.

Tot slot kunnen events in principe ook meer algemene eigenschappen bevatten. Denk daarbij aan input of output variabelen of listeners. Zo kom je bijvoorbeeld tot onderstaande sample.

CODE
    <bpmn:intermediateCatchEvent id="Event_18m2e5n" name="message opvangen" camunda:asyncBefore="true">
      <bpmn:documentation>Element documentation value</bpmn:documentation>
      <bpmn:extensionElements>
        <camunda:inputOutput>
          <camunda:inputParameter name="dummyLocalInputVariable">${'dummyLocalInputVariableValue'}</camunda:inputParameter>
          <camunda:outputParameter name="dummyLocalOutputVariable">${'dummyLocalOutputVariable'}</camunda:outputParameter>
        </camunda:inputOutput>
        <camunda:executionListener expression="${true}" event="start" />
        <camunda:executionListener expression="${true}" event="end" />
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_0ave4w4</bpmn:incoming>
      <bpmn:outgoing>Flow_1s4q55l</bpmn:outgoing>
      <bpmn:messageEventDefinition id="MessageEventDefinition_186z7cu" messageRef="Message_026tkyq" />
    </bpmn:intermediateCatchEvent>

Cancel end event

Zie cancel end event template.

CODE
      <bpmn:endEvent id="Event_1rl8jwe" name="cancel">
        <bpmn:incoming>Flow_1oy82w8</bpmn:incoming>
        <bpmn:cancelEventDefinition id="CancelEventDefinition_14ei5fi" />
      </bpmn:endEvent>

Komt enkel voor binnen een transactional subprocess. Breekt dit subproces af en triggert eventuele compensaties binnen dat subproces.

Compensation catch start event

Zie compensation catch start event.

CODE
      <bpmn:startEvent id="Event_0oe4oet" name="start compensation">
        <bpmn:outgoing>Flow_1po2u3m</bpmn:outgoing>
        <bpmn:compensateEventDefinition id="CompensateEventDefinition_0ycp6r4" />
      </bpmn:startEvent>

Triggert compensatie uitgestuurd door een compensation throw event of een cancellation throw event binnen de scope van een transactional subprocess.

Compensation throw end event

Zie compensation throw end event.

CODE
      <bpmn:endEvent id="Event_05tby38" name="compensatie">
        <bpmn:incoming>Flow_1y5el8h</bpmn:incoming>
        <bpmn:compensateEventDefinition id="CompensateEventDefinition_14ihv92" />
      </bpmn:endEvent>

Triggert compensatie die vervolgens opgevangen wordt door een compensation start event of een compensation boundary event dat vastgemaakt zit op de te compenseren activiteit.

Compensation throw intermediate event

Zie compensation throw intermediate event.

CODE
      <bpmn:intermediateThrowEvent id="Event_1j2e8jd" name="Trigger compensatie">
        <bpmn:incoming>Flow_16dm6wr</bpmn:incoming>
        <bpmn:outgoing>Flow_1xxkbsh</bpmn:outgoing>
        <bpmn:compensateEventDefinition id="CompensateEventDefinition_07konoo" />
      </bpmn:intermediateThrowEvent>

Triggert compensatie die vervolgens opgevangen wordt door een compensation start event of een compensation boundary event dat vastgemaakt zit op de te compenseren activiteit.

Conditional catch intermediate event

Zie conditional catch intermediate event.

CODE
      <bpmn:intermediateCatchEvent id="Event_1j2e8jd" name="in dromenland">
        <bpmn:incoming>Flow_16dm6wr</bpmn:incoming>
        <bpmn:outgoing>Flow_1xxkbsh</bpmn:outgoing>
        <bpmn:conditionalEventDefinition id="ConditionalEventDefinition_07wozwn">
          <bpmn:condition xsi:type="bpmn:tFormalExpression">${inDromenLand==true}</bpmn:condition>
        </bpmn:conditionalEventDefinition>
      </bpmn:intermediateCatchEvent>

De token wordt vastgehouden tot de expressie true evalueert.

Conditional start event

Zie conditional start event.

Deze komt typisch voor in een event-based subprocess. Concreet zal het subproces opstarten als aan de gestelde conditie voldaan is. Indien het start event interrupting is, worden alle tokens in het hoofdprocess geannuleerd. Indien non-interrupting zal het subprocess parallel aan het hoofdproces opgestart worden.

Voorbeeld 1

Interrupting. Conditie is gemodelleerd via een workflow expressie ${inSlaapGevallen==true}.

CODE
      <bpmn:startEvent id="Event_0oe4oet" name="in slaap gevallen">
        <bpmn:outgoing>Flow_1po2u3m</bpmn:outgoing>
        <bpmn:conditionalEventDefinition id="ConditionalEventDefinition_1phleoe">
          <bpmn:condition xsi:type="bpmn:tFormalExpression">${inSlaapGevallen==true}</bpmn:condition>
        </bpmn:conditionalEventDefinition>
      </bpmn:startEvent>

Voorbeeld 2

CODE
      <bpmn:startEvent id="Event_0oe4oet" name="in slaap gevallen" isInterrupting="false">
        <bpmn:outgoing>Flow_1po2u3m</bpmn:outgoing>
        <bpmn:conditionalEventDefinition id="ConditionalEventDefinition_00mv31i" camunda:variableName="inSlaapGevallen" camunda:variableEvents="create">
          <bpmn:condition xsi:type="bpmn:tFormalExpression">${inSlaapGevallen==true}</bpmn:condition>
        </bpmn:conditionalEventDefinition>
      </bpmn:startEvent>
  • isInterrupting="false" Het hoofdproces wordt niet afgebroken wanneer dit event triggert. Het subproces start parallel op naast het hoofdproces dat gewoon verder loopt.

  • camunda:variableName="inSlaapGevallen" De engine houdt enkel deze ene variabele in de gaten. Wijzigt er iets aan inSlaapGevallen, dan wordt de conditie geëvalueerd. Andere variabelen worden genegeerd.

  • camunda:variableEvents="create" De conditie wordt uitsluitend geëvalueerd op het moment dat inSlaapGevallen voor de eerste keer aangemaakt wordt. Een latere update van die variabele triggert niets meer.

  • ${inSlaapGevallen==true} De eigenlijke conditie: het subproces start enkel op als de variabele op het moment van aanmaken ook effectief de waarde true heeft.

End event (leeg)

Zie end event (leeg). Deze kan één en slechts één incoming sequence flow hebben.

CODE
    <bpmn:endEvent id="Event_0wxh5jz" name="Einde">
      <bpmn:incoming>Flow_0auwwup</bpmn:incoming>
    </bpmn:endEvent>

Triggert einde van het proces indien er geen andere onderling gelinkte tokens meer actief zijn.

Error throw end event

Zie error throw end event.

CODE
      <bpmn:endEvent id="Event_1rl8jwe" name="error">
        <bpmn:incoming>Flow_1oy82w8</bpmn:incoming>
        <bpmn:errorEventDefinition id="ErrorEventDefinition_1n2xdg3" errorRef="Error_1dw742h" />
      </bpmn:endEvent>

Triggert een BPMN-error dat vervolgens wordt opgevangen door een error catch event.

Escalation throw end event

Zie escalation throw end event.

CODE
      <bpmn:endEvent id="Event_0ahpt60" name="escalation">
        <bpmn:incoming>Flow_1lzfvo1</bpmn:incoming>
        <bpmn:escalationEventDefinition id="EscalationEventDefinition_0pqxn8s" escalationRef="Escalation_0w8lgt3" />
      </bpmn:endEvent>

Triggert een escalation. Deze wordt opgevangen binnen de scope van hetzelfde proces door een escalation catch start event.

Escalation throw intermediate event

Zie escalation throw intermediate event.

CODE
    <bpmn:intermediateThrowEvent id="Event_0wcgkhj" name="Escalatie">
      <bpmn:incoming>Flow_1clbz8q</bpmn:incoming>
      <bpmn:outgoing>Flow_0qdardb</bpmn:outgoing>
      <bpmn:escalationEventDefinition id="EscalationEventDefinition_194bp89" escalationRef="Escalation_15nluny" />
    </bpmn:intermediateThrowEvent>

Triggert een escalation. Deze wordt opgevangen binnen de scope van hetzelfde proces door een escalation catch event.

Escalation catch start event

Zie escalation catch start event.

Voorbeeld 1

CODE
      <bpmn:startEvent id="Event_0oe4oet" name="start escalation">
        <bpmn:outgoing>Flow_1po2u3m</bpmn:outgoing>
        <bpmn:escalationEventDefinition id="EscalationEventDefinition_08c148v" />
      </bpmn:startEvent>

Vangt een escalation op uitgestuurd door een escalation throw intermediate event of een escalation throw end event.

Voorbeeld 2

CODE
      <bpmn:startEvent id="Event_0oe4oet" name="escalation ontvangen" isInterrupting="false">
        <bpmn:outgoing>Flow_1po2u3m</bpmn:outgoing>
        <bpmn:escalationEventDefinition id="EscalationEventDefinition_1axa9fy" escalationRef="Escalation_1nrzz78" camunda:escalationCodeVariable="code" />
      </bpmn:startEvent>

Non-interrupting variant (typisch binnen een event-based subprocess). Dit zorgt ervoor dat een bijkomend subprocess opgestart wordt dat parallel loopt met het hoofdproces.

Link catch intermediate event

Zie link catch intermediate event.

CODE
    <bpmn:intermediateCatchEvent id="Event_0sq21jx" name="Aanvraag aanpassen">
      <bpmn:outgoing>Flow_0b9448c</bpmn:outgoing>
      <bpmn:linkEventDefinition id="LinkEventDefinition_0rfjl3o" name="aanvraagAanpassen" />
    </bpmn:intermediateCatchEvent>

Verwijst altijd naar een link intermediate throw event binnen dezelfde procesdefinitie.

Link throw intermediate event

Zie link throw intermediate event.

CODE
    <bpmn:intermediateThrowEvent id="Event_1nqbzn2" name="Aanvraag aanpassen">
      <bpmn:incoming>Flow_0ndh97z</bpmn:incoming>
      <bpmn:linkEventDefinition id="LinkEventDefinition_1wq53r9" name="aanvraagAanpassen" />
    </bpmn:intermediateThrowEvent>

Verwijst altijd naar een link intermediate catch event binnen dezelfde procesdefinitie.

Intermediate throw event

Zie intermediate throw event.

CODE
    <bpmn:intermediateThrowEvent id="Event_0s70mat" name="Stap uitgevoerd">
      <bpmn:incoming>Flow_1clbz8q</bpmn:incoming>
      <bpmn:outgoing>Flow_0ss6ji9</bpmn:outgoing>
    </bpmn:intermediateThrowEvent>

Dit is een ‘leeg’ intermediate throw event, typisch gemodelleerd met het oog op monitoring, auditing of business rapportage.

Message throw end event

Zie message throw end event.

CODE
    <bpmn:endEvent id="Event_0u9h02m" name="proces afgerond">
      <bpmn:incoming>Flow_0bzbhwn</bpmn:incoming>
      <bpmn:messageEventDefinition id="MessageEventDefinition_069kks5" messageRef="Message_1atlwdt" camunda:expression="${execution.getProcessEngineServices().getRuntimeService().createMessageCorrelation(&#34;myMessage&#34;).processInstanceVariableEquals(&#34;dossierId&#34;, selectedDossier).correlate()}" camunda:resultVariable="resultaat" />
    </bpmn:endEvent>

Let op de messageRef van de message dat het proces uitstuurt. Deze message wordt opgevangen binnen een andere procesinstantie.

Message catch intermediate event

Zie message catch intermediate event.

CODE
    <bpmn:intermediateCatchEvent id="plaatsingopdrachtOpgehaald" name="Plaatsingsopdracht opgehaald">
      <bpmn:incoming>Flow_16a8zwy</bpmn:incoming>
      <bpmn:outgoing>Flow_1bwes36</bpmn:outgoing>
      <bpmn:messageEventDefinition id="MessageEventDefinition_10pmh9d" messageRef="Message_15ln28a"/>
    </bpmn:intermediateCatchEvent>

Let op de messageRef van de message waarop het proces wacht.

Message throw intermediate event

Zie message throw intermediate event.

Voorbeeld 1

CODE
    <bpmn:intermediateThrowEvent id="Event_06gy16g" name="Verstuur message">
      <bpmn:incoming>Flow_1m2t03z</bpmn:incoming>
      <bpmn:outgoing>Flow_0lngaps</bpmn:outgoing>
      <bpmn:messageEventDefinition id="MessageEventDefinition_0qlog2h" messageRef="Message_05l6uf5" camunda:expression="${execution.getProcessEngineServices().getRuntimeService().createMessageCorrelation(&#34;myMessage&#34;).processInstanceVariableEquals(&#34;dossierId&#34;, selectedDossier).correlate()}" camunda:resultVariable="result" />
    </bpmn:intermediateThrowEvent>

Let op de messageRef van de message dat het proces uitstuurt. Het verzenden kan door middel van verschillende methodes, maar hier is het door de implementatie van een workflow expressie.

${execution.getProcessEngineServices().getRuntimeService().createMessageCorrelation("myMessage").processInstanceVariableEquals("dossierId", selectedDossier).correlate()}

Voorbeeld 2

CODE
    <bpmn:intermediateThrowEvent id="Event_10pk8yt" name="Verstuur message">
      <bpmn:extensionElements>
        <camunda:inputOutput>
          <camunda:inputParameter name="mijnVariabele2">${mijnVariabele2Value}</camunda:inputParameter>
          <camunda:inputParameter name="mijnVariabele1">${mijnVariabele1Value}</camunda:inputParameter>
        </camunda:inputOutput>
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_0bzbhwn</bpmn:incoming>
      <bpmn:outgoing>Flow_00scfdv</bpmn:outgoing>
      <bpmn:messageEventDefinition id="MessageEventDefinition_0esxhj6" messageRef="Message_05l6uf5" camunda:class="be.skryv.demo.messaging.OrderBevestigdDelegate" />
    </bpmn:intermediateThrowEvent>

Verzenden van de message kan via verschillende methodes, maar gebeurt hier technisch via het oproepen van een Java Class.

Message catch start event

Zie message catch start event.

Voorbeeld 1

CODE
    <bpmn:startEvent id="StartEvent_1" name="Start">
      <bpmn:outgoing>Flow_0g5bxix</bpmn:outgoing>
      <bpmn:messageEventDefinition id="MessageEventDefinition_1barqgu" messageRef="Message_272glnc" />
    </bpmn:startEvent>

Let hier op de definition id van de message dat het event triggert. Binnen Skryv wordt dit gebruikt om de opstart vanuit de frontoffice of vanuit de exposed API te configureren.

Voorbeeld 2

CODE
      <bpmn:startEvent id="Event_0oe4oet" name="bericht ontvangen" isInterrupting="false">
        <bpmn:outgoing>Flow_1po2u3m</bpmn:outgoing>
        <bpmn:messageEventDefinition id="MessageEventDefinition_1bgsxqx" messageRef="Message_12nod2t" />
      </bpmn:startEvent>

Non-interrupting variant (typisch binnen een event-based subprocess). Dit zorgt ervoor dat een bijkomend subprocess opgestart wordt dat parallel loopt met het hoofdproces.

Signal throw end event

Zie signal throw end event.

Voorbeeld 1

CODE
    <bpmn:endEvent id="Event_0u9h02m" name="Stuur signaal uit">
      <bpmn:incoming>Flow_1m2t03z</bpmn:incoming>
      <bpmn:signalEventDefinition id="SignalEventDefinition_16hc6vi" signalRef="Signal_0q790ms" />
    </bpmn:endEvent>

Let op de signalRef van het uit te sturen signal.

Voorbeeld 2

CODE
    <bpmn:endEvent id="Event_0u9h02m" name="Stuur signaal uit">
      <bpmn:incoming>Flow_1m2t03z</bpmn:incoming>
      <bpmn:signalEventDefinition id="SignalEventDefinition_16hc6vi" signalRef="Signal_0q790ms">
        <bpmn:extensionElements>
          <camunda:in source="throwingVariableName" target="catchingVariableName" />
        </bpmn:extensionElements>
      </bpmn:signalEventDefinition>
    </bpmn:endEvent>

Samen met het signaal wordt nog een variabele gemapt van het uitsturende (throwingVariableName) naar elk ontvangend (catchingVariableName) proces.

Voorbeeld 3

CODE
    <bpmn:endEvent id="Event_0u9h02m" name="Stuur signaal uit">
      <bpmn:incoming>Flow_1m2t03z</bpmn:incoming>
      <bpmn:signalEventDefinition id="SignalEventDefinition_16hc6vi" signalRef="Signal_0q790ms">
        <bpmn:extensionElements>
          <camunda:in source="${X + 5}" target="Y" />
        </bpmn:extensionElements>
      </bpmn:signalEventDefinition>
    </bpmn:endEvent>

Gelijkaardig als bovenstaand voorbeeld, maar de te mappen variabele wordt on-the-fly uitgerekend door middel van een workflow expression.

Signal catch intermediate event

Zie signal catch intermediate event.

CODE
<bpmn:intermediateCatchEvent id="Event_1h52c2o" name="signaal A">
  <bpmn:incoming>Flow_081njxl</bpmn:incoming>
  <bpmn:outgoing>Flow_0hv31pb</bpmn:outgoing>
  <bpmn:signalEventDefinition id="SignalEventDefinition_1e8cptl" signalRef="Signal_xxx" />
</bpmn:intermediateCatchEvent>

Let hier op de signalRef van het signal waarop het event wacht.

Signal throw intermediate event

Zie signal throw intermediate event.

CODE
    <bpmn:intermediateThrowEvent id="Event_0jt4c0y" name="Klad aangemaakt">
      <bpmn:incoming>Flow_102h6w5</bpmn:incoming>
      <bpmn:outgoing>Flow_1lcyy3j</bpmn:outgoing>
      <bpmn:signalEventDefinition id="SignalEventDefinition_0u92i3f" signalRef="Signal_1ep8ivr" />
    </bpmn:intermediateThrowEvent>

Binnen Skryv kan dit type event gedefinieerd worden als een mijlpaal die optioneel ook naar DOSIS kan doorgestuurd worden.

Signal catch start event

Zie signal catch start event.

Voorbeeld 1

CODE
    <bpmn:startEvent id="StartEvent_1" name="proces opgestart">
      <bpmn:outgoing>Flow_127ldj0</bpmn:outgoing>
      <bpmn:signalEventDefinition id="SignalEventDefinition_0vn133n" signalRef="Signal_0du9045" />
    </bpmn:startEvent>

Let hier op de definition id van het signal waarop het event wacht.

Voorbeeld 2

CODE
  <bpmn:startEvent id="Event_0oe4oet" name="signaal ontvangen" isInterrupting="false">
    <bpmn:outgoing>Flow_1po2u3m</bpmn:outgoing>
    <bpmn:signalEventDefinition id="SignalEventDefinition_12vze7l" signalRef="Signal_0q7y57g" />
  </bpmn:startEvent>

Non-interrupting variant (typisch binnen een event-based subprocess). Dit zorgt ervoor dat een bijkomend subprocess opgestart wordt dat parallel loopt met het hoofdproces.

Start event (leeg)

Zie start event (leeg).

CODE
    <bpmn:startEvent id="StartEvent_1" name="Aanvraag opgestart via BO">
      <bpmn:outgoing>Flow_18ykocz</bpmn:outgoing>
    </bpmn:startEvent>

Typisch is dit de start van elk proces dat vanuit de backoffice opstartbaar is.

Terminate end event

Zie terminate end event.

CODE
    <bpmn:endEvent id="Event_0u9h02m" name="proces afgerond">
      <bpmn:incoming>Flow_00scfdv</bpmn:incoming>
      <bpmn:terminateEventDefinition id="TerminateEventDefinition_1qb70vk" />
    </bpmn:endEvent>

Let hier op de terminateEventDefinition eigenschap. Dit zorgt ervoor dat het proces afgesloten wordt, ook al zijn er nog onderling gelinkte process tokens actief.

Timer intermediate event

Zie timer intermediate event.

CODE
      <bpmn:intermediateCatchEvent id="Event_0pb85eg" name="Na termijn">
        <bpmn:incoming>Flow_0txrfb3</bpmn:incoming>
        <bpmn:outgoing>Flow_1bok34w</bpmn:outgoing>
        <bpmn:timerEventDefinition id="TimerEventDefinition_0930ym3">
          <bpmn:timeDuration xsi:type="bpmn:tFormalExpression">P12M</bpmn:timeDuration>
        </bpmn:timerEventDefinition>
      </bpmn:intermediateCatchEvent>

Hier is een tijdsduur timer voorzien die het proces twaalf maanden laat wachten (P12M).

Timer start event

Zie timer start event.

CODE
<bpmn:startEvent id="StartEvent_1" name="proces opgestart">
  <bpmn:outgoing>Flow_127ldj0</bpmn:outgoing>
  <bpmn:timerEventDefinition id="TimerEventDefinition_1rfwpqn">
    <bpmn:timeDate xsi:type="bpmn:tFormalExpression">2027-04-28</bpmn:timeDate>
  </bpmn:timerEventDefinition>
</bpmn:startEvent>

Hier is een datum timer voorzien die een instantie van het proces op 2027-04-28 opstart.

Boundary events

Boundary events (bpmn:boundaryEvent) hebben net zoals alle elementen een id en een name.

Ze worden vastgemaakt op een activiteit.

attachedToRef="Activity_0povph0"

Ze kunnen deze activiteit al dan niet onderbreken.

  • cancelActivity="true"of cancelActivity niet gedefinieerd: interrupting.

  • cancelActivity="false": non-interrupting.

Daarbovenop is er steeds een eigenschap die de trigger definieert:

  • cancelEventDefinition: getriggerd door cancellation (zie transactional subprocess).

  • compensateEventDefinition: getriggerd door compensation.

  • conditionalEventDefinition: getriggerd door een condition die expliciet gedefinieerd zit in het boundary event zelf (bijvoorbeeld <bpmn:condition xsi:type="bpmn:tFormalExpression">${inSlaap}</bpmn:condition>)

  • errorEventDefinition: getriggerd door een BPMN-error

  • messageEventDefinition: getriggerd door een message met specifieke messageRef.

  • signalEventDefinition: getriggerd door een signal met specifieke signalRef.

  • timerEventDefinition: getriggerd door een timer die expliciet gedefinieerd zit in het boundary event zelf (bijvoorbeeld <bpmn:timeDuration xsi:type="bpmn:tFormalExpression">P1D</bpmn:timeDuration>).

Tot slot hebben ze één enkele outgoing flow (met uitzondering van compensation boundary events die geen outgoing hebben en via compensation-mechanisme werken).

Interrupting boundary events

Cancel catch boundary event

Zie cancel catch boundary event.

CODE
    <bpmn:boundaryEvent id="Event_118cqzh" name="cancel" attachedToRef="Activity_0povph0">
      <bpmn:outgoing>Flow_1e38gly</bpmn:outgoing>
      <bpmn:cancelEventDefinition id="CancelEventDefinition_1irynkt" />
    </bpmn:boundaryEvent>

Indien getriggered, onderbreekt het event het transactional subprocess waarop het vastgemaakt is. Alle activiteiten die reeds uitgevoerd zijn binnen het transactional subprocess en waarvoor een compensation activity is voorzien, worden teruggedraaid (zie compensation).

Compensation catch boundary event

Zie compensation catch boundary event.

CODE
      <bpmn:boundaryEvent id="Event_1s28i0n" name="compensation" attachedToRef="Activity_1r34qoc">
        <bpmn:compensateEventDefinition id="CompensateEventDefinition_0pihg89" />
      </bpmn:boundaryEvent>

Indien getriggered, compenseert het de activiteit waarop het event vasthangt (op voorwaarde dat deze activiteit eerder reeds is uitgevoerd). De effectieve compensatie gebeurt via een compensation activity (zie compensation).

Conditional catch boundary event

Zie conditional catch boundary event.

CODE
    <bpmn:boundaryEvent id="Event_09k27z7" name="condition opgevangen" attachedToRef="Activity_1b55f1a">
      <bpmn:outgoing>Flow_0qtczyj</bpmn:outgoing>
      <bpmn:conditionalEventDefinition id="ConditionalEventDefinition_0162ftm">
        <bpmn:condition xsi:type="bpmn:tFormalExpression">${inSlaap}</bpmn:condition>
      </bpmn:conditionalEventDefinition>
    </bpmn:boundaryEvent>

Indien getriggered door de expliciet gedefineerde conditie (<bpmn:condition xsi:type="bpmn:tFormalExpression">${inSlaap}</bpmn:condition>), onderbreekt het de activiteit waarop het event vasthangt.

Error catch boundary event

Zie error catch boundary event.

CODE
    <bpmn:boundaryEvent id="Event_0ajtopt" name="error opgevangen" attachedToRef="Activity_0n9kom2">
      <bpmn:outgoing>Flow_0dsmu2y</bpmn:outgoing>
      <bpmn:errorEventDefinition id="ErrorEventDefinition_0hapsxp" errorRef="Error_0b6gw64" camunda:errorCodeVariable="codeError" camunda:errorMessageVariable="messageError" />
    </bpmn:boundaryEvent>

Indien getriggered door de BPMN-error waarnaar verwezen wordt via errorRef, onderbreekt het de activiteit waarop het event vasthangt. Er zijn variabelen die de code camunda:errorCodeVariable en de foutboodschap camunda:errorMessageVariable bevatten.

Escalation catch boundary event

Zie escalation catch boundary event.

CODE
    <bpmn:boundaryEvent id="Event_1jkmbnb" name="escalation opgevangen" attachedToRef="Activity_1gwc52w">
      <bpmn:outgoing>Flow_0z768he</bpmn:outgoing>
      <bpmn:escalationEventDefinition id="EscalationEventDefinition_1qbbj3e" escalationRef="Escalation_0q89g9c" camunda:escalationCodeVariable="escalationVariable" />
    </bpmn:boundaryEvent>

Indien getriggered door de escalation waarnaar verwezen wordt via escalationRef, onderbreekt het de activiteit waarop het event vasthangt. Elke escalatie heeft ook een code die binnen het boundary event gevat wordt in de variabele camunda:escalationCodeVariable.

Message catch boundary event

Zie message catch boundary event.

CODE
<bpmn:boundaryEvent id="Event_1s5b4x8" name="bericht opgevangen" attachedToRef="Activity_11iyhv5">
  <bpmn:outgoing>Flow_09htgdf</bpmn:outgoing>
  <bpmn:messageEventDefinition id="MessageEventDefinition_0iiukl7" messageRef="Message_16oe30x" />
</bpmn:boundaryEvent>

Indien getriggerd door de message waarnaar verwezen wordt via messageRef, onderbreekt het de activiteit waarop het event vasthangt.

Signal catch boundary event

Zie signal catch boundary event.

CODE
    <bpmn:boundaryEvent id="Event_19h58ey" name="signal opgevangen" attachedToRef="Activity_0fj77t3">
      <bpmn:outgoing>Flow_0w34u28</bpmn:outgoing>
      <bpmn:signalEventDefinition id="SignalEventDefinition_0906i3j" signalRef="Signal_0sokj08" />
    </bpmn:boundaryEvent>

Indien getriggerd door de signal waarnaar verwezen wordt via signalRef, onderbreekt het de activiteit waarop het event vasthangt.

Timer boundary event

Zie timer boundary event.

CODE
    <bpmn:boundaryEvent id="Event_0f3au47" name="Na 1 dag" cancelActivity="true" attachedToRef="Activity_13bm0pl">
      <bpmn:outgoing>Flow_13ed3vi</bpmn:outgoing>
      <bpmn:timerEventDefinition id="TimerEventDefinition_1hqxsih">
        <bpmn:timeDuration xsi:type="bpmn:tFormalExpression">P1D</bpmn:timeDuration>
      </bpmn:timerEventDefinition>
    </bpmn:boundaryEvent>

Timer definition is hier een tijdsduur van 1 dag (P1D).

cancelActivity=”true” betekent dat het om een interrupting boundary event gaat. Indien getriggered, onderbreekt het de activiteit waarop het event vasthangt.

Non-interrupting boundary events

Conditional catch boundary event

Zie conditional catch boundary event.

CODE
    <bpmn:boundaryEvent id="Event_09k27z7" name="condition opgevangen" cancelActivity="false" attachedToRef="Activity_1b55f1a">
      <bpmn:outgoing>Flow_0qtczyj</bpmn:outgoing>
      <bpmn:conditionalEventDefinition id="ConditionalEventDefinition_1xtl62f">
        <bpmn:condition xsi:type="bpmn:tFormalExpression">${inSlaap}</bpmn:condition>
      </bpmn:conditionalEventDefinition>
    </bpmn:boundaryEvent>

cancelActivity=”false” betekent dat het om een non-interrupting boundary event gaat. Indien getriggered, is er geen onderbreking van activiteit waarop het event vasthangt.

Escalation catch boundary event

Zie escalation catch boundary event.

CODE
    <bpmn:boundaryEvent id="Event_1jkmbnb" name="escalation opgevangen" cancelActivity="false" attachedToRef="Activity_1gwc52w">
      <bpmn:outgoing>Flow_0z768he</bpmn:outgoing>
      <bpmn:escalationEventDefinition id="EscalationEventDefinition_1a6b1lw" />
    </bpmn:boundaryEvent>

cancelActivity=”false” betekent dat het om een non-interrupting boundary event gaat. Indien getriggered, is er geen onderbreking van activiteit waarop het event vasthangt.

Message catch boundary event

Zie message catch boundary event.

CODE
    <bpmn:boundaryEvent id="Event_1s5b4x8" name="bericht opgevangen" cancelActivity="false" attachedToRef="Activity_11iyhv5">
      <bpmn:outgoing>Flow_09htgdf</bpmn:outgoing>
      <bpmn:messageEventDefinition id="MessageEventDefinition_19rxxqq" messageRef="Message_16oe30x" />
    </bpmn:boundaryEvent>

cancelActivity=”false” betekent dat het om een non-interrupting boundary event gaat. Indien getriggered, is er geen onderbreking van activiteit waarop het event vasthangt.

Signal catch boundary event

Zie signal catch boundary event.

CODE
    <bpmn:boundaryEvent id="Event_19h58ey" name="signal opgevangen" cancelActivity="false" attachedToRef="Activity_0fj77t3">
      <bpmn:outgoing>Flow_0w34u28</bpmn:outgoing>
      <bpmn:signalEventDefinition id="SignalEventDefinition_0b7zgmm" signalRef="Signal_0sokj08" />
    </bpmn:boundaryEvent>

cancelActivity=”false” betekent dat het om een non-interrupting boundary event gaat. Indien getriggered, is er geen onderbreking van activiteit waarop het event vasthangt.

Timer boundary event

Zie timer boundary event.

CODE
    <bpmn:boundaryEvent id="Event_126n877" name="Na 5 dagen" cancelActivity="false" attachedToRef="Activity_0qcegpl">
      <bpmn:outgoing>Flow_10z7896</bpmn:outgoing>
      <bpmn:timerEventDefinition id="TimerEventDefinition_0ed83j7">
        <bpmn:timeDuration xsi:type="bpmn:tFormalExpression">P5D</bpmn:timeDuration>
      </bpmn:timerEventDefinition>
    </bpmn:boundaryEvent>

Timer definition is hier een tijdsduur van 5 dagen (P5D).

cancelActivity=”false” betekent dat het om een non-interrupting boundary event gaat. Indien getriggered, is er geen onderbreking van activiteit waarop het event vasthangt.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.