O S0C7 é provavelmente o abend mais frequente em COBOL, ocorrendo quando o programa tenta realizar uma operação aritmética com dados não numéricos.
Causas comuns:
1.Dados não numéricos em campos numéricos
2.Inicialização incorreta ou ausente
3.Overflow aritmético
Como identificar o campo e instrução ofensora no dump:
1. Localize a seção PSW (Program Status Word) no dump, que aponta para a instrução que falhou.
2. Examine os registros, especialmente R14 e R15, que geralmente contêm informações sobre a operação que falhou.
3. Procure por "DATA EXCEPTION" no dump.
4. Verifique o conteúdo dos campos envolvidos na operação, procurando caracteres não numéricos em campos numéricos.
Estratégias de prevenção e correção:
1.Validação rigorosa de dados de entrada.
2.Inicialização explícita de variáveis.
3.Uso de ON SIZE ERROR para operações aritméticas.
COBOL is not DEAD!