Mostrar mensagens com a etiqueta exceções. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta exceções. Mostrar todas as mensagens

segunda-feira, 6 de dezembro de 2010

🔥 Os 50 Principais ABENDs em CICS

 

Lista dos 50 principais erros em CICS

🔥 Os 50 Principais ABENDs em CICS
Possíveis causas, soluções e sabedoria de data center


☕ Midnight Lunch, região viva… e o ABEND aparece

14h07.
Tela congelou.
CEMT I TASK mostra status estranho.
O operador solta a clássica frase:

“Deu ABEND no CICS…”

Mas qual ABEND?
E mais importante: por quê?

Hoje vamos entrar no lado sombrio do CICS — os 50 ABENDs mais comuns, com causa raiz, solução e comentários de quem já apagou muito incêndio.


🏛️ História: ABEND não é erro, é aviso

No mundo CICS:

  • ABEND ≠ bug automático

  • ABEND = proteção

  • O sistema prefere matar a task do que corromper dados

📌 ABEND é o CICS dizendo: “daqui não passa”.


🧠 Conceito essencial

Quem entende ABEND, domina produção.


Lista de abends mais comuns em CICS


💥 Top 50 ABENDs em CICS (causas & soluções)


🔴 ABENDs de Programação

  1. AEIP – Comando CICS inválido
    👉 Causa: erro de lógica
    ✅ Solução: revisar comando EXEC CICS

  2. AEIM – Mapa inexistente
    👉 MAPSET não carregado
    ✅ Definir corretamente no CICS

  3. AEI0 – Erro de terminal
    👉 Sessão inválida
    ✅ Validar TC

  4. AEIS – Storage corrompido
    👉 Ponteiro inválido
    ✅ Revisar GETMAIN/FREEMAIN

  5. AEIN – Intervalo inválido
    👉 WAIT TIME errado
    ✅ Ajustar intervalo


🔴 ABENDs de Arquivo (File Control)

  1. AEIO – Erro de I/O
    👉 VSAM indisponível
    ✅ Verificar dataset

  2. AEIL – Arquivo não definido
    👉 FCT incorreta
    ✅ Corrigir definição

  3. AEIR – Registro não encontrado
    👉 READ sem verificação
    ✅ Tratar NOTFND

  4. AEIW – WRITE inválido
    👉 Layout errado
    ✅ Ajustar estrutura

  5. AEID – DELETE inválido
    👉 Registro inexistente
    ✅ Validar chave


🔴 ABENDs de Storage

  1. AEY9 – Falta de storage
    👉 Vazamento de GETMAIN
    ✅ Liberar storage

  2. ASRA – Protection exception
    👉 Storage corrompido
    ✅ Revisar ponteiros

  3. ASRB – Arithmetic exception
    👉 DIVIDE BY ZERO
    ✅ Validar cálculo

  4. AEYA – Storage key error
    👉 Região protegida
    ✅ Revisar chave

  5. AEYD – Stack overflow
    👉 Loop recursivo
    ✅ Corrigir lógica


🔴 ABENDs de Program Control

  1. AEIX – XCTL inválido
    👉 Programa inexistente
    ✅ Corrigir nome

  2. AEIL – LINK inválido
    👉 Parâmetros errados
    ✅ Ajustar COMMAREA

  3. AEIY – Programa não reentrante
    👉 Uso incorreto
    ✅ Tornar reentrante

  4. AEIZ – RETURN inválido
    👉 Fluxo quebrado
    ✅ Revisar lógica

  5. AEIP – LINK circular
    👉 Arquitetura ruim
    ✅ Refatorar fluxo


🔴 ABENDs de Terminal / BMS

  1. AEIM – Mapa não encontrado
    👉 MAPSET não carregado
    ✅ CEDA INSTALL

  2. AEIT – Erro de terminal
    👉 Sessão encerrada
    ✅ Validar conexão

  3. AEIB – Buffer overflow
    👉 Campo maior que área
    ✅ Ajustar tamanho

  4. AEIA – Atributo inválido
    👉 BMS errado
    ✅ Revisar mapa

  5. AEIC – Cursor inválido
    👉 Campo inexistente
    ✅ Corrigir IC


🔴 ABENDs de Transação / Task

  1. AEIT – Task inválida
    👉 Estado inconsistente
    ✅ Revisar RETURN

  2. AEI3 – Transação não definida
    👉 PCT ausente
    ✅ Definir TRANSID

  3. AEI4 – Security violation
    👉 Falta de autorização
    ✅ Ajustar RACF

  4. AEI5 – Time-out
    👉 Loop infinito
    ✅ Otimizar lógica

  5. AEI6 – Deadlock
    👉 Lock excessivo
    ✅ Reduzir escopo


🔴 ABENDs de Integração / Sistema

  1. APCT – Erro de Program Control
    👉 Configuração errada
    ✅ Revisar região

  2. AICA – Conversão inválida
    👉 Dados inconsistentes
    ✅ Validar formatos

  3. AICM – MQ error
    👉 Fila indisponível
    ✅ Verificar MQ

  4. AIDB – DB2 error
    👉 SQLCODE negativo
    ✅ Tratar SQL

  5. AIDS – Data inconsistente
    👉 Conversão errada
    ✅ Sanitizar dados


🔴 ABENDs “Clássicos de Guerra”

  1. ASRA – O mais temido
    👉 Memory overwrite
    ✅ Debug profundo

  2. AEIP – O mais comum
    👉 Código mal tratado
    ✅ Revisar lógica

  3. AEY7 – Storage leak
    👉 GETMAIN sem FREEMAIN
    ✅ Corrigir ciclo

  4. AEZC – CICS internal
    👉 Bug ou stress
    ✅ IBM support

  5. AFCA – File corruption
    👉 VSAM danificado
    ✅ Rebuild


🔴 ABENDs de Segurança

  1. AEI4 – RACF denial
    👉 Permissão faltando
    ✅ Ajustar perfil

  2. AESP – Security program
    👉 Violação
    ✅ Revisar acessos

  3. AEPI – Program protected
    👉 Programa não autorizado
    ✅ CEDA SET PROG

  4. AEXY – User exit failure
    👉 Exit defeituoso
    ✅ Debug exit

  5. AEXZ – Transaction denied
    👉 Perfil incorreto
    ✅ RACF


🔴 Os últimos, mas não menos perigosos

  1. AEZ9 – Resource unavailable
    👉 Falta de recurso
    ✅ Ajustar região

  2. AEZA – Internal error
    👉 Estado crítico
    ✅ Restart controlado

  3. AEZH – Program load failure
    👉 Load module ausente
    ✅ Reinstalar

  4. AEZI – System overload
    👉 Pico de tasks
    ✅ Tuning

  5. AEZZ – O “não documentado”
    👉 Algo muito errado
    ✅ Chamar o mais velho da sala 😈


📚 Guia de estudo para mainframers

Domine:

  • HANDLE ABEND

  • CEMT I TASK

  • DFHDU

  • Dumps CICS

  • SMF + logs

📖 Manual essencial: CICS Problem Determination Guide


🤓 Curiosidades de boteco mainframe

🍺 ASRA já aposentou muita gente
🍺 AEIP é quase rito de passagem
🍺 Todo ABEND ensina algo
🍺 Quem lê dump vira referência


💬 Comentário El Jefe Midnight Lunch

“ABEND não é o fim.
É o CICS pedindo para você pensar.”


🎯 Conclusão Bellacosa

Conhecer ABEND:

  • Reduz MTTR

  • Evita pânico

  • Dá respeito em produção

🔥 Quem entende ABEND, manda no CICS.