2.11.1 - MSGLEVEL

O parâmetro MSGLEVEL é fundamental para controlar a "verbosidade" das mensagens do sistema durante a execução dos jobs. Este conceito é similar aos níveis de log das linguagens modernas (ERROR, WARN, INFO, DEBUG), onde você pode escolher quanta informação deseja ver na saída do sistema. Assim como você pode configurar uma aplicação Java ou Python para mostrar apenas erros críticos ou incluir mensagens detalhadas de debug, o MSGLEVEL permite controlar granularmente o nível de detalhamento das mensagens no ambiente mainframe.

Sintaxe e Estrutura

MSGLEVEL=(M,N) Impressão de comandos de JCL e mensagens de alocação de arquivos

A sintaxe do parâmetro MSGLEVEL segue o padrão MSGLEVEL=(M,N), onde cada componente tem uma função específica:

  • M: Estabelece o nível de detalhe das informações sobre o JOB que o sistema listará (0, 1 e 2)

  • N: Controla as mensagens de alocação de arquivos (0 ou 1)

M - Informações do JCL

Valor 0 - Só Cartão JOB

Exatamente isso. Na listagem no file JESJCL só aparecerá o 'cabeçalho'. Esta opção é útil quando se deseja uma saída mais limpa e concisa, especialmente em ambientes de produção onde o volume de mensagens deve ser minimizado - equivalente ao nível ERROR em sistemas modernos, onde você só vê o essencial.

Valor 1 - Modo Padrão Completo

É o padrão na maioria das instalações, exibe o JCL de entrada e steps de procedimentos catalogados. O valor 1 instrui o sistema a imprimir todos os cartões de JCL que foram alimentados ao sistema, incluindo:

  • Cartões originalmente codificados

  • Cartões intercalados pelo sistema

  • Parâmetros de procedimentos catalogados expandidos

  • Parâmetros simbólicos resolvidos

Esta opção é particularmente valiosa durante o desenvolvimento e depuração de jobs, pois permite visualizar exatamente como o sistema interpretou e expandiu o JCL - similar ao nível INFO/DEBUG em linguagens modernas.

Valor 2 - Só o JCL de Entrada

Só o JCL de entrada, no file JESJCL aparecerá o cartão JOB (cabeçalho) seguido dos demais cartões do seu job, caso execute um procedimento catalogado (procedure) ele não é listado. Esta opção oferece uma visão "limpa" do código original, útil para documentação e revisão - equivalente ao nível WARN, onde você vê informações importantes mas não todos os detalhes.

N - Mensagens de Alocação de Arquivos

N - mensagens de alocação de arquivos (booleana, 0 ou 1)

Valor 0 - Modo Silencioso

Não são listadas as mensagens de alocação de arquivos. Suprime todas as mensagens relacionadas à alocação e liberação de datasets durante a execução normal, facilitando a identificação de problemas sem poluir a saída com informações rotineiras.

Valor 1 - Modo Detalhado

São listadas as mensagens de alocação de arquivos. Imprime todas as mensagens de alocação e liberação de arquivos, independentemente do status de término do job. Esta configuração é essencial para:

  • Auditoria de recursos utilizados

  • Verificação de datasets acessados

  • Monitoramento de performance

  • "Troubleshooting detalhado"

Consideração Importante sobre Dados In-Stream

O JES2 não lista por padrão os dados in-stream, isto é, os dados seguidos de DD * não são listados na saída, caso necessário na listagem do job (na sua visualização lá no SDSF) deve-se informar o comando input on. Esses dados geralmente são listados pelo programa que será executado no step ou no step anterior utilizando algum utilitário que deve existir em sua instalação para tal fim ou mesmo utilizando TYPRUN=COPY que copia esses dados para o file JESJCLIN.

Configuração Padrão

O sistema utiliza MSGLEVEL=(1,1) como configuração padrão na maioria das instalações, representando um equilíbrio entre informação suficiente para depuração e controle sobre a verbosidade da saída, odeio escrever ou falar verbosidade, deve ter algum termo em portugues, um dia descubro e altero aqui.

Tabela de comportamento

MSGLEVEL
Impressão do JCL
Mensagens de Alocação

(0,0)

Somente o cartão JOB

Não são listadas

(0,1)

Somente o cartão JOB

São listadas

(1,0)

JCL de entrada + procedures

Não são listadas

(1,1)

JCL de entrada + procedures

São listadas

(2,0)

Apenas JCL de entrada

Não são listadas

(2,1)

Apenas JCL de entrada

São listadas

Considerações Práticas

A escolha adequada dos valores de MSGLEVEL depende do contexto de uso, assim como a configuração de níveis de log em aplicações modernas:

Para Desenvolvimento: Recomenda-se MSGLEVEL=(1,1) para máxima visibilidade e facilidade de depuração - equivalente ao nível DEBUG.

Para Produção: Muitas vezes MSGLEVEL=(0,0) ou (1,0) são preferidos para reduzir o volume de saída e focar apenas em informações críticas - similar ao nível ERROR ou WARN.

Last updated