Translate

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

quinta-feira, 6 de novembro de 2025

☕🚀 REXX: O “CANIVETE SUÍÇO” DO z/OS — Quando um Script Começa a Conversar com TODO o Mainframe 🚀☕

 

Bellacosa Mainframe apresenta Executing Host Commands em REXX

☕🚀 REXX: O “CANIVETE SUÍÇO” DO z/OS — Quando um Script Começa a Conversar com TODO o Mainframe 🚀☕

“O verdadeiro poder do REXX não está na sintaxe.
Está na capacidade de conversar com absolutamente tudo.”
— Estilo Bellacosa Mainframe


🧠 O Dia em Que Você Descobre Que o REXX NÃO É Só “Scripting”

Todo mundo começa igual.

O programador iniciante aprende:

SAY 'HELLO WORLD'

Depois:

DO I = 1 TO 10
SAY I
END

Aí pensa:

“Ok… é uma linguagem simples.”

Mas então chega o momento da revelação.

O momento em que você escreve:

ADDRESS SDSF

…e percebe que aquele “scriptzinho inocente” acabou de ganhar acesso ao coração operacional do z/OS.

Nesse instante você entende:

😳 O REXX NÃO RODA NO MAINFRAME.

😳 O REXX CONVERSA COM O MAINFRAME.

E isso muda tudo.


🏛️ O Conceito Que Faz o REXX Virar Um Monstro de Automação

A IBM criou algo brilhante:

Host Command Environment

Traduzindo para Bellacosaês:

“Pra qual universo você quer mandar comandos agora?”

O REXX não executa tudo sozinho.

Ele atua como um maestro.

Cada ambiente executa um tipo de magia.

Host commands


AmbienteSuperpoder
TSOcomandos operacionais
ISPEXECcontrolar ISPF
ISREDITcriar macros editoriais
SDSFdominar spool/jobs
CONSOLEvirar operador MVS
DSNREXXconversar com DB2
SYSCALLcontrolar UNIX
SOCKETfalar TCP/IP

☕ ADDRESS — A Palavra Mais Poderosa do REXX

A instrução:

ADDRESS

parece inocente.

Mas ela literalmente troca o “mundo” onde o REXX está falando.


🎯 Exemplo Simples

ADDRESS TSO
"LISTALC STATUS"

Aqui o REXX diz:

“TSO, execute isso pra mim.”


😎 O Grande Truque

Você pode mudar de ambiente a qualquer momento.

Tipo assim:

ADDRESS TSO
"ALLOC FI(INPUT) DA('CLIENTE.ARQ') SHR"

ADDRESS ISPEXEC
"DISPLAY PANEL(MENU001)"

ADDRESS SDSF
"ISFEXEC ST"

Percebe a insanidade disso?

😳 Um único programa:

  • aloca dataset
  • controla ISPF
  • acessa SDSF
  • automatiza operações

Tudo junto.


🔥 O Dia em Que o Programador Descobre o ISREDIT

Existe um momento na carreira do mainframeiro em que ele percebe:

O editor ISPF é programável.

A mente explode.


🧙 Macros ISPF: O “VIM MODE GOD” DO Mainframe

Exemplo:

/* REXX */
ADDRESS ISREDIT
"MACRO"

"CHANGE 'TESTE' 'PROD' ALL"

Você acabou de criar um comando novo dentro do editor ISPF.

Agora imagine:

  • refatoração automática
  • padronização COBOL
  • alteração massiva JCL
  • análise estática
  • geração automática de código

Tudo feito em REXX.

Décadas antes de IDEs modernas.


🧨 Easter Egg Mainframe #1

Muita gente usa ISPF há 20 anos…

…sem perceber que o editor dele é basicamente um mini sistema operacional programável.


🚨 CONSOLE — O Modo “Deus do Sysprog”

Agora vem a parte perigosa.

ADDRESS CONSOLE
"D A,L"

Isso NÃO é brincadeira.

Você está emitindo comandos reais de operador MVS.


😅 Sim… Dá Medo.

Porque daqui a pouco você faz:

"F JES2,DEBUG"

ou pior:

"P TCPIP"

e o datacenter inteiro olha pra você.


🧨 Easter Egg Mainframe #2

Todo sysprog experiente conhece alguém que:

  • derrubou subsystem
  • pausou JES2
  • congelou spool
  • matou CICS

…“só testando um REXX rapidinho”.


🧠 SDSF + REXX = Automação Jedi

A maioria das pessoas usa SDSF manualmente.

O especialista usa:

rc=isfcalls('ON')

ADDRESS SDSF "ISFEXEC ST"

E então começa a automatizar o impossível.


🎯 Exemplo: Listar Jobs Ativos

rc=isfcalls('ON')

ADDRESS SDSF "ISFEXEC ST"

DO I = 1 TO JNAME.0
SAY JNAME.I STATUS.I
END

rc=isfcalls('OFF')

😳 O Que Isso Significa?

