Translate

Mostrar mensagens com a etiqueta operação. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta operação. Mostrar todas as mensagens

segunda-feira, 20 de outubro de 2025

PADAWAN, O PROBLEMA NÃO ESTÁ ONDE O ABEND ACONTECEU! Executando Root Cause Analysis (RCA) em Ambiente Mainframe

Bellacosa Mainframe e root cause analysis


☕💣🚨 PADAWAN, O PROBLEMA NÃO ESTÁ ONDE O ABEND ACONTECEU!

Executando Root Cause Analysis (RCA) em Ambiente Mainframe

Como Encontrar a Verdadeira Causa do Incidente e Não Apenas o Sintoma

Uma das maiores armadilhas no mundo Mainframe é acreditar que o erro está exatamente onde ele apareceu.

O operador vê um S0C7.

O desenvolvedor vê um SQLCODE -911.

O analista vê um JOB FAILED.

O gerente vê um SLA perdido.

Mas o verdadeiro culpado pode estar escondido horas, dias ou até semanas antes do incidente.

É exatamente para isso que existe a Root Cause Analysis (RCA).


O Que é Root Cause Analysis?

Root Cause Analysis é um processo estruturado utilizado para descobrir:

  • O que aconteceu

  • Por que aconteceu

  • Como aconteceu

  • Como impedir que aconteça novamente

O objetivo NÃO é:

❌ Encontrar culpados

O objetivo é:

✅ Encontrar causas

Existe uma enorme diferença entre:

Sintoma

e

Causa Raiz

Exemplo:

Sintoma:

JOB ABC123 ABEND S0C7

Causa raiz:

Arquivo recebido com campo numérico inválido

Sem RCA você corrige o programa.

Com RCA você corrige o processo.


O Modelo Bellacosa de RCA

Costumo ensinar que a investigação deve seguir 5 perguntas:

1. O que falhou?
2. Onde falhou?
3. Quando começou?
4. O que mudou?
5. Qual evento iniciou a cadeia?

A quinta pergunta normalmente encontra a causa raiz.


Caso Real Simulado

Imagine o seguinte cenário:

Às 03:15 da manhã:

JOB FINPAY01
ABEND S0C7

Sistema financeiro parado.

Pagamento não processado.

Telefone do plantão toca.

Você entra na guerra.


Passo 1 – Não Entre em Pânico

Primeiro erro dos iniciantes:

ABEND → Corrigir programa

Errado.

Primeiro precisamos coletar evidências.


Passo 2 – Capturar Informações Básicas

Anote:

Job Name
Step Name
Programa
Hora
Sistema
Código de retorno

Exemplo:

JOB:
FINPAY01

STEP:
CALCPAY

PROGRAMA:
PAYROLL

ABEND:
S0C7

HORA:
03:15

Agora temos o ponto inicial.


Passo 3 – Analisar JESMSGLG

Abrir:

SDSF
ST
?

Verificar:

JESMSGLG

Perguntas:

  • Houve mensagens antes do abend?

  • Dataset estava disponível?

  • Houve timeout?

  • Houve atraso?

Exemplo:

RECORD READ SUCCESSFULLY

Logo antes do erro:

INVALID DATA DETECTED

Primeira pista encontrada.


Passo 4 – Analisar SYSOUT

Agora olhamos:

SYSOUT
SYSPRINT
SYSUDUMP
CEEDUMP

Dependendo da aplicação.

Encontramos:

FIELD SALARY
VALUE = ABC123

O campo deveria ser numérico.


Passo 5 – Confirmar no Dump

No dump:

OFFSET X'03A2'

Instrução:

PACK

O programa tentou converter:

ABC123

para número.

Resultado:

S0C7

Até aqui temos:

O QUE aconteceu

Mas ainda não temos:

POR QUE aconteceu

Erro Comum da Equipe

Muitas equipes param aqui.

Produzem um relatório:

Causa:
Campo inválido.

Isso NÃO é RCA.

Isso é apenas descrição do sintoma.


Passo 6 – Rastrear a Origem do Dado

Pergunta:

Quem criou esse registro?

Abrimos o fluxo.

FINPAY01
↓
FINLOAD
↓
FTPIN
↓
Arquivo Externo

Agora começamos a enxergar a cadeia de eventos.


Passo 7 – Reconstruir a Linha do Tempo

Uma RCA boa sempre monta uma timeline.

