- Postagens: 68
- Obrigados Recebidos: 5
Scripts de Job Control Language (JCL) e automação no mainframe.
Como identificar e corrigir os principais erros de JCL
- bopnet
-
Autor do Tópico
- Desconectado
- Administrador
-
- I'm free!
Less
Mais
2 horas 47 minutos atrás #132
por bopnet
COBOL is not DEAD!
Como identificar e corrigir os principais erros de JCL foi criado por bopnet
Erros de JCL podem acontecer antes da execução do programa ou durante o processamento do job. Para encontrar a causa corretamente, primeiro precisamos identificar em qual etapa ocorreu o problema.
Quando o JES encontra um erro de sintaxe, o job pode nem chegar a executar. Em outros casos, o JCL é aceito, mas um step termina com condition code diferente de zero ou com um ABEND.
Os problemas mais comuns incluem:
Os parâmetros precisam estar separados corretamente:
Ao analisar um job com erro, consulte principalmente:
Quais erros de JCL aparecem com mais frequência no seu ambiente? Compartilhe a mensagem, o código do erro e a solução encontrada.
Quando o JES encontra um erro de sintaxe, o job pode nem chegar a executar. Em outros casos, o JCL é aceito, mas um step termina com condition code diferente de zero ou com um ABEND.
Os problemas mais comuns incluem:
- Parâmetros escritos incorretamente;
- Vírgulas ou parênteses ausentes;
- Nome de programa incorreto;
- Dataset inexistente;
- Dataset já catalogado;
- DISP incompatível com a operação;
- DDNAME ausente;
- Biblioteca não encontrada na STEPLIB;
- Falta de espaço para criação do dataset;
- Incompatibilidade entre RECFM e LRECL;
- Erro em procedimento catalogado;
- Condições de execução definidas incorretamente.
Code:
//ARQSAIDA DD DSN=USER.ARQUIVO.SAIDA
// DISP=(NEW,CATLG,DELETE)
Code:
//ARQSAIDA DD DSN=USER.ARQUIVO.SAIDA,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(10,5),RLSE),
// DCB=(RECFM=FB,LRECL=80)
- JESJCL: apresenta o JCL interpretado pelo sistema;
- JESMSGLG: mostra as mensagens gerais do job;
- JESYSMSG: apresenta mensagens do sistema e detalhes dos steps;
- SYSPRINT: normalmente contém mensagens de utilitários e compiladores;
- SYSOUT: pode apresentar mensagens produzidas pelo programa.
- JCL ERROR: erro de sintaxe ou parâmetro;
- S806: programa ou módulo não encontrado;
- S013: problema na abertura ou nas características de um dataset;
- S322: tempo de execução excedido;
- S0C7: dado inválido em uma operação numérica;
- S0C4: acesso indevido a uma posição de memória;
- CC 0004: normalmente representa um aviso;
- CC 0008: indica que alguma operação apresentou erro;
- CC 0012 ou superior: geralmente indica falha mais séria.
- Localize o primeiro step com erro;
- Identifique o condition code ou ABEND;
- Procure a primeira mensagem relevante do sistema;
- Verifique o nome do programa no EXEC PGM;
- Confira os DDNAMEs exigidos pelo programa;
- Valide os datasets informados;
- Analise DISP, SPACE, RECFM e LRECL;
- Verifique STEPLIB e JOBLIB;
- Consulte o SYSPRINT do programa ou utilitário;
- Corrija primeiro a causa inicial, pois os erros seguintes podem ser apenas consequências.
Quais erros de JCL aparecem com mais frequência no seu ambiente? Compartilhe a mensagem, o código do erro e a solução encontrada.
COBOL is not DEAD!
Por favor Entrar ou Registrar para participar da conversa.