| 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:
☕ 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:
-
Identificação
-
Validação de ambiente
-
Tratamento de RC
-
Controle de erro
-
Cleanup
📌 Exemplo base:
🔥 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.
☕ 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:
🔥 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:
🔥 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:
🔥 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
🔥 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.
Sem comentários:
Enviar um comentário