Evento de Fim de Cancelamento(Cancel End Event)
Usado apenas dentro de um Subprocesso de Transação: encerra a transação cancelando-a, o que dispara a compensação dos passos concluídos. Círculo grosso com X.
O Fim de Cancelamento (Cancel End Event) aborta deliberadamente a transação envolvente: alcançá-lo significa *desfaça tudo que esta transação fez*. O motor executa os tratadores de compensação de todas as atividades internas concluídas e sai da transação pela sua Borda de Cancelamento.
Quando usar e evitar
Quando usar
Dentro de transações, em caminhos onde o negócio decide abortar (cliente desiste, pré-requisito falha).
Em reservas/pedidos tudo-ou-nada em que resultados parciais nunca podem sobreviver.
Junto com uma Borda de Cancelamento na transação para definir o pós-cancelamento.
Quando NÃO usar
Fora de um Subprocesso de Transação — inválido em qualquer outro lugar.
Para falhas — Fim de Erro (que pula o protocolo ordeiro de compensação).
Quando os passos concluídos devem ser mantidos — apenas encerre o caminho normalmente.
Exemplo de negócio
Cliente aborta a transação de reserva

Abra este exemplo no editor de processos da HEFLO e explore o diagrama por dentro.
Abrir no editor HEFLO →Passo a passo
- Dentro da transação Reservar viagem, as reservas são feitas.
- O cliente desiste: o Fim de Cancelamento (destacado) dispara.
- A compensação desfaz as reservas concluídas; o token sai pela Borda de Cancelamento para o caminho de reembolso.
Diferenças
Fim de Cancelamento vs. Fim de Erro dentro da transação
Cancelamento = aborto ordeiro: compensação roda, o caminho da borda de cancelamento segue. Erro = falha: capturado por borda de erro, sem compensação automática. Desistência do negócio → Cancelamento; falha → Erro.
FAQ
O que exatamente é compensado?
Toda atividade da transação que havia concluído e declarado tratador de compensação — em ordem reversa.
A Borda de Cancelamento na transação é obrigatória?
Na prática, sim — sem ela o cancelamento não tem para onde rotear o desdobramento.