☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

Mostrar mensagens com a etiqueta Automação zOS. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Automação zOS. Mostrar todas as mensagens

quarta-feira, 15 de abril de 2026

🧪 LAB SMP/E — DO CAOS À ORQUESTRAÇÃO

 

Bellacosa Mainframe Laboratorio SMP/E do caos a orquestração

🧪 LAB SMP/E — DO CAOS À ORQUESTRAÇÃO

🎯 Objetivo do Lab

Você vai executar:

  1. 📦 RECEIVE / APPLY (com erro)
  2. 📊 REPORT (diagnóstico)
  3. 🔗 LINK MODULE (correção)
  4. 🏗️ BUILDMCS (empacotamento)

👉 Resultado final:

Um ambiente corrigido, analisado e exportável


🧱 CENÁRIO DO LAB

👉 Situação:

  • Produto instalado parcialmente
  • Módulo faltando no LMOD
  • PTF aplicada sem dependência

💥 Resultado:

Erro de execução + inconsistência SMP/E


🔥 PASSO 1 — RECEIVE (entrada da manutenção)

//RECEIVE JOB (ACCT),'SMP/E LAB',CLASS=A,MSGCLASS=X
//SMPCSI DD DISP=SHR,DSN=SYS1.SMP.CSI
//SMPPTS DD DISP=SHR,DSN=SYS1.SMP.PTS
//SMPCNTL DD *
SET BOUNDARY(GLOBAL).

