| Bellacosa Mainframe falando sobre SMP/E |
💀🔥 “SEU COBOL NÃO QUEBROU… FOI O SMP/E QUE REESCREVEU O MUNDO AO REDOR”
O guia que todo dev sênior precisa ler antes de culpar o programa
Você já viveu isso:
💣 “rodava ontem… hoje ABENDOU… ninguém mexeu no código”
👉 Então deixa eu te contar a verdade que poucos falam no mainframe:
💀 o código raramente muda… o ambiente muda o tempo todo
E quem controla isso?
🔥 SMP/E — System Modification Program / Extended
🕰️ UM POUCO DE HISTÓRIA (POR QUE ISSO EXISTE)
Antes do SMP/E:
- sysprog copiava módulo na mão
- sobrescrevia biblioteca sem controle
- não existia rastreabilidade
Resultado?
💣 ambiente inconsistente
💣 bugs “fantasmas”
💣 caos operacional
O SMP nasceu pra resolver isso… e evoluiu para o SMP/E:
👉 controle
👉 consistência
👉 governança
🧠 SMP/E NA PRÁTICA (SEM ROMANTIZAR)
Pensa assim:
seu programa = ponta do iceberg
smp/e = quem controla o oceano inteiro
Ele decide:
- qual versão roda
- quais dependências são válidas
- o que entra no sistema
- o que quebra silenciosamente
🔠 ACRÔNIMOS (TRADUÇÃO DE VERDADE)
🔥 SMP/E
👉 System Modification Program / Extended
👉 gerenciador de instalação e manutenção
📦 SYSMOD
👉 pacote de mudança
Tipos:
- FUNCTION → instala produto
- PTF → correção oficial
- APAR → problema reportado
- USERMOD → customização local
💣 Easter egg:
USERMOD mal feito vira dívida técnica eterna
🧬 CSI
👉 Consolidated Software Inventory
👉 banco VSAM onde tudo é registrado:
- versões
- dependências
- histórico
💀 sem CSI consistente:
você não tem ambiente… tem sorte
🧠 FMID / RMID / UMID
- FMID → origem (quem criou)
- RMID → última substituição
- UMID → updates incrementais
👉 isso é controle de versão REAL (muito antes do Git 😄)
🧱 COMO FUNCIONA O ARMAZENAMENTO
📦 O coração: CSI (VSAM)
👉 dataset VSAM KSDS
Contém:
- ZONES
- entradas de elementos
- relações entre bibliotecas
🧩 ZONES (ARQUITETURA LÓGICA)
| Zone | Função |
|---|---|
| GLOBAL | índice e controle |
| TARGET | o que está rodando |
| DLIB | base confiável |
💡 Insight de sênior:
🔥 TARGET mente
🔥 DLIB não mente
📁 TIPOS DE DATASETS DO SMP/E
🔹 SMPCSI
👉 o banco (VSAM)
🔹 SMPPTS
👉 staging dos SYSMODs (RECEIVE)
🔹 SMPLOG / SMPOUT
👉 logs e mensagens (onde está a verdade)
🔹 TARGET LIBRARIES
👉 executáveis (load modules)
🔹 DISTRIBUTION LIBRARIES (DLIB)
👉 base confiável (source, macros, objetos)
💣 Curiosidade:
DLIB geralmente NÃO é executável
e mesmo assim é mais importante que TARGET
⚙️ COMO O SMP/E FUNCIONA (O FLUXO QUE MANDA EM TUDO)
RECEIVE → APPLY → ACCEPT
🔹 RECEIVE
- carrega SYSMOD
- não altera sistema
🔹 APPLY
- altera TARGET
- muda runtime
💀 aqui nasce o problema
🔹 ACCEPT
- atualiza DLIB
- vira baseline
💣 Easter egg:
APPLY muda o presente
ACCEPT muda o futuro
🖥️ SMP/E NO ISPF (TELA VERDE RAIZ)
Acesso típico:
TSO SMPE
Menu clássico:
- RECEIVE
- APPLY
- ACCEPT
- RESTORE
- LIST / REPORT
💡 Dica de sênior:
ISPF é interface…
mas quem manda é o JCL
⚙️ SMP/E VIA BATCH (MUNDO REAL)
Execução padrão:
//SMPE EXEC PGM=GIMSMP
//SMPCSI DD ...
//SYSIN DD *
SET BDY(TZONE).
APPLY CHECK.
/*
💣 Curiosidade:
todo clique no ISPF vira JCL por baixo
🧩 MCS — A LINGUAGEM DO SMP/E
Tudo começa com:
++PTF
++VER
++MOD
🔥 ++VER (O MAIS IMPORTANTE)
Define:
- FMID
- dependências
- aplicabilidade
💀 erro aqui = APPLY FAIL
🔗 DEPENDÊNCIAS (ONDE O BICHO PEGA)
- PRE → precisa antes
- REQ → precisa junto
- SUP → substitui
💣 80% dos erros de SMP/E:
👉 dependência não resolvida
🏗️ JCLIN — O SEGREDO QUE NINGUÉM TE CONTA
👉 não executa
👉 descreve o link-edit
💡 SMP/E aprende como montar o sistema
💀 erro clássico:
código certo… montagem errada
🧬 TRACKING (O NÍVEL QUE DIFERENCIA)
SMP/E sabe:
FMID → origem
RMID → substituição
UMID → updates
💡 Insight:
- 1 RMID por elemento
- vários UMIDs
👉 isso explica comportamento estranho
💣 CASO REAL (VOCÊ JÁ VIU ISSO)
👉 programa mudou comportamento
Causa:
- novo PTF
- RMID alterado
- runtime atualizado
💀 não foi o código
⚠️ TROUBLESHOOTING RÁPIDO
Se der erro:
- leia SMPOUT
- verifique dependência
- cheque HOLDDATA
- valide zone
- rode APPLY CHECK
🍛 A PENSAR NA HORA DO ALMOÇO
👉 quantos bugs você debugou…
…que eram:
- mudança de load module
- alteração de ambiente
- PTF aplicado
🚀 CONCLUSÃO (NÍVEL SÊNIOR)
💀 SMP/E não instala software
🔥 ele governa o estado do sistema
🔥 FRASE FINAL (ASSINATURA)
💣 “Seu código não mudou…
o mundo ao redor dele mudou — e você não viu.”
Sem comentários:
Enviar um comentário