Você pode criar:

  • monitor batch
  • restart automático
  • watchdog operacional
  • análise de spool
  • alertas inteligentes
  • observabilidade do z/OS

ANTES da palavra “observabilidade” virar moda.


☕ O Mainframe Já Fazia DevOps Antes do DevOps

Enquanto o mundo moderno:

  • descobria scripts
  • aprendia automação
  • inventava pipelines

o z/OS já fazia isso com:

REXX + SDSF + JCL + ISPF

nos anos 80 e 90.


🗄️ DSNREXX — Quando o REXX Aprende SQL

A IBM foi além.

Ela pensou:

“E se o REXX falasse DB2 também?”

Nasceu o DSNREXX.


🎯 Exemplo Conceitual

ADDRESS DSNREXX

"EXECSQL
SELECT NAME
INTO :WS-NOME
FROM CLIENTES
WHERE ID = 100"

😳 Resultado?

O REXX virou:

  • DBA assistant
  • monitor DB2
  • gerador relatório
  • ferramenta troubleshooting

🧨 Easter Egg Mainframe #3

Muito DBA antigo automatizou ambientes inteiros sem escrever uma linha de COBOL.

Só REXX + DSNREXX.


🌐 SOCKETS — O Momento Cyberpunk do z/OS

Agora segura essa.

O REXX consegue abrir socket TCP/IP.

Sim.

Socket.

TCP/IP real.


🎯 Exemplo

CALL SOCKET 'Initialize'

parse value SOCKET('Socket') with rc sock .

CALL SOCKET 'Connect',sock,'AF_INET 80','192.168.0.1'

😳 Você Entendeu o Que Isso Significa?

O mesmo REXX que:

  • mexe em spool
  • controla JCL
  • automatiza ISPF

também consegue:

  • falar rede
  • integrar sistemas
  • abrir conexão TCP

🧠 O z/OS Sempre Foi Mais Moderno do Que Diziam

Essa é a verdade que ninguém conta.

Muita tecnologia “moderna” já existia no mainframe:

  • automação
  • scripting
  • integração
  • APIs
  • virtualização
  • segurança centralizada
  • observabilidade
  • alta disponibilidade

Décadas antes do hype.


🐧 UNIX Dentro do Mainframe? Sim.

Com:

CALL SYSCALLS 'ON'

o REXX ganha acesso ao z/OS UNIX.


🎯 Exemplo

CALL SYSCALLS 'ON'

ADDRESS SYSCALL
"readdir / tmp."

DO I = 1 TO TMP.0
SAY TMP.I
END

😎 Resultado?

Agora o mesmo REXX:

  • acessa datasets
  • conversa com JES
  • executa SQL

também navega no filesystem UNIX.


🧨 Easter Egg Mainframe #4

Muitos ambientes bancários modernos:

  • APIs
  • microserviços
  • integrações REST
  • automações batch

têm algum REXX escondido funcionando nos bastidores.

Às vezes há 25 anos sem cair.


⚔️ LINK e ATTACH — Chamando Programas Como um Ninja

O REXX também consegue executar load modules diretamente.


🎯 Exemplo

ADDRESS LINKMVS "SORT parm"

😳 Isso é Profundo.

Porque o REXX deixa de ser:

  • linguagem de script

e vira:

  • controlador de execução MVS.

☕ O Verdadeiro Segredo do Mainframe

O segredo nunca foi o COBOL.

Nem o JCL.

Nem o CICS.

O segredo sempre foi:

Integração.

E o REXX virou a “cola universal” do ecossistema z/OS.


🧠 O REXX Como Sistema Nervoso do Mainframe

Observe esse fluxo:

REXX

SDSF consulta JOB

captura spool

analisa ABEND

consulta DB2

abre ticket

reinicia JOB

notifica operador

Tudo em um único exec.


🚀 Comparação Moderna

HojeMainframe já fazia
Python automationREXX
DevOps scriptingSDSF REXX
VSCode macrosISREDIT
Cloud orchestrationJES automation
REST integrationSOCKET/SYSCALL
Database scriptingDSNREXX

🧨 Easter Egg Final

Muitos dos ambientes mais críticos do planeta:

  • bancos
  • seguradoras
  • bolsas
  • governos

ainda sobrevivem graças a pequenos REXX feitos por algum mago do mainframe em 1998…

…que ninguém tem coragem de apagar.

Ambientes suportados



☕ Conclusão Bellacosa Mainframe

O REXX parece simples porque foi criado para humanos.

Mas por trás da simplicidade existe algo colossal:

Ele é a interface universal do z/OS.

Quando você domina:

  • ADDRESS
  • ISPEXEC
  • ISREDIT
  • SDSF
  • CONSOLE
  • DSNREXX
  • SYSCALL

você para de “usar” o mainframe…

REXX e suas bibliotecas


…e começa a ORQUESTRAR o mainframe.


🚀 Frase Final

“O COBOL processa negócios.
O JCL organiza execução.
O CICS controla transações.

Mas o REXX…

o REXX conversa com o universo inteiro do z/OS.” ☕