01:00 Arquivo recebido

01:05 FTP concluído

01:10 Processo de carga

03:15 Abende S0C7

Agora investigamos:

O que mudou entre ontem e hoje?

Passo 8 – Procurar Mudanças

A pergunta mais poderosa da RCA:

O que mudou?

90% dos incidentes começam aqui.

Verificamos:

  • Mudança de software

  • Novo fornecedor

  • Nova versão

  • Alteração de layout

  • Mudança de parâmetro

Descobrimos:

Fornecedor alterou layout do arquivo

Ontem:

SALARY PIC 9(8)

Hoje:

SALARY PIC X(8)

E começou a enviar:

ABC123

Finalmente Encontramos a Causa Raiz

Sintoma:

S0C7

Causa imediata:

Campo não numérico

Causa raiz:

Mudança de layout
não comunicada
pelo fornecedor

Agora sim temos RCA.


Técnica dos 5 Porquês

Muito utilizada em bancos e seguradoras.

Pergunte repetidamente:

Por que houve S0C7?

Porque havia valor inválido.

Por que havia valor inválido?

Porque o campo veio alfanumérico.

Por que veio alfanumérico?

Porque o layout mudou.

Por que o layout mudou?

Porque fornecedor implantou nova versão.

Por que ninguém percebeu?

Porque não existia validação de layout.

Causa raiz:

Ausência de validação contratual
do arquivo recebido

Observe:

Não era COBOL.

Não era Mainframe.

Não era operador.

Era falha de processo.


Técnica do Diagrama de Ishikawa

Também chamado:

Fishbone Diagram

Categorias comuns:

Pessoas
Processos
Tecnologia
Dados
Infraestrutura
Mudanças

Exemplo:

S0C7
│
├── Dados
│   └ Campo inválido
│
├── Processo
│   └ Sem validação
│
├── Mudança
│   └ Layout alterado
│
└── Governança
    └ Sem comunicação

Esse modelo é excelente para incidentes complexos.


RCA em Problemas de Performance

Outro exemplo.

Sintoma:

Batch passou de
20 minutos para 4 horas

Investigação:

CPU normal
Memória normal
I/O elevado

Descoberta:

Índice DB2 ficou REORG pendente

Sintoma:

Batch lento

Causa raiz:

Janela de manutenção não executada

Novamente:

A causa raiz não era o batch.


RCA em Problemas de CICS

Sintoma:

AICA

Timeout.

Investigação:

CICS esperando DB2

DB2 esperando:

Lock

Lock causado por:

Batch noturno

Batch preso por:

Dataset indisponível

Causa raiz:

Dataset não montado

O AICA era apenas o último dominó da cadeia.


Estrutura de um Relatório RCA Profissional

INCIDENTE:
Batch FINPAY01 falhou.

IMPACTO:
Pagamento não processado.

SINTOMA:
ABEND S0C7.

CAUSA IMEDIATA:
Campo SALARY inválido.

CAUSA RAIZ:
Fornecedor alterou layout sem aviso.

AÇÃO CORRETIVA:
Correção do layout.

AÇÃO PREVENTIVA:
Validação automática de arquivo.

RESPONSÁVEL:
Equipe de Integração.

PRAZO:
15 dias.

O Segredo dos Grandes Especialistas Mainframe

Os profissionais mais experientes não são aqueles que sabem mais comandos.

São aqueles que conseguem responder:

Por que isso aconteceu?

Porque o verdadeiro trabalho de um especialista não é apagar incêndios.

É descobrir quem acendeu o fósforo.

Quando você domina RCA, deixa de ser apenas alguém que resolve abends e passa a ser alguém que elimina problemas da raiz, reduz incidentes recorrentes e se torna uma das pessoas mais valiosas dentro da operação Mainframe.

E é exatamente nesse momento que você deixa de ser um simples operador de mensagens e passa a pensar como um verdadeiro detetive de sistemas IBM Z. ☕🚀🔎


sexta-feira, 14 de novembro de 2014

💣🔥 MAINFRAME QUICK TIPS — O OPERADOR LENTO NÃO ABENDA… ELE ATRASA O UNIVERSO 🔥💣

 

Bellacosa Mainframe uma rapida olhada em comandos TSO ISPF

💣🔥 MAINFRAME QUICK TIPS — O OPERADOR LENTO NÃO ABENDA… ELE ATRASA O UNIVERSO 🔥💣

