☕ SLINE, ALT, CONDENSE e XREF no REXX Mainframe
As “condições invisíveis” que mandam no batch (e quase ninguém percebe)
“O batch não falhou.
Ele apenas executou exatamente o que você mandou…
inclusive o que você não sabia que estava mandando.”
🧠 Introdução – O batch não é só JCL
Quando falamos de batch no mainframe, a maioria pensa em:
-
JCL
-
Utilities
-
RC
-
Cond codes
Mas quem já viveu produção sabe:
O verdadeiro controle do batch moderno está nos REXX intermediários.
E dentro desses REXX, existem condições operacionais silenciosas que raramente são documentadas, mas mudam completamente o comportamento do processamento:
👉 SLINE
👉 ALT
👉 CONDENSE
👉 XREF
Elas não aparecem no JCL.
Não geram ABEND.
Mas definem o destino do processamento.
🕰️ Origem histórica – Por que isso existe?
Esses conceitos nasceram entre o final dos anos 80 e início dos 90, quando:
-
REXX começou a ser usado como cola entre utilities
-
ISPF virou padrão
-
O batch passou a depender de pré-processamento inteligente
-
O volume de dados cresceu, mas o tempo de janela diminuiu
O REXX deixou de ser “script do programador” e virou:
Camada de controle semântico do batch
SLINE, ALT, CONDENSE e XREF surgem como padrões operacionais, não como comandos formais únicos.
📜 SLINE – A linha como unidade de decisão
O que é SLINE?
SLINE representa o conceito de Single Logical Line.
No batch tradicional:
-
Você lê registros
-
Processa campos
-
Escreve saída
No REXX:
-
A linha inteira vira contexto
-
A decisão acontece antes do parsing pesado
Onde aparece?
-
Leitura de SYSIN
-
Pré-processamento de arquivos texto
-
Logs JES, SYSOUT, relatórios
Exemplo conceitual
🧩 Curiosidade
SLINE é o motivo pelo qual muitos REXX detectam erro antes do COBOL rodar.
SLINE é o “olhar rápido” do batch.
🔁 ALT – Alteração controlada de realidade
O que é ALT?
ALT representa a alteração do conteúdo original, normalmente:
-
Substituição
-
Normalização
-
Correção emergencial
ALT não é “editar”.
ALT é corrigir o mundo antes que o batch veja.
Exemplo
Onde ALT reina?
-
Arquivos vindos de sistemas externos
-
Migrações
-
Contornos de erro sem recompilar COBOL
⚠️ Comentário Bellacosa
ALT é poderoso… e perigoso.
Se você altera dados sem log, você está reescrevendo a história.
🧹 CONDENSE – Limpar antes de decidir
O que é CONDENSE?
CONDENSE elimina:
-
Espaços redundantes
-
Caracteres inválidos
-
Ambiguidade de parsing
É o equivalente batch do:
“Vamos arrumar a casa antes de discutir.”
Exemplo
Por que isso importa?
Porque 90% das falhas de batch REXX vêm de espaços invisíveis.
Easter Egg técnico 🥚
Muitos problemas “intermitentes” desaparecem apenas adicionando CONDENSE.
Não era bug.
Era whitespace.
🔗 XREF – A memória do batch
O que é XREF?
XREF (cross reference) não é um comando REXX padrão.
É um conceito de rastreabilidade:
-
De onde veio o dado
-
Para onde ele foi
-
Quem foi afetado
No REXX batch, XREF geralmente aparece como:
-
Tabelas stem
-
Arquivos auxiliares
-
Logs correlacionados
Exemplo conceitual
Por que isso existe?
Porque batch sem XREF:
-
Não é auditável
-
Não é explicável
-
Não é confiável
XREF é o que transforma automação em processo corporativo.
🧪 Exemplo integrado – O batch invisível
Esse REXX:
-
Limpa
-
Corrige
-
Decide
-
Documenta
Tudo antes do COBOL rodar.
🧠 O que isso significa no processo batch?
SLINE, ALT, CONDENSE e XREF são:
-
Condições implícitas
-
Regras não declaradas
-
Decisões fora do JCL
Eles definem:
-
Se o job falha ou passa
-
Se o dado é confiável
-
Se o erro é detectado cedo
-
Se o incidente é explicável depois
⚠️ O risco oculto
“Não está no JCL, então ninguém revisa.”
Esse é o maior perigo.
REXX batch sem governança vira:
-
Caixa-preta
-
Dependência de pessoa
-
Fonte de incidente crônico
☕ Comentário final – Um Café no Bellacosa Mainframe
No mainframe moderno:
O JCL agenda.
O COBOL processa.
Mas o REXX decide.
E quem domina SLINE, ALT, CONDENSE e XREF entende que o batch não quebra por acaso — ele quebra por decisões invisíveis.
Conhecer essas condições não te torna um programador melhor.
Te torna um guardião do processamento.