📌 Explicação
O parâmetro MSGLEVEL= define quais mensagens o sistema vai exibir no relatório de saída (sysout) do job. É usado na instrução JOB e serve pra você controlar o nível de detalhamento da execução — tipo "fala tudo" ou "só o essencial".
🧰 Usos mais comuns
-
Verificar todas as mensagens de execução do job (diagnóstico).
-
Ocultar detalhes desnecessários em ambientes produtivos.
-
Ajustar logs pra facilitar o debug de erro.
🧾 Sintaxe
//NOMEJOB JOB (conta),‘descrição’,
// MSGLEVEL=(x,y)
-
x→ controla mensagens de passo (step) -
y→ controla listagem dos JCL statements
Valores possíveis:
-
x = 0: só mensagens de abend -
x = 1: todas as mensagens -
y = 0: não listar JCL -
y = 1: listar JCL (inclusive incluídos viaINCLUDE)
💻 Exemplo prático
//COBOLJOB JOB (1234),'COBOL DICAS',
// MSGLEVEL=(1,1),CLASS=A,MSGCLASS=X
//*
//STEP01 EXEC PGM=IEFBR14
Esse MSGLEVEL=(1,1) vai exibir:
-
Todas as mensagens de cada passo
-
Todo o JCL submetido, linha por linha
⚙️ Regras
-
MSGLEVELé exclusivo da instruçãoJOB. -
Valores default podem variar conforme o sistema.
-
Afeta o que vai ser impresso no sysout, mas não muda a execução do job em si.
💡 Dicas
-
Use
MSGLEVEL=(1,1)enquanto estiver testando e debugando. -
Em produção, prefira algo como
MSGLEVEL=(1,0)ouMSGLEVEL=(0,0)pra reduzir log. -
Sempre combine com
MSGCLASSpra definir onde essas mensagens vão ser impressas.
✅ Conclusão
O parâmetro MSGLEVEL= é simples, mas poderoso. Ele não altera o que o JCL faz, mas sim como e quanto ele fala durante a execução. Saber ajustar esse nível de verbosidade te ajuda a diagnosticar problemas e deixar os relatórios mais enxutos quando precisa.