Você pode ter 30 anos de COBOL…

Pode dominar CICS, DB2, tuning de JCL…

Mas se você ainda navega no ISPF como um turista perdido

👉 você está desperdiçando o ativo mais caro do mainframe: tempo de CPU humano.


🧠 A VERDADE QUE NINGUÉM TE CONTA

No mundo do z/OS:

  • milissegundos de máquina são otimizados
  • mas minutos de operador… são ignorados

👉 E é aí que mora o gargalo invisível.


⌨️ ISPF — O TERMINAL É SUA ESPADA

Esses atalhos parecem simples… mas são atalhos cognitivos:

🔹 =3.4 — Dataset List

Não é só navegação.

👉 É acesso direto ao filesystem lógico do mainframe

Profissionais experientes:

  • não “procuram”
  • saltam direto no alvo

🔹 =2 — Edit

Aqui nasce o caos… ou a precisão.

  • editar membro rápido = produtividade
  • editar sem padrão = desastre em produção

🔹 =6 — Command Shell

Isso aqui é o “root shell” do operador.

👉 Quem domina isso, controla o ambiente.


🔹 PF KEYS — A ARMA SECRETA

  • F3 → voltar sem quebrar contexto
  • F7/F8 → navegar sem pensar
  • F12 → cancelar antes do erro virar incidente

💡 Operador bom não usa mouse.
💡 Operador excelente não “pensa” nos comandos.


🛠️ TSO — NÃO É COMANDO… É EXTENSÃO DO CÉREBRO

🔹 LISTDS

Mais que listar:

👉 É inspeção forense de dataset

Use para:

  • entender alocação
  • verificar organização
  • evitar erro antes de acontecer

🔹 ALLOC

Aqui você cria infraestrutura.

  • espaço mal definido → performance ruim
  • DCB errado → job falha

👉 Isso é design em miniatura.


🔹 DELETE

Simples… e perigoso.

👉 No mainframe:

deletar errado não dá “lixeira”
dá incidente


🔹 HELP

Subestimado.

👉 É documentação viva dentro do sistema.


📑 JCL — O DNA DA EXECUÇÃO

Se COBOL é o cérebro…

👉 JCL é o sistema nervoso.


🔹 JOB

Define identidade

  • prioridade
  • classe
  • accounting

🔹 EXEC

Define ação

  • qual programa
  • qual etapa

🔹 DD

Define realidade

  • onde está o dado
  • como será acessado

👉 Erro em DD = erro estrutural


⚠️ BOAS PRÁTICAS — ONDE NASCE A ESTABILIDADE

🔹 RC (RETURN CODE)

Ignorar RC é como ignorar check engine aceso.

  • RC=0 → sucesso
  • RC>0 → alerta
  • RC alto → desastre iminente

🔹 JESMSGLG — O LOG QUE CONTA A VERDADE

👉 Não confie no “rodou”.

Leia:

  • mensagens
  • warnings
  • alocação

🔹 PADRONIZAÇÃO

Dataset bem nomeado:

  • facilita automação
  • reduz erro humano
  • acelera troubleshooting

🔹 DOCUMENTAÇÃO

Mainframe não perdoa amnésia organizacional.

👉 Conhecimento não documentado = risco operacional


🧪 EXEMPLO REAL (CENÁRIO DE GUERRA)

Dois operadores:

🐢 Operador A

  • navega clicando
  • procura dataset
  • lê tudo manualmente

Tempo: 15 minutos


⚡ Operador B

  • usa =3.4 direto
  • filtra com padrão
  • usa PF keys automaticamente

Tempo: 2 minutos


👉 Multiplique isso por 50 operações/dia.

Agora você entendeu o impacto?


🧬 EASTER EGG (NÍVEL HARDCORE)

Esses atalhos foram pensados numa época sem mouse.

👉 Resultado:

  • interfaces ultra eficientes
  • fluxo contínuo
  • zero distração

Hoje chamam isso de:

  • UX otimizada
  • produtividade extrema

👉 O mainframe já fazia isso nos anos 80.


🚀 COMO EVOLUIR (CAMINHO BELLACOSA)

🔹 Fase 1 — Automação mental

  • memorize atalhos
  • elimine hesitação

🔹 Fase 2 — Padrão operacional

  • crie rotinas
  • reduza variabilidade

