| Bellacosa Mainframe apresenta o SMP/E |
SMP/E for z/OS
O guardião silencioso do mainframe (e por que você deve respeitá-lo)
Se existe uma ferramenta que todo System Programmer precisa conhecer profundamente, essa ferramenta é o SMP/E (System Modification Program / Extended).
Ele não aparece no painel bonito, não tem interface gráfica chamativa, mas é ele quem controla a saúde do z/OS.
👉 Sem SMP/E, o mainframe vira um Frankenstein de PTFs soltos.
📜 Origem e História
O SMP nasceu lá atrás, nos primórdios do OS/360, quando a IBM percebeu que:
“Instalar correções sem controle é pedir para quebrar o sistema.”
Com o tempo, o SMP evoluiu e virou SMP/E, agregando:
-
Controle de dependências
-
Histórico de mudanças
-
Rastreabilidade total
-
Capacidade de rollback (sim, isso já existia antes de DevOps virar moda)
📆 SMP/E acompanha o z/OS até hoje, sendo atualizado a cada release do sistema.
🧠 O que é o SMP/E, em poucas palavras
SMP/E é o gerenciador oficial de manutenção do z/OS.
Ele controla:
-
Instalação
-
Aplicação
-
Aceitação
-
Histórico
-
Dependências
-
Erros conhecidos
Tudo baseado em regras formais, nada de “copiar membro na mão”.
🧩 Conceitos-chave que todo mainframeiro precisa dominar
🔹 SYSMOD
É o pacote de mudança. Pode ser:
-
PTF – correção
-
APAR – problema reportado
-
USERMOD – customização do cliente
-
FUNCTION – novo produto ou base
🔹 MCS – Modification Control Statements
As MCS são as instruções que dizem ao SMP/E:
“O que é isso, onde entra, do que depende e como tratar.”
📌 Todas começam com:
Exemplos clássicos:
-
++VER -
++MOD -
++HOLD -
++ERROR
🚨 ++ERROR — o alarme vermelho do SMP/E
O ++ERROR é usado para marcar um PTF como defeituoso.
👉 Em bom português Bellacosa:
“Instala por sua conta e risco.”
Exemplo:
📌 O SMP/E não bloqueia automaticamente, mas alerta o sysprog de que aquele PTF tem problema conhecido.
💡 Dica de ouro:
Nunca ignore um ++ERROR sem ler a documentação da APAR correspondente.
🔐 Outros statements famosos (e perigosos)
-
++HOLD → segura o APPLY/ACCEPT automático
-
++WAIT → depende de outro SYSMOD
-
++IF / ++IN → controle condicional
-
++VER → garante compatibilidade de versão
👉 SMP/E é rigoroso porque produção não aceita improviso.
🔄 O Fluxo SMP/E (o caminho da sabedoria)
1️⃣ RECEIVE
👉 Introduz o SYSMOD no SMP/E (CSI)
2️⃣ APPLY
👉 Aplica no Target Libraries (executável)
3️⃣ ACCEPT
👉 Atualiza o DLIB (baseline oficial)
📌 Regra de ouro:
Nada vai para produção sem passar por APPLY e ACCEPT.
📦 DLIB vs TARGET (o erro clássico dos iniciantes)
-
DLIB
-
Biblioteca de referência
-
Fonte “oficial”
-
Não executável
-
-
TARGET
-
Onde o sistema realmente roda
-
Código executável
-
❌ Erro comum:
“Apliquei no DLIB achando que estava em produção.”
🧪 Exemplos práticos (vida real)
-
Instalar um PTF de segurança
-
Aplicar correção crítica de JES2
-
Avaliar impacto de um ++HOLD
-
Recuar uma manutenção problemática
👉 SMP/E não é só instalar, é governar mudanças.
🎓 Como aprender SMP/E de verdade
📚 Teoria
-
IBM Knowledge Center
-
Redbooks de SMP/E
-
APARs reais (leitura obrigatória!)
🧪 Prática
-
SMP/E for z/OS Workshop
-
Ambientes de laboratório
-
CSI de teste
-
APPLY CHECK antes de tudo
💡 Dica Bellacosa:
“Quem só lê manual não vira sysprog. Quem só pratica sem teoria vira bombeiro.”
🛠️ SMP/E for z/OS Workshop
O Workshop de SMP/E para z/OS é onde a mágica acontece:
-
Criação de CSI
-
RECEIVE/APPLY/ACCEPT reais
-
Análise de HOLDS e ERRORS
-
Resolução de conflitos
-
Simulação de falhas
👉 É aqui que o SMP/E deixa de ser teoria e vira ferramenta de sobrevivência.
🧠 Curiosidades
-
SMP/E já fazia dependency management antes do Maven existir
-
Já tinha rollback antes do Git
-
Continua sendo 100% obrigatório em ambientes regulados
-
Ignorar SMP/E é pedir outage
🧾 Comentário final (estilo Bellacosa)
SMP/E não é opcional.
SMP/E não é simples.
SMP/E não perdoa.
Mas quem domina o SMP/E:
-
Ganha respeito
-
Evita madrugada em produção
-
Vira referência técnica
💾🔥

