Atividades

Subprocesso Embutido(Embedded Sub-Process)

Uma atividade composta cujo fluxo interno é definido dentro do processo pai. Compartilha o contexto de dados do pai e existe apenas nele. Retângulo arredondado com o fluxo dentro (ou colapsado com marcador +).

O Subprocesso Embutido (Embedded Sub-Process) dobra um trecho coerente do fluxo pai atrás de uma única atividade: começa com seu próprio início (simples), roda os passos internos e devolve o token ao pai quando conclui.

Por ser *embutido*, compartilha as variáveis do pai diretamente e não pode ser reutilizado em outro lugar. Seu outro superpoder é o escopo: eventos de borda anexados ao subprocesso guardam tudo que está dentro de uma vez.

Quando usar e evitar

Quando usar

  • Para estruturar modelos grandes: dobrar um bloco coerente (ex.: “Tratar reclamação”) em uma atividade.

  • Para criar um escopo para eventos de borda, tratamento de erro ou um prazo que cubra vários passos.

  • Para revelar detalhe progressivamente: colapsado para executivos, expandido para analistas.

Quando NÃO usar

  • Quando a lógica é necessária em outros processos — use uma Call Activity para um processo global reutilizável.

  • Para um único passo atômico — isso é uma tarefa.

  • Como contêiner disparado por eventos — isso é o Subprocesso de Evento.

Exemplo de negócio

Dobrando o tratamento de reclamação em um bloco

Diagrama BPMN: Dobrando o tratamento de reclamação em um bloco
Dobrando o tratamento de reclamação em um bloco

Abra este exemplo no editor de processos da HEFLO e explore o diagrama por dentro.

Abrir no editor HEFLO →

Passo a passo

  1. O fluxo pai alcança o Subprocesso Embutido “Tratar reclamação” (destacado).
  2. Dentro, o próprio início → Avaliar e responder → fim rodam usando diretamente os dados do pai.
  3. Alcançado o fim interno, o token volta ao pai e a reclamação é encerrada.

Um timer ou borda de erro anexado à moldura do subprocesso guardaria o bloco inteiro de uma vez.

Diferenças

Diferença entre Subprocesso Embutido e Call Activity

Embutido: definido dentro do pai, compartilha seus dados, não reutilizável. Call Activity: invoca um processo global definido à parte, com contexto próprio (mapeado na entrada/saída) e reutilização plena. Estrutura → embutido; reuso → call.

FAQ

O subprocesso embutido precisa começar com Início Simples?

Sim — inícios tipados não são permitidos em subprocesso embutido comum (eles pertencem aos subprocessos de evento).

Posso anexar eventos de borda a ele?

Com certeza — é um dos seus principais usos: um prazo ou tratador de erro com escopo sobre o bloco interno inteiro.

Elementos relacionados