Mostrar mensagens com a etiqueta xecution. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta xecution. Mostrar todas as mensagens

segunda-feira, 26 de abril de 2010

SMP/E for z/OS Workshop – Execution Requirements

 

Bellacosa Mainframe apresenta SMP/E Execition Requirements

SMP/E for z/OS Workshop – Execution Requirements

O dia em que o SMP/E acorda para trabalhar ☕🖥️

Quem já administrou SMP/E sabe: ele não roda sozinho. Antes de qualquer RECEIVE, APPLY ou ACCEPT, existe um ritual sagrado chamado Execution Requirements. É aqui que muita gente tropeça, cria JCL quilométrico ou passa a madrugada brigando com DD statement faltando.

Neste post, vamos destrinchar como o SMP/E é executado, quais datasets ele exige, e por que a alocação dinâmica é um divisor de águas, tudo no melhor estilo Bellacosa Mainframe: prático, direto e com dicas que salvam produção.


🧭 Formas de invocar o SMP/E

O SMP/E pode ser iniciado de duas formas clássicas:

1️⃣ Diálogos ISPF

  • Painéis interativos

  • Geram JCL automaticamente

  • Ideais para aprendizado e tarefas pontuais

2️⃣ Batch (JCL direto)

  • Total controle do ambiente

  • Essencial para automação e produção

  • Base para procedures catalogadas

💡 Dica Bellacosa: ISPF ensina, batch sustenta produção.


⚙️ O coração da execução: GIMSMP

Toda execução do SMP/E passa por ele:

//EXEC PGM=GIMSMP

Ou por uma procedure catalogada que, no fundo, também chama o GIMSMP.

Parâmetros importantes no EXEC

ParâmetroFunção
CSIDataset do Global Zone
DATETimestamp das entradas no CSI
LANGUAGEIdioma das mensagens (default EN)
PROCESSWAIT ou END quando recurso não está disponível

📌 Erro comum: esquecer o CSI e confiar que o SMP/E vai “adivinhar”. Ele não adivinha.


📦 Os datasets primários do SMP/E

O SMP/E trabalha com 10 datasets primários, variando conforme o comando:

DDNAMEFunção
SMPPTSTemporary storage de SYSMOD
SMPMTSTemporary storage de macros
SMPSTSTemporary storage de source
SMPLTSTemporary storage de load modules
SMPSCDSSave control datasets
SMPLOGLog do SMP/E
SMPCSIVSAM cluster do Global Zone
Target ZonesControle do target
DLIB ZonesControle de distribuição

🚨 SMPPTS: pequeno no físico, gigante no impacto

  • SMPPTS é PDS

  • PDS = um único volume físico

  • Limitação real em ambientes grandes

A solução moderna: SMPPTS Spill

SMPPTS
SMPPTS1
SMPPTS2
...
SMPPTS99

🔧 Pode ser definido via:

  • DD statements

  • DDDEFs em todas as zones (GZONE, TZONE, DZONE)

💡 Dica Bellacosa: Se esquecer de definir spill em uma zone, o erro aparece só quando dói.


🗂️ Zones e alocação automática

  • SMPCSI aponta para o Global Zone

  • Zone Index no GZONE permite alocação dinâmica de:

    • Target Zones

    • Distribution Zones

📌 Se não houver DD explícito, o SMP/E consulta o Zone Index.


📥 RECEIVE: datasets clássicos

DDNAMEConteúdo
SMPPTFINSYSMOD input (CBPDO, ESO, CUM)
SMPHOLD++HOLD / ++RELEASE

📼 Curiosidade raiz:

  • CBPDO: SMPPTFIN costuma ser o 5º file

  • HOLDDATA geralmente o 3º file


🔧 APPLY / ACCEPT: quem entra em cena

  • TXLIB / LKLIB → texto de modificação

  • SYSLIB → concatenação de macros, objetos e loads

  • SMPJCLIN → leitura estrutural de SYSGEN / GENERATE

📌 Sem SMPJCLIN bem definido, o SMP/E fica cego para a estrutura do sistema.


🧾 Controle, parâmetros e saída

Comando SMP/E

  • SMPCNTL → comandos

  • SMPPARM → customização

Saídas principais

DDNAMEConteúdo
SMPLISTLIST output
SMPRPTReports
SMPOUTMensagens SMP/E
SYSPRINTSaída de utilities
SMPSNAPDump em erro severo
SMPPUNCHUnload, BUILDMCS

🌐 SMP/E e HFS (Network Install)

  • SMPDIR define diretórios HFS

  • Necessário para RECEIVE FROMNETWORK

  • DDDEF não define arquivo, apenas diretório

📌 Use DD para arquivos, DDDEF para diretórios.


🎯 O problema: DD demais

Resultado clássico:

  • Procedures enormes

  • Duplicadas por zone

  • Difíceis de manter

A solução profissional: Alocação Dinâmica


🔄 Dynamic Allocation: o pulo do gato

O SMP/E busca informações nesta ordem:

1️⃣ DD statements no JCL
2️⃣ Parâmetros EXEC (CSI)
3️⃣ Zone Index do Global Zone
4️⃣ DDDEFs da zone atual
5️⃣ GIMDDALC (SMPPARM)
6️⃣ Defaults

Quando encontra, para a busca.


🏆 Vantagens reais da alocação dinâmica

1️⃣ Override fácil

  • Precisa mudar algo pontual?

  • Basta um DD no JCL

2️⃣ Mesmo DDNAME, datasets diferentes por zone

  • Teste ≠ Produção

  • Sem procedures duplicadas

3️⃣ Menos enqueue, mais controle

  • Dataset liberado a cada SET

  • Não fica preso ao JOB STEP inteiro

💡 Bellacosa Truth: Uma boa estratégia de DDDEF reduz 80% da dor operacional.


📊 File Allocation Report

  • Gerado para todo comando exceto SET

  • Gravado no SMPRPT

  • Lista DDNAME → dataset físico

  • Inclui HFS e links simbólicos

📌 Ferramenta essencial para auditoria e troubleshooting.


🧠 Conclusão Bellacosa

SMP/E não é difícil. Difícil é entender quem manda em quem.

Quando você domina:

  • execução via GIMSMP

  • papel de cada dataset

  • alocação dinâmica

…o SMP/E deixa de ser um monstro e vira um mordomo extremamente exigente.

No próximo capítulo do workshop, entramos no RECEIVE e REJECT, o primeiro passo real da cadeia de instalação.

🚀 Continue firme. Mainframe não perdoa, mas recompensa quem estuda.