🔹 Fase 3 — Visão sistêmica

  • entenda impacto de cada ação
  • pense em cadeia

💣 FRASE FINAL

“No mainframe, você não é pago para digitar comandos…
você é pago para não desperdiçar ciclos — nem da máquina, nem da sua mente.”

 

domingo, 16 de fevereiro de 2014

💣🔥 GUIA PRÁTICO — DO TERMINAL À PRODUÇÃO: O OPERADOR QUE DOMINA ISPF, TSO, JCL E JES2 NÃO PEDE AJUDA… ELE RESOLVE 🔥💣

Bellacosa Mainframe em um laboratorio pratico TSO ISPF JCL e JES2 

💣🔥 GUIA PRÁTICO — DO TERMINAL À PRODUÇÃO: O OPERADOR QUE DOMINA ISPF, TSO, JCL E JES2 NÃO PEDE AJUDA… ELE RESOLVE 🔥💣

Se você quer sair do “sei mexer” e entrar no nível “sei operar sob pressão”, este é o seu campo de treinamento.

Aqui não tem teoria solta.

👉 Aqui é lab, erro real, diagnóstico e correção — estilo produção.


🧭 VISÃO DO TREINAMENTO

Você vai simular o ciclo completo:

  1. Navegação e produtividade no ISPF
  2. Manipulação de datasets via TSO
  3. Construção e execução de JCL
  4. Debugging real no JES2

Tudo rodando no ecossistema do z/OS com spool via JES2.


🔬 LAB 1 — ISPF NA VELOCIDADE DE PRODUÇÃO

🎯 Objetivo

Eliminar lentidão operacional.

🧪 Exercício

  1. Acesse:
=3.4
  1. Liste datasets com filtro:
SEU.USERID.*
  1. Use comandos de linha:
  • V → visualizar
  • E → editar
  • B → browse

⚡ Desafio Bellacosa

Sem usar mouse mental:

  • encontre um dataset específico em < 10 segundos
  • navegue entre 3 membros sem perder contexto

💡 Insight

Você não está navegando.

👉 Você está executando operações cognitivas.


🔬 LAB 2 — TSO: CONTROLE DE DADOS

🎯 Objetivo

Dominar datasets sem depender de tela.

🧪 Exercício

🔹 Criar dataset

ALLOC DSN('SEU.USERID.TESTE') NEW SPACE(1,1) TRACKS DIR(5) RECFM(F,B) LRECL(80)

🔹 Listar propriedades

LISTDS 'SEU.USERID.TESTE' ALL

🔹 Deletar

DELETE 'SEU.USERID.TESTE'

⚠️ Erro proposital

Tente alocar sem parâmetros corretos.

👉 Veja o erro
👉 Use HELP ALLOC
👉 Corrija


💡 Insight

TSO não é comando.

👉 É infraestrutura sob demanda


🔬 LAB 3 — JCL: O JOB QUE ORQUESTRA TUDO

🎯 Objetivo

Executar um job funcional.

🧪 Exercício

Crie um membro:

//BELLALAB JOB (ACCT),'TESTE',CLASS=A,MSGCLASS=X
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=SEU.USERID.ARQ.TESTE,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(1,1)),
// DCB=(RECFM=FB,LRECL=80)

▶️ Submeter

SUBMIT

🔍 Verificar saída no JES2

  • SDSF → ST
  • veja status
  • abra output

💡 Insight

IEFBR14 não faz nada…

👉 mas prova que seu JCL faz tudo certo


🔬 LAB 4 — DEBUGGING REAL (O LAB MAIS IMPORTANTE)

🎯 Objetivo

Aprender a errar… e corrigir rápido.


🧪 Cenário com erro

//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=SEU.USERID.ARQ.TESTE,
// DISP=(NEW,CATLG),
// SPACE=(TRK,(1,1))

👉 Falta parâmetro no DISP.


🔥 Tarefa

  1. Submeta o job
  2. Vá no JES2
  3. Abra:
    • JESMSGLG
    • JESJCL
    • JESYSMSG

🧠 Diagnóstico esperado

  • mensagem de erro de alocação
  • falha no catálogo
  • possível RC ≠ 0

🛠️ Correção

Corrigir para:

DISP=(NEW,CATLG,DELETE)

💡 Insight crítico

Quem lê log… domina o sistema
Quem ignora log… vira incidente


