| Bellacosa Mainframe explicando em jcl o que sao filas, classes e msglevel |
O que são Filas, Classes e MSGLEVEL no JCL?
Quando alguém começa a trabalhar com:
JOBs;
JES2;
SDSF;
processamento batch;
rapidamente encontra conceitos como:
CLASS;
MSGCLASS;
filas;
MSGLEVEL.
Esses parâmetros controlam:
como o JOB será tratado pelo z/OS.
Eles são fundamentais para:
performance;
organização batch;
prioridade;
análise de spool.
Primeiro: o que são filas no mainframe?
Fila significa:
JOB aguardando processamento.
O JES2 organiza JOBs em:
ordem;
prioridade;
categoria;
disponibilidade de recursos.
Analogia simples
Imagine um banco.
Existem:
filas prioritárias;
filas normais;
atendimento rápido;
atendimento demorado.
O JES2 funciona da mesma forma.
Fluxo simplificado
SUBMIT
↓
FILA JES2
↓
INITIATOR
↓
EXECUÇÃO
↓
SPOOL
O que controla essas filas?
Principalmente:
CLASS.
O que é CLASS no JCL?
CLASS define:
a categoria/prioridade do JOB.
Exemplo
//MEUJOB JOB CLASS=A
O que a CLASS influencia?
prioridade;
tipo de processamento;
fila batch;
initiators;
tempo de execução;
políticas operacionais.
Cada empresa define suas classes
Exemplo fictício:
| Classe | Uso |
|---|---|
| A | produção crítica |
| B | testes |
| C | relatórios |
| T | desenvolvimento |
| X | processamento pesado |
Então CLASS não é padrão universal
Cada ambiente define regras próprias.
Como o JES2 usa CLASS?
Ele organiza:
quem executa primeiro;
quais initiators atendem;
quanto recurso usar.
O que é initiator?
Processo que executa JOBs.
Alguns initiators atendem apenas:
CLASS=A;
CLASS=B;
etc.
Exemplo prático
//FINANCE JOB CLASS=A
JOB prioritário.
//TESTE JOB CLASS=T
JOB menos prioritário.
O que é MSGCLASS?
MSGCLASS define:
onde e como mensagens do spool serão tratadas.
Exemplo
MSGCLASS=X
O que isso controla?
saída JESMSGLG;
JESYSMSG;
SYSOUT;
retenção spool;
visualização SDSF.
Analogia simples
CLASS:
fila do processamento.
MSGCLASS:
fila das mensagens.
Exemplo completo
//MEUJOB JOB CLASS=A,
// MSGCLASS=X
O que é MSGLEVEL?
MSGLEVEL controla:
quantidade de mensagens exibidas no spool.
Exemplo
MSGLEVEL=(1,1)
Estrutura
MSGLEVEL=(x,y)
Primeiro número (x)
Controla:
mensagens JCL.
Segundo número (y)
Controla:
mensagens de alocação e execução.
Valores mais comuns
MSGLEVEL=(1,1)
Mostra:
JCL;
alocação;
execução;
mensagens completas.
Muito usado para:
debugging.
MSGLEVEL=(0,0)
Reduz mensagens.
Spool menor.
MSGLEVEL=(2,1)
Mais detalhado ainda.
Exemplo profissional
//PAYROLL JOB CLASS=A,
// MSGCLASS=X,
// MSGLEVEL=(1,1)
O que aparece no spool?
Com MSGLEVEL adequado aparecem:
datasets;
allocations;
DDs;
execução;
mensagens JES2.
Por que MSGLEVEL é importante?
Ajuda:
troubleshooting;
análise de erro;
debugging;
suporte.
Se MSGLEVEL estiver baixo…
…mensagens importantes podem desaparecer.
Como filas aparecem no SDSF?
No painel:
ST
ou:
I
Status comuns
INPUT
JOB aguardando execução.
ACTIVE
JOB executando.
OUTPUT
JOB finalizado.
HOLD
JOB parado aguardando liberação.
O que é HOLD?
JOB fica:
retido na fila.
O que é prioridade batch?
Algumas classes executam antes de outras.
Exemplo real
Produção:
CLASS=A
Testes:
CLASS=T
Produção normalmente possui prioridade maior.
O que é TYPRUN?
Outro parâmetro relacionado.
Exemplo
TYPRUN=SCAN
Valida JCL sem executar.
Muito usado para testes
Como operadores usam classes?
Para:
controlar workload;
separar ambientes;
evitar overload;
priorizar batch crítico.
Como programadores usam MSGLEVEL?
Para:
analisar erros;
entender ABENDs;
verificar alocação.
Exemplo clássico completo
//MEUJOB JOB CLASS=A,
// MSGCLASS=X,
// MSGLEVEL=(1,1)
Resultado
JOB prioritário;
spool completo;
mensagens detalhadas.
Curiosidades incríveis
1. Grandes bancos possuem dezenas de classes JES2
2. Algumas classes executam apenas à noite
3. MSGLEVEL ajuda muito em troubleshooting COBOL
4. Controle de filas é essencial em processamento massivo
Erros comuns de iniciantes
1. Confundir CLASS com MSGCLASS
CLASS:
processamento.
MSGCLASS:
mensagens.
2. Usar MSGLEVEL baixo durante debugging
Isso esconde informações.
3. Escolher classe errada
Pode atrasar execução.
4. Ignorar filas HOLD
JOB pode nunca executar.
Dicas importantes
Durante testes use:
MSGLEVEL=(1,1)
Aprenda classes do seu ambiente
Leia JESMSGLG sempre
Verifique status no SDSF
Como isso aparece no dia a dia?
Praticamente em tudo:
COBOL;
DB2;
SORT;
batch;
automação;
produção;
operações.
Resumo rápido
| Conceito | Significado |
|---|---|
| CLASS | Prioridade/fila do JOB |
| MSGCLASS | Classe das mensagens |
| MSGLEVEL | Quantidade de mensagens |
| HOLD | JOB parado |
| INPUT | Aguardando |
| ACTIVE | Executando |
| OUTPUT | Finalizado |
Conclusão
Filas, classes e MSGLEVEL são componentes fundamentais do processamento batch no z/OS.
Eles controlam prioridade, organização, execução e detalhamento das mensagens dos JOBs, permitindo que o JES2 administre milhares de processamentos simultaneamente de forma eficiente dentro do ambiente mainframe IBM Z.
Sem comentários:
Enviar um comentário