RECEIVE SYSMODS
FROMDS('USER.PTF.INPUT')
BYPASS(HOLDSYSTEM).
/*

💡 O que está acontecendo

  • Carrega SYSMOD no SMPPTS
  • Ignora HOLD SYSTEM (perigoso 👀)

⚠️ PASSO 2 — APPLY (com erro proposital)

//APPLY JOB (ACCT),'SMP/E APPLY',CLASS=A,MSGCLASS=X
//SMPCSI DD DISP=SHR,DSN=SYS1.SMP.CSI
//SMPCNTL DD *
SET BOUNDARY(TZONE1).

APPLY PTFS(UX12345)
GROUPEXTEND
BYPASS(HOLDCLASS).
/*

💥 Resultado esperado

Erro tipo:

GIM35901E - REQUIRED SYSMOD NOT FOUND

👉 Tradução:

Dependência faltando


🧠 PASSO 3 — REPORT (diagnóstico inteligente)

//REPORT JOB (ACCT),'SMP/E REPORT',CLASS=A,MSGCLASS=X
//SMPCSI DD DISP=SHR,DSN=SYS1.SMP.CSI
//SMPPUNCH DD SYSOUT=*
//SMPCNTL DD *
SET BOUNDARY(TZONE1).

REPORT CROSSZONE.

REPORT ERRSYSMODS.

REPORT SYSMODS.
/*

🔍 O que você vai ver

  • Dependências faltantes
  • PTFs necessárias
  • Conflitos

💡 E mais importante:
👉 SMPPUNCH com comandos prontos


🔗 PASSO 4 — LINK MODULE (cirurgia)

//LINKMOD JOB (ACCT),'SMP/E LINK',CLASS=A,MSGCLASS=X
//SMPCSI DD DISP=SHR,DSN=SYS1.SMP.CSI
//SMPCNTL DD *
SET BOUNDARY(TZONE1).

LINK MODULE(CSAMPLE)
FROMZONE(TZONE2).
/*

🧠 O que acontece

  • Busca módulo em outra zona
  • Rebuild do LMOD
  • Cria TIEDTO

💡 Resultado:

Executável corrigido sem reinstalar tudo


🏗️ PASSO 5 — BUILDMCS (empacotar o ambiente)

//BUILDMCS JOB (ACCT),'SMP/E BUILD',CLASS=A,MSGCLASS=X
//SMPCSI DD DISP=SHR,DSN=SYS1.SMP.CSI
//SMPPUNCH DD SYSOUT=*
//SMPCNTL DD *
SET BOUNDARY(TZONE1).

BUILDMCS FORFMID(CICS123).
/*

📦 Resultado

No SMPPUNCH:

  • ++FUNCTION
  • ++MOD
  • ++JCLIN

👉 Você criou um:

produto instalável do seu ambiente


🔁 PASSO 6 — APPLY CORRIGIDO

//APPLY2 JOB (ACCT),'SMP/E APPLY OK',CLASS=A,MSGCLASS=X
//SMPCSI DD DISP=SHR,DSN=SYS1.SMP.CSI
//SMPCNTL DD *
SET BOUNDARY(TZONE1).

APPLY PTFS(UX12345)
GROUPEXTEND
CHECK.
/*

💡 Agora

  • Sem erro
  • Dependências resolvidas
  • Ambiente consistente

🎯 LIÇÕES DO LAB (ESSENCIAL)

🧠 1. APPLY sem REPORT = risco

🧠 2. LINK MODULE = solução cirúrgica

🧠 3. BUILDMCS = portabilidade

🧠 4. REPORT = prevenção


💥 EASTER EGGS (NÍVEL BELLACOSA)

😈 Se você ignorar HOLDDATA
👉 vai quebrar produção

😈 Se usar LINK demais
👉 cria acoplamento invisível

😈 Se não usar BUILDMCS
👉 não consegue reconstruir ambiente


🚀 DESAFIO (NÍVEL HARDCORE)

Tente:

  1. Rodar APPLY sem GROUPEXTEND
  2. Ver erro
  3. Resolver com REPORT + FIXCAT

🧠 FRASE FINAL DO LAB

“Quem roda SMP/E executa comando…
quem domina SMP/E controla o sistema.”


sábado, 29 de maio de 2010

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

 

Bellacosa Mainframe analisando o smp/e for zos workshop

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.

quarta-feira, 11 de abril de 2007

O que é Automação no Mainframe?

 

Bellacosa Mainframe e a introdução a automacao em mainframe

O que é Automação no Mainframe?

Imagine um banco que precisa executar milhares de tarefas todos os dias.

À meia-noite é necessário iniciar backups.

À 1h da manhã começam centenas de jobs COBOL.

Às 2h é preciso atualizar bancos de dados.

Às 4h devem ser enviados arquivos para outros sistemas.

Às 6h tudo precisa estar pronto antes que as agências abram.

Seria praticamente impossível uma pessoa iniciar cada tarefa manualmente.

É aí que entra a:

Automação no Mainframe

Ela permite que o próprio ambiente IBM Z execute tarefas automaticamente, seguindo regras previamente definidas.


Definição simples

A automação no mainframe é o conjunto de ferramentas e processos que permitem ao sistema executar tarefas automaticamente, sem intervenção humana.

Essas tarefas podem incluir:

  • iniciar aplicações;

  • executar jobs;

  • monitorar serviços;

  • reiniciar componentes;

  • realizar backups;

  • responder a falhas;

  • enviar alertas;

  • controlar dependências.

Em outras palavras:

O computador passa a executar rotinas sozinho, seguindo regras previamente configuradas.


Uma analogia simples

Imagine uma fábrica moderna.

Quando uma máquina termina seu trabalho, a próxima começa automaticamente.

Nenhum funcionário precisa apertar um botão a cada etapa.

O processo inteiro acontece de forma coordenada.

A automação do mainframe funciona da mesma maneira.


Por que a automação é importante?

Grandes empresas executam milhões de transações diariamente.

Seria inviável depender apenas de operadores humanos.

A automação proporciona:

  • rapidez;

  • segurança;

  • disponibilidade;

  • padronização;

  • redução de erros.


O que pode ser automatizado?

Praticamente tudo.

Por exemplo:

Execução de Jobs

Um JOB pode iniciar automaticamente quando outro terminar.

JOB A
   ↓
JOB B
   ↓
JOB C
   ↓
JOB D

Sem intervenção humana.


Inicialização de Sistemas

Quando o z/OS é iniciado, diversos componentes podem ser ativados automaticamente.

Exemplo:

  • JES2;

  • CICS;

  • Db2;

  • MQ;

  • TCP/IP.


Reinício Automático

Se uma aplicação falhar:

Aplicação caiu

↓

Automação detecta

↓

Reinicia

↓

Sistema volta ao ar

Tudo em poucos segundos.


Monitoramento

A automação verifica continuamente:

  • CPU;

  • memória;

  • discos;

  • jobs;

  • filas;

  • mensagens;

  • dispositivos.

Caso algo saia do esperado, uma ação pode ser executada automaticamente.


Backup

Os backups podem iniciar em horários programados.

Exemplo:

23:00

↓

Backup diário

Sem necessidade de um operador.


Alertas

Quando ocorre um problema, o sistema pode:

  • enviar e-mail;

  • abrir chamado;

  • enviar mensagem;

  • acionar equipes.


Como funciona?

Tudo começa com regras.

Exemplo:

SE

JOB terminou

ENTÃO

Iniciar próximo JOB

Outro exemplo:

SE

CPU > 90%

ENTÃO

Enviar alerta

Outro:

SE

CICS parou

ENTÃO

Reiniciar automaticamente

Ferramentas de automação

Diversos produtos são utilizados.

Entre os mais conhecidos:

IBM Z System Automation (SA z/OS)

Automatiza:

  • aplicações;

  • subsistemas;

  • recuperação;

  • monitoramento.

É uma das soluções mais utilizadas no ambiente IBM.


IBM Z Workload Scheduler (IWS)

Antigo Tivoli Workload Scheduler.

Controla:

  • jobs;

  • calendários;

  • dependências;

  • workflows.


CA-7

Muito utilizado para agendamento de jobs.


Control-M

Uma das ferramentas de automação mais conhecidas do mercado.

Utilizada tanto em mainframe quanto em plataformas distribuídas.


ESP Workload Automation

Especializada em processamento batch.


AutoOPERATOR

Ferramenta voltada para automação operacional baseada em mensagens do sistema.


NetView

Além do monitoramento de redes, pode atuar em automações operacionais.


O que é um Scheduler?

É o programa responsável por decidir:

  • quando um job será executado;

  • qual job vem depois;

  • quais dependências existem;

  • quais recursos são necessários.

É como um maestro coordenando uma orquestra.


Exemplo de dependências

Receber Arquivo

↓

Validar Arquivo

↓

Executar COBOL

↓

Atualizar Db2

↓

Gerar Relatório

↓

Enviar Arquivo

Cada etapa só começa quando a anterior termina com sucesso.


Automação de recuperação

Imagine que um servidor apresente falha.

A automação pode:

  • detectar o problema;

  • registrar o incidente;

  • reiniciar o serviço;

  • validar o retorno;

  • avisar a equipe.

Tudo automaticamente.


Automação baseada em eventos

Nem toda automação depende de horário.

Ela pode responder a eventos.

Exemplo:

Arquivo chegou

↓

Iniciar processamento

Outro exemplo:

Mensagem no console

↓

Executar comando

Benefícios

Disponibilidade

Os sistemas permanecem funcionando continuamente.


Rapidez

Respostas em segundos.


Menos erros humanos

Redução de falhas operacionais.


Padronização

Todos os procedimentos seguem o mesmo padrão.


Economia

Menor necessidade de intervenção manual.


Quem trabalha com automação?

Diversos profissionais:

  • Operadores Mainframe;

  • Analistas de Produção;

  • Sysprogs;

  • Especialistas em Workload Scheduler;

  • Administradores de CICS;

  • Administradores de Db2;

  • Especialistas em System Automation;

  • Equipes DevOps.


Curiosidades incríveis

1. Grandes bancos executam centenas de milhares de jobs por dia

Boa parte desse processamento ocorre automaticamente.


2. Muitos datacenters operam praticamente sem intervenção humana durante a madrugada

A automação coordena toda a execução dos processos.


3. A automação moderna integra diferentes plataformas

Hoje é comum um workflow iniciar um job no z/OS, acionar uma API na nuvem e enviar notificações para equipes de suporte.


4. A Inteligência Artificial começa a apoiar a automação

Ferramentas modernas utilizam IA para identificar padrões de falhas, prever incidentes e sugerir ações corretivas antes que os problemas afetem os usuários.


Erros comuns de iniciantes

"Automação serve apenas para executar jobs"

Não.

Ela também monitora sistemas, responde a eventos, reinicia serviços, envia alertas e coordena processos complexos.


"Depois da automação não existem operadores"

Não.

A automação reduz tarefas repetitivas, mas operadores e administradores continuam sendo fundamentais para supervisionar o ambiente, tratar exceções e definir as regras.


"Automação é igual Scheduler"

Não.

O Scheduler é apenas um dos componentes da automação.

A automação inclui monitoramento, recuperação automática, gerenciamento de eventos e integração entre diversos sistemas.


Quando aprender Automação?

Depois de compreender os conceitos básicos de:

  • z/OS;

  • JCL;

  • JES2;

  • processamento batch;

  • CICS;

  • Db2.

O estudo da automação mostra como todos esses componentes trabalham juntos para manter um ambiente corporativo funcionando 24 horas por dia.


Conclusão

A Automação no Mainframe é um dos pilares da operação moderna do IBM Z. Ela permite que jobs, aplicações e serviços sejam executados, monitorados e recuperados automaticamente, reduzindo erros, aumentando a disponibilidade e garantindo que processos críticos ocorram no momento certo.

Sem automação, seria praticamente impossível administrar o enorme volume de tarefas executadas diariamente por bancos, seguradoras, órgãos públicos e grandes empresas. Por isso, compreender seus conceitos e ferramentas é essencial para qualquer profissional que deseja construir uma carreira sólida no universo do mainframe.


Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...