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
(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