🔬 LAB 5 — ANÁLISE PROFISSIONAL DE JOB

🎯 Objetivo

Interpretar execução como operador sênior.


🧪 Checklist

Após execução:

  • RC = 0?
  • dataset foi criado?
  • houve warning?
  • alocação correta?

🧠 Leitura obrigatória

No spool:

  • JESMSGLG → sistema
  • JESJCL → o que foi interpretado
  • JESYSMSG → execução real

💣 Desafio Bellacosa

Pegue um job com erro e responda:

  • Onde falhou?
  • Por quê?
  • Qual impacto?
  • Como evitar?

🧬 LAB EXTRA — SIMULANDO VIDA REAL

🎯 Cenário

Você recebe:

“Job falhou em produção. Corrigir urgente.”


🔥 Procedimento

  1. Identificar job no JES2
  2. Analisar RC
  3. Ler logs
  4. Identificar dataset envolvido
  5. Corrigir JCL ou dado
  6. Reprocessar

💡 Isso é ouro:

👉 velocidade + precisão = operador de elite


🚀 EVOLUÇÃO (PRÓXIMO NÍVEL)

Depois disso, você deve avançar para:

  • Integração com CICS
  • Acesso a DB2
  • Automação com REXX
  • Monitoramento com SDSF avançado

⚠️ ERROS QUE VOCÊ NÃO PODE MAIS COMETER

  • rodar job sem ler output
  • ignorar RC
  • editar dataset em produção sem critério
  • confiar que “deu certo”

💣 FRASE FINAL

“No mainframe, erro não é exceção…
erro é ferramenta de aprendizado — desde que você saiba ler o sistema.”

quarta-feira, 3 de novembro de 2010

☕🔥 REXX Hardcore no z/OS — automação, controle e poder operacional

 

Bellacosa Mainframe apresenta o REXX

☕🔥 REXX Hardcore no z/OS — automação, controle e poder operacional  

Se você já salvou produção com um exec improvisado, já rasgou SDSF via ADDRESS, ou já ouviu

“isso dá pra automatizar em REXX, né?”
então puxa a cadeira.
Aqui é REXX técnico, sem verniz didático e com cheiro de madrugada.


🕰️ Histórico & Origem — por que o REXX virou arma de produção

O REXX (Restructured Extended Executor) nasce na IBM nos anos 80 com uma missão clara:

  • Substituir JCL “verboso”

  • Padronizar scripts

  • Criar uma linguagem legível, extensível e integrada ao sistema

Ele não foi feito para ser “bonito”.
Foi feito para controlar ambiente.

Verdade histórica:

REXX não é linguagem de apoio — é linguagem de governo operacional.


🧠 Conceito de Ambiente de Processamento

REXX não executa no vácuo.
Ele sempre roda dentro de um ambiente:

  • TSO/E

  • Batch

  • SDSF

  • ISPF

  • CICS (indiretamente)

  • Programas externos

Cada ambiente define:

  • Comandos válidos

  • RC interpretado

  • Recursos disponíveis

  • Permissões RACF

🔥 Easter egg:
O mesmo EXEC pode funcionar em TSO e falhar em Batch sem mudar uma linha.


🧩 Fundamentos da Linguagem — simples na superfície, profunda no núcleo

Sintaxe & Elementos

  • Tipagem dinâmica

  • Strings como cidadão de primeira classe

  • Sem declaração obrigatória

  • Case-insensitive (armadilha clássica)

📌 Exemplo:

parse upper arg parm1 parm2 if parm1 = '' then exit 8

Comentário ácido:
REXX perdoa erro demais — e isso cobra seu preço em produção.


🏗️ Estrutura de um Programa REXX

Todo EXEC sério tem:

  1. Identificação

  2. Validação de ambiente

  3. Tratamento de RC

  4. Controle de erro

  5. Cleanup

📌 Exemplo base:

/* REXX */ signal on error signal on failure signal on syntax address tso "ALLOC FI(IN) DA('DATASET') SHR" ... exit 0

🔥 Veterano sabe:
EXEC sem SIGNAL ON é convite ao caos.


🧮 Estrutura de Dados — tabelas na memória

REXX não tem array clássico.
Tem stem variables.

tab.1 = 'A' tab.2 = 'B' tab.0 = 2

Curiosidade:
Stem mal controlado vira memory leak conceitual.


