| Bellacosa Mainframe fala sobre o guardião invisivel SMP/E no Z/OS |
☕🔥 SMP/E — O Guardião Invisível do z/OS (ou: por que seu COBOL roda há 30 anos sem quebrar)
Se você é dev COBOL sênior, já viu de tudo: batch que roda desde o século passado, CICS que nunca cai, DB2 que parece imortal.
Mas tem um herói silencioso nisso tudo.
👉 O SMP/E (System Modification Program/Extended)
E hoje você vai enxergar ele como nunca viu:
não como ferramenta… mas como sistema de governança do caos controlado.
🧠 Antes de tudo: por que o SMP/E existe?
Volta comigo…
Década de 70/80.
- Software entregue em fita
- Correções manuais
- Dependências no papel
- Atualizar = rezar
👉 Resultado?
💥 Ambientes quebrando
💥 Versões inconsistentes
💥 “Funciona em um LPAR, não no outro”
💡 A resposta da IBM
Criar um sistema que:
- Controla tudo
- Versiona tudo
- Rastreia tudo
- Permite rollback
👉 Nasce o SMP… depois o SMP/E
🧬 O conceito que muda tudo
“No mainframe, nada é sobrescrito… tudo é versionado.”
🔄 O pipeline que mantém seu COBOL vivo
📦 RECEIVE
- Entrada de PTF/APAR
- Vai para SMPPTS
⚙️ APPLY
- Atualiza target libraries
- Seu programa começa a usar
💾 ACCEPT
- Consolida na DLIB
- Torna oficial
💡 Easter egg Bellacosa:
APPLY é tipo rodar um programa em teste
ACCEPT é dar “commit em produção”
🧩 FMID, PTF, APAR — o trio que você precisa dominar
🏗️ FMID
- Produto base
- Vem em RELFILE
🔧 PTF
- Correção definitiva
🚨 APAR
- Problema identificado
💡 Insight:
APAR é o bug report…
PTF é o merge aprovado 😄
📦 Onde as coisas realmente vivem
🧠 CSI (o cérebro)
- VSAM KSDS
- Guarda:
- histórico
- elementos
- zones
🌍 Zones
| Zone | Função |
|---|---|
| Global | controle |
| Target | runtime |
| DLIB | baseline |
📁 Datasets que poucos explicam direito
| Dataset | Função |
|---|---|
| SMPPTS | entrada (PTF/APAR) |
| SMPSCDS | source temporário |
| SMPMTS | macros |
| SMPSTS | backup (RESTORE) |
| SMPLOG | logs |
💥 Curiosidade:
Um APPLY grande pode alocar +100 datasets automaticamente
🔗 Dependências — onde o caos vira matemática
Você pede:
APPLY PTFZ
O SMP/E resolve:
PTFX → PTFY → PTFZ
E ainda entende:
- supersede
- co-requisites
- IFREQ
💡 Insight:
SMP/E é um resolvedor de dependência muito antes do npm existir 😎
🛑 HOLDDATA — o “não faça isso agora”
📌 Exemplo real
++HOLD(PTF001) SYSTEM REASON(IPL)
👉 Significa:
- precisa IPL
- impacto sistêmico
🧠 Tipos
- ERROR
- SYSTEM
- USER
- DOC
🔥 Easter egg
Você pode ignorar:
APPLY BYPASS(HOLDSYSTEM)
Mas…
“Com grandes poderes vêm grandes incidentes” 😄
🧬 Rastreabilidade absurda (nível mainframe)
Cada módulo tem:
- FMID (origem)
- RMID (quem substituiu)
- UMID (última mudança)
💡 Pergunta de produção:
“Quem alterou esse módulo?”
👉 SMP/E responde.
❌ REJECT vs 🔄 RESTORE
| Ação | Comando |
|---|---|
| Desfazer RECEIVE | REJECT |
| Desfazer APPLY | RESTORE |
💥 Regra de ouro:
RECEIVE → REJECT
APPLY → RESTORE
🏗️ DDDEF — o detalhe que poucos dominam
👉 Define datasets para SMP/E
- Nome
- Espaço
- Formato
💡 Insight forte:
DDDEF transforma SMP/E em sistema autônomo
🧠 UCLIN — mexendo no cérebro do sistema
UCLIN.
ADD DDDEF(...)
ADD TARGETZONE(...)
ENDUCL.
⚠️ Curiosidade:
UCLIN é poderoso o suficiente para quebrar tudo… silenciosamente 😄
🔧 Administração avançada (nível operador raiz)
| Comando | Função |
|---|---|
| ZONECOPY | clonar ambiente |
| ZONEEXPORT | backup |
| ZONEIMPORT | restore |
| ZONEEDIT | alteração em massa |
| UNLOAD | gerar UCLIN |
📊 Relatórios — onde o SMP/E fala com você
- SYSMOD STATUS → deu certo?
- ELEMENT SUMMARY → o que mudou?
- ERRSYSMODS → risco ativo
💡 Insight:
APPLY instala… relatório valida.
🌐 SMP/E moderno (sim, ele evoluiu)
RECEIVE ORDER CONTENT(ALL)
👉 Baixa direto da IBM:
- PTF
- APAR
- HOLDDATA
💥 Curiosidade:
Algumas empresas rodam isso automaticamente semanalmente
🧪 Mini cenário real (pra fixar)
Você aplica uma PTF:
- ✔ APPLY roda
- ❌ batch começa a falhar
👉 O que você faz?
- Ver SMPLOG
- Ver ERRSYSMODS
- Identificar PTF
- Executar:
RESTORE SYSMOD(PTFxxxx)
💥 Sistema volta
🧠 Insight final (nível Bellacosa)
O SMP/E não é um instalador…
é um sistema de controle de estado do z/OS
☕🔥 Fechamento
Enquanto no mundo distribuído:
- você instala
- reza
- e torce
No mainframe:
- você recebe
- aplica
- aceita
- rastreia
- e volta atrás se precisar
💥 Frase final
“Seu COBOL roda há 30 anos não por sorte…
mas porque o SMP/E nunca deixou o caos entrar.”
Sem comentários:
Enviar um comentário