📌 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 via INCLUDE)

💻 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ção JOB.

  • 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) ou MSGLEVEL=(0,0) pra reduzir log.

  • Sempre combine com MSGCLASS pra 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.