📌 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
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.