| Bellacosa Mainframe lista os abends mais comuns em mainframe |
ABENDs Mais Comuns no Mainframe (z/OS, CICS, COBOL e JCL)
Os ABENDs (Abnormal End) são encerramentos anormais de programas, jobs ou transações no ambiente IBM Mainframe. Eles podem ocorrer em COBOL, JCL, CICS, DB2, VSAM e no próprio sistema operacional z/OS.
📌 ABENDs de Sistema (Sxxx)
Esses são gerados pelo próprio z/OS.
| ABEND | Significado | Causa comum |
|---|---|---|
| S0C1 | Operation Exception | Executar instrução inválida |
| S0C4 | Protection Exception | Acesso inválido à memória |
| S0C7 | Data Exception | Campo numérico inválido |
| S013 | Erro de dataset | DCB incorreto ou arquivo incompatível |
| S222 | Job cancelado | Operador cancelou job |
| S322 | CPU Time Exceeded | Tempo de CPU excedido |
| S306 | Módulo não encontrado | Programa ausente na STEPLIB |
| S806 | Load module not found | Programa não localizado |
| S80A | Falta de memória | Região insuficiente |
| S878 | Storage unavailable | Sem espaço de memória |
| S913 | Segurança/RACF | Sem autorização ao dataset |
| S837 | Espaço insuficiente | Dataset sem espaço |
| S0CB | Divisão por zero | Operação matemática inválida |
| S001 | Erro em OPEN/CLOSE | Problema de I/O |
| S213 | Dataset protegido | Conflito de acesso |
💥 ABENDs COBOL Mais Famosos
🔴 S0C7 — Data Exception
O mais clássico do COBOL.
Causa
Campo numérico contendo:
letras
espaços
packed decimal inválido
Exemplo
MOVE 'ABC' TO WS-NUM
ADD 1 TO WS-NUM
Resultado
S0C7
🔴 S0C4 — Protection Exception
Causa
Acesso inválido à memória:
tabela fora do limite
ponteiro inválido
USING incorreto
Exemplo
MOVE TAB(9999) TO WS-CAMPO
🔴 S0CB — Divide Exception
Exemplo
DIVIDE WS-A BY WS-B
Se WS-B = ZERO
→ S0CB
📌 ABENDs CICS Mais Comuns
No CICS, muitos erros aparecem como RESP codes ou transaction abends.
| ABEND | Significado |
|---|---|
| AEI0 | Timeout terminal |
| AEY9 | Programa não encontrado |
| ASRA | Exceção do programa (S0C7/S0C4 dentro do CICS) |
| AICA | Loop infinito / CPU excessiva |
| APCT | Transaction não definida |
| PGMIDERR | Programa inexistente |
| NOTAUTH | Sem autorização |
| LENGERR | Tamanho inválido |
| MAPFAIL | MAP BMS não recebido |
📌 ABENDs VSAM
| ABEND | Problema |
|---|---|
| 92 | Logic Error |
| 93 | Resource unavailable |
| 94 | Sequential error |
| 97 | File not closed corretamente |
📌 ABENDs JCL Mais Frequentes
| Código | Descrição |
|---|---|
| JCL ERROR | Sintaxe inválida |
| IEC141I | Dataset não encontrado |
| IEC130I | Erro de fita/disco |
| IEFC001I | Erro de parâmetro |
| IEFBR14 RC=12 | Dataset problem |
📌 Return Codes Mais Conhecidos
Nem sempre é ABEND.
| RC | Significado |
|---|---|
| RC=00 | Sucesso |
| RC=04 | Warning |
| RC=08 | Erro leve |
| RC=12 | Erro significativo |
| RC=16 | Falha severa |
🔎 Como Investigar ABENDs
Ferramentas clássicas
SDSF
Ver:
JESMSGLG
JESJCL
JESYSMSG
IPCS
Dump analysis avançada.
Abend-AID / Fault Analyzer
Ferramentas automáticas de diagnóstico.
Muito usadas em bancos.
CEDF / CECI (CICS)
Debug online.
📚 ABENDs que Todo Programador Mainframe Já Viu
TOP 10 lendários
S0C7
S0C4
S806
S322
S913
ASRA
AICA
S013
S837
S0CB
🧠 Macete Clássico
Família S0C
| Código | Dica |
|---|---|
| S0C1 | instrução inválida |
| S0C4 | memória |
| S0C7 | dado numérico |
| S0CB | divisão |
☕ Curiosidade Histórica
O termo ABEND surgiu ainda no OS/360 da IBM nos anos 60:
AB = Abnormal
END = Termination
Desde então virou uma das palavras mais famosas do universo mainframe.
🎯 Regra de Ouro no Mainframe
“90% dos problemas COBOL acabam sendo:
S0C7, arquivo errado ou parâmetro incorreto.” 😄
Sem comentários:
Enviar um comentário