2.10 - Erros em JCL
Existem 2 tipos, o ERRO propriamente dito e o ABEND (Abnormal End).
Os erros que ocorrem antes da execucao do job são devidos em sua grande maioria a erros de sintaxe, isto é, alguma convenção do JCL foi desrespeitada e o job não tem como ser processado. Exitem outros erros que ocorren na execucao do job em algum step especifico e são causados por problemas de alocação de arquivos.
Abend's são erros programados ou não que ocorrem na execucao do programa de determinado step da procedure. Existem apenas 2 tipos de abend's:
Os abend's programados que geralmente são chamados de User Abend/Uxxxx nos quais e o programador da aplicação/produto/sistema os previu e deu o tratamento adequado com display de mensagem informando o erro e encerrando a execucao do seu programa com RC (Return Code) diferente de zeros.
E os System Abend's/Sxxx nos quais o sistema operacional não conseguiu executar determinada solicitacao por violação de regras do sistema, como exemplo cito o abend s0c7 "data exception error" que ocorre em operacoes aritméticas (AP, ZAP, SP e CP) quando campo numerico compactado não possui um valor válido.
Como exemplos cito movimentação de valores não numericos para campos compactados, adição, subtração sem inicializacao de campo compactado são os causadores mais comuns.
Existe a possibilidade de erros ou abend's em step's specificos que o sistema reinicie o job nesse STEP utilizando-se o parametro RESTART no cartao job. A utilizacao dos codigos de abend no JCL pode ser utilizada em cartoes IF/ELSE/ENDIF e com o parametro COND no cartao job. Ao longo do texto encontrar-se-a exemplos dessas utilizacoes.
Last updated