🔷 EXEC CICS ABEND
🧠 Explicação
O comando EXEC CICS ABEND é utilizado para encerrar uma transação de forma anormal, ou seja, provocar um ABEND intencional no programa. Pode ser usado para interromper a execução em casos de erro crítico, violação de regras de negócio ou falhas que impedem a continuação da tarefa.
Esse encerramento pode gerar um despejo (dump) do ambiente de execução, dependendo das opções utilizadas. O CICS libera toda a memória associada à tarefa encerrada e notifica o Language Environment sobre o erro.
🛠️ Usos mais comuns
-
Encerrar uma tarefa quando ocorre um erro irrecuperável
-
Forçar o término de uma transação com dump para análise
-
Simular falhas para fins de teste de robustez e tratamento
-
Cancelar manipulações feitas com
HANDLE ABEND
🧾 Sintaxe
EXEC CICS ABEND
[ABCODE('xxxx')]
[CANCEL]
[NODUMP]
END-EXEC.
💻 Exemplo prático
IF VALOR-INVALIDO
EXEC CICS ABEND
ABCODE('ERRO')
END-EXEC.
Esse exemplo encerra a tarefa com o código 'ERRO', que será exibido no relatório de dump.
⚙️ Opções disponíveis
| Opção | Função |
|---|---|
ABCODE('X') |
Define o código de encerramento a ser usado no dump. Ex: 'VALD', 'ERRO' |
CANCEL |
Ignora qualquer HANDLE ABEND ativo e força o término imediato |
NODUMP |
Encerra a tarefa sem gerar dump, mesmo que existam regras definidas para isso |
📋 Detalhamento das opções
▶ ABCODE('XXXX')
-
Gera um dump da tarefa com o código fornecido.
-
Útil para análise posterior.
-
⚠️ Não use códigos iniciados com a letra A — reservados pelo CICS.
▶ CANCEL
-
Remove todos os manipuladores
HANDLE ABENDativos. -
Força o término anormal da tarefa ignorando capturas programadas.
-
Pode ser usado como "último recurso" quando um erro deve interromper tudo.
▶ NODUMP
-
Finaliza a tarefa sem gerar despejo.
-
Recomendado em ambientes produtivos para evitar geração excessiva de dumps.
-
Em alguns casos, pode ser ignorado (ex: configurações de dump forçado no CICS).
📘 Mensagem gerada no Language Environment
Ao executar um EXEC CICS ABEND, a seguinte mensagem é gravada no CEEMSG:
CEE3250C O sistema ou usuário finalizou de forma anormal XXXX
Onde XXXX será o valor definido em ABCODE.
💡 Dicas
-
Use
HANDLE ABENDpara capturar abends controladamente, se quiser evitar o encerramento abrupto. -
Utilize
NODUMPem ambientes onde você não deseja gerar logs de erro. -
Crie um padrão de
ABCODEcom 4 letras significativas (ex:'VAL1','DBER','FILE'). -
Evite usar
CANCELse o programa puder tratar o erro normalmente comHANDLE ABEND.
✅ Conclusão
O comando EXEC CICS ABEND é uma ferramenta poderosa para forçar o encerramento de uma transação CICS de maneira controlada ou crítica. Ele deve ser usado com responsabilidade, sempre considerando as opções ABCODE, CANCEL e NODUMP conforme o objetivo: depurar, cancelar ou simplesmente evitar falhas maiores. Dominar seu uso é essencial para garantir a robustez dos sistemas CICS em produção.