🧠 Explicação
O ISPF (Interactive System Productivity Facility) trata falhas de execução utilizando os famosos ABENDs, controlados por rotinas STAE e STAI, além dos parâmetros definidos na chamada ISPSTART TEST
. Em condições normais, quando não há requisição explícita de geração de dumps, os comportamentos padrão são:
-
Se a tarefa do processador abend:
-
Nenhum dump é gerado.
-
O controlador reanexa a tarefa principal do processador (ISPPMD).
-
O menu principal é redesenhado para aquela tela lógica.
-
-
Se a tarefa do controlador abend:
-
O ISPF encerra com a mensagem
*** ISPF MAIN TASK ABEND ***
. -
O controle retorna ao TSO.
-
Ao pressionar Enter, um dump pode ser gerado se um dataset de dump estiver alocado.
-
🔍 Códigos de ABEND comuns no ISPF
💥 S0C1
em sub-rotinas comuns do ISPF
Causado pela execução de uma operação inválida (por exemplo, opcode X'00'
) para forçar um ABEND em ponto crítico. Requer contato com suporte IBM.
💥 S0C4
em módulos ISPDVCGT, ISPDVCPT ou ISPDVCFD
Geralmente causado por uso incorreto dos serviços VDEFINE
e VDELETE
. Exemplos:
-
Um programa usa
VDEFINE
numa sub-rotina carregada dinamicamente e depois usa a variável em outro ponto. Se a sub-rotina for descarregada, pode ocorrer abend. -
Dois programas usam a mesma variável com
VDEFINE
, mas o segundo não executaVDELETE
ao sair. Se a variável for referenciada depois, pode ocorrer abend.
Dica: Para análise, use o trace de funções: opção 7.7.1 (VDEFINE, VDELETE, SELECT).
💥 111
ou 222
Gerados ao usar os comandos:
-
ABEND
– Encerra o ISPF com código de usuário111
. -
CRASH
– Encerra com código222
.
💥 908
– Valor inválido de ZISPFRC
💥 920
– Sintaxe incorreta no comando ISPSTART
💥 950
– Sessão ISPF de cliente z/OS encerrada anormalmente
Pode vir com mensagens WTO:
-
ISPWB000
– Inicialização de sessão requisitada por cliente. -
ISPWB001
– Encerramento forçado da sessão por cliente. -
ISPWB002
– Erro no envio de mensagem via BPX1QSN. -
ISPWB003
– Erro na leitura de mensagem via BPX1QRC. -
ISPWB004
– Mensagem recebida com tamanho zero via BPX1QRC.
💥 988
– Ambiente TSO inválido
💥 990
– Erro em execução batch. Pode ocorrer se ZISPFRC não estiver definido.
💥 995
– Tabela de configuração incompatível. Deve ser versão 4.8 ou superior.
💥 996
(X'3E5') – Falha ao carregar tabela de tradução de terminal
Verifique se o módulo está disponível no ISPLLIB ou concatenado.
💥 997
(X'3E5') – Erro de TPUT. Se falhar duas vezes ao redesenhar a tela, ocorre abend.
💥 998
(X'3E6') – Erro severo no ISPF antes da inicialização completa.
💥 999
(X'3E7') – Usado nos seguintes casos:
-
Comando sem pool de função (ex: uso de
SELECT CMD
sem entrada no ISPTCM). -
Erro durante outro erro em processamento (proteção contra loop).
-
Erro na inicialização do ISPF (problemas com alocações como ISPMLIB, ISPSLIB, etc.).
✅ Conclusão
O ISPF possui uma variedade de códigos de ABEND para tratar situações específicas de falhas. Entender esses códigos e suas causas é fundamental para diagnosticar e corrigir problemas em ambientes z/OS. Este guia serve como referência rápida para os principais códigos, mas sempre consulte os manuais da IBM para detalhes aprofundados.