sábado, 29 de maio de 2010

SMP/E for z/OS Workshop – RECEIVE e REJECT

 

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:

  1. RECEIVE – Estagia SYSMODs e HOLDDATA

  2. APPLY – Instala nos target libraries

  3. ACCEPT – Consolida nos distribution libraries

  4. RESTORE – Volta DLIB → target

  5. 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