📂 Acesso a Arquivos & Geração de Relatórios

  • ALLOC / FREE

  • EXECIO DISKR / DISKW

  • Geração de relatórios spoolados

  • Integração com SORT

📌 Exemplo:

"EXECIO * DISKR IN (STEM L.)" do i=1 to L.0 say L.i end

🔥 Easter egg:
EXECIO ignora erro… até você checar o RC.


🔃 Classificação & Manipulação de Dados

  • SORT via IDCAMS

  • SORT via ICETOOL

  • Manipulação em memória (lento)

  • Pipeline híbrido REXX + SORT

Regra de produção:

Se precisa ordenar muito, não é REXX — é SORT.


🗂️ Acesso a Diretório de PDS

REXX + ISPF services:

  • LMDINIT

  • LMMLIST

  • LMCLOSE

📌 Exemplo:

address ispexec "LMINIT DATAID(DID) DATASET('MY.PDS')" "LMMLIST DATAID(DID) OPTION(LIST)"

🔥 Veterano:
ISPF services dão poder… e risco.


🧑‍💻 Interatividade com Usuário (TSO)

  • Pseudo-conversational

  • Command-level

  • SAY / PULL

  • Mensagens controladas

Fofoquice:
Interface feia, mas resolve crise em minutos.


🧪 Modos de Execução REXX

🟢 REXX Linha de Comando (Online)

  • Interativo

  • Debug rápido

  • Dependente de perfil

🟡 REXX Batch Script (Interpretado)

  • Executa via IKJEFT01

  • Dependente de ambiente

  • Mais flexível

🔴 REXX Batch Compilado

  • Performance superior

  • RC previsível

  • Menos tolerante a erro

  • Exige processo de build

🔥 Script vs Compilado:

Interpretado é agilidade.
Compilado é confiabilidade.


🔐 REXX + RACF

REXX não ignora segurança:

  • Herda permissões do usuário

  • Pode consultar via RACROUTE (indireto)

  • Controla acesso via classes

Verdade dura:
EXEC com SPECIAL é bomba com pavio curto.


🗄️ REXX + DB2

  • DSNREXX

  • SQL dinâmico

  • RC + SQLCODE + SQLSTATE

  • Automação de consultas e relatórios

📌 Exemplo:

ADDRESS DSNREXX "EXECSQL SELECT COUNT(*) INTO :CNT FROM SYSIBM.SYSTABLES"

🔥 Easter egg:
SQLCODE ignorado vira incidente invisível.


🔀 ADDRESS — o coração da integração

ADDRESS muda o destino dos comandos:

  • TSO

  • ISPEXEC

  • SDSF

  • CONSOLE

  • DSNREXX

☕🔥 Regra sagrada:

Quem domina ADDRESS domina o sistema.


🔢 Return Code (RC) — o idioma da produção

  • RC ≠ erro sempre

  • RC precisa ser interpretado

  • Padronização é vital

if rc > 4 then exit rc

🔥 Veterano:
RC não tratado é mentira operacional.


📘 Programa do Curso — visão hardcore

Estrutura Geral / Labs

  • Ambiente restritivo

  • Casos reais

  • Incidentes simulados

Instruções REXX

  • IF, DO, SELECT

  • SIGNAL, EXIT

  • PARSE

Funções Internas / Sub-rotinas

  • Modularização

  • Reuso

  • Controle de escopo

Comandos REXX

  • SAY, PULL, TRACE

  • QUEUE / PULL

  • EXECIO

Funções TSO / CONSOLE

  • WTO

  • MODIFY

  • DUMP

  • SDSF

INTERPRET (🔥 perigoso)

  • Execução dinâmica

  • Flexibilidade extrema

  • Risco máximo

Comentário ácido:

INTERPRET é poder absoluto — use sóbrio.


🥚 Easter Eggs & Fofoquices REXX

  • Todo ambiente tem um EXEC “salvador”

  • Sempre existe um REXX sem comentários rodando há anos

  • O melhor REXX é o que não precisa ser explicado

  • Debug começa com TRACE ?R


☕🔥 Conclusão — Manifesto El Jefe REXX

REXX não é:

  • Script simples

  • Linguagem de iniciante

  • Alternativa ao COBOL

REXX é:

  • Cola do z/OS

  • Automação estratégica

  • Ferramenta de sobrevivência em produção

☕🔥 Quem domina REXX,
não programa apenas —
orquestra o mainframe.