SMP/E for z/OS Workshop – RECEIVE e REJECT
Quando o SMP/E recebe, avalia… e decide se aceita ou devolve 📦⚖️
No mundo SMP/E, RECEIVE é a porta de entrada e REJECT é a porta de saída. Antes de qualquer APPLY ou ACCEPT, o SMP/E precisa estagiar, validar e registrar tudo que chega. É aqui que muita gente acha que RECEIVE é só “copiar fita”, mas na prática ele é um processo de seleção, validação e controle rigoroso.
Neste post, vamos destrinchar RECEIVE e REJECT, com visão de produção, exemplos reais e aquele toque Bellacosa Mainframe que separa quem decora de quem entende.
🧭 Onde RECEIVE e REJECT se encaixam no SMP/E
Os cinco comandos básicos do SMP/E:
RECEIVE – Estagia SYSMODs e HOLDDATA
APPLY – Instala nos target libraries
ACCEPT – Consolida nos distribution libraries
RESTORE – Volta DLIB → target
REJECT – Desfaz RECEIVE
👉 RECEIVE e REJECT atuam exclusivamente no Global Zone (GZONE).
📥 RECEIVE – muito além de copiar SYSMOD
O que o RECEIVE faz de verdade?
Seleciona SYSMODs e HOLDDATA
Valida aplicabilidade ao ambiente
Estagia dados nos datasets SMP/E
Atualiza o Global Zone
Produz relatórios e logs
📌 Nada é instalado ainda. Apenas preparado.
📦 Entradas do RECEIVE
SYSMODs (Function, PTF, APAR, USERMOD)
HOLDDATA (++HOLD / ++RELEASE)
Fontes possíveis:
📼 Tape (CBPDO / ESO)
💾 DASD
🌐 Network (FTP / SMPNTS / Shopz)
⚙️ SET BDY(GLOBAL): regra número zero
Todo RECEIVE começa com:
SET BDY(GLOBAL)
Sem isso, o SMP/E nem conversa com você.
🎯 Seleção de SYSMODs – quem entra na fila?
A seleção é controlada por operandos do RECEIVE:
Exemplos comuns
Sem operandos → tudo é candidato
FMID / FMIDSET → restringe por função
SELECT / EXCLUDE → filtra SYSMODs
SOURCEID → agrupa SYSMODs
💡 Bellacosa Tip: SOURCEID é ouro para automação de APPLY/ACCEPT.
✅ Regras de aplicabilidade
Para um SYSMOD ser realmente recebido:
Function SYSMOD
++VER SREL deve existir no GZONE
PTF / APAR / USERMOD
++VER SREL e FMID devem existir no GZONE
🛑 Exceção: BYPASS(FMID) ignora o FMID check.
Outras regras:
SYSMOD não pode já ter sido recebido
HOLDDATA só processa se solicitado
🗂️ O que é estagiado pelo RECEIVE
SMPPTS
Armazena MCS + textos de modificação
Um membro por SYSMOD (nome = SYSMODID)
Global Zone
Entrada de SYSMOD
Entrada de HOLDDATA
Atualização da lista de FMIDs
📌 Nenhum elemento é instalado ainda.
📁 RELFILE SYSMODs e SMPTLIB
Quando o SYSMOD vem em RELFILE:
Cada RELFILE → um SMPTLIB
RFDSNPFX define HLQ dos datasets
TLIBs podem ser:
Pré-alocados
Dinamicamente alocados
💡 Dica Bellacosa: defina spill para SMPPTS e TLIBs, ou prepare-se para o caos.
🌐 RECEIVE via Network
FROMNETWORK
Usa pacote GIMZIP
Conecta via TCP/IP (FTP)
Requer SERVER operand
FROMNTS
Usa diretório SMPNTS
Identificado por PKGID ou Order Entry
📦 Base da instalação moderna via Shopz.
🧾 Relatórios gerados pelo RECEIVE
Receive Summary Report
Exception SYSMOD Data Report (++HOLD / ++RELEASE)
Dynamic Allocation Report
📌 Leitura obrigatória antes do APPLY.
🛑 HOLDDATA – quando o SMP/E levanta a mão
HOLDDATA sinaliza SYSMODs que:
Exigem ação manual
Dependem de outro fix
Podem causar impacto operacional
Tipos de HOLD
SYSTEM
ERROR
USER
FIXCAT
🛑 SYSMOD com HOLD não aplica nem aceita.
🏷️ FIXCAT – inteligência aplicada
FIXCAT agrupa APARs por:
Hardware
Software
Função
Durante RECEIVE:
FIXCAT HOLDS criam SOURCEIDs automaticamente
PTFs resolutores herdam o SOURCEID
Resultado:
APPLY SOURCEID(FIXCAT_xxx)
🎯 Simples, limpo e auditável.
📌 FIXCAT persistente (Options Entry)
Lista salva no OPTIONS entry
Usada por APPLY / ACCEPT / REPORT MISSINGFIX
Configurada via:
UCLIN
Admin Dialog
Fix Category Explorer
💡 Bellacosa Truth: FIXCAT bem mantido evita outage silencioso.
🚪 REJECT – desfazendo o RECEIVE
REJECT reverte RECEIVE, não APPLY.
O que ele remove:
SYSMOD entry no GZONE
HOLDDATA entry
MCS no SMPPTS
SMPTLIBs associados
🎛️ Modos de REJECT
MASS – tudo recebido e não instalado
SELECT – SYSMOD específico
PURGE – aceitos em uma DZONE
NOTAPPLICABLE – não aplicáveis ao sistema
🔍 CHECK faz simulação (sempre use!).
🧠 Conclusão Bellacosa
RECEIVE é controle. APPLY é ação. ACCEPT é compromisso.
Quem domina RECEIVE:
Evita lixo no SMPPTS
Controla HOLDDATA
Organiza SOURCEIDs
Dorme melhor antes do APPLY
No próximo capítulo do workshop, entramos de vez no APPLY processing, onde o código finalmente toca o sistema.
🚀 Até lá, respeite o RECEIVE. Ele sabe mais do que parece.
Sem comentários:
Enviar um comentário