☕ 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

quinta-feira, 18 de dezembro de 2025

✅ CHECKLISTS DE PRODUÇÃO – REXX MAINFRAME (z/OS)

 


✅ CHECKLISTS DE PRODUÇÃO – REXX MAINFRAME (z/OS)




1️⃣ Checklist Geral – Antes de colocar qualquer REXX em produção

☐ Objetivo do exec claramente definido
☐ Exec documentado no cabeçalho (nome, autor, data, função)
☐ Tratamento de erro implementado (SIGNAL ON ERROR, RC verificado)
☐ Uso de PROCEDURE para isolar variáveis
☐ Variáveis globais padronizadas (gVar, kConst)
☐ Nenhuma dependência “hardcoded” (HLQ, volumes, consoles)
☐ Exec testado com dados inválidos e cenários de erro
☐ Não deixa datasets alocados ao final
☐ Código revisado por outro analista (peer review)


2️⃣ Checklist – REXX Interpretado (TSO)

☐ Exec localizado em PDS autorizado (SYSEXEC ou SYSPROC)
☐ Não depende de perfil pessoal do usuário
☐ Usa ADDRESS TSO explicitamente quando necessário
☐ Usa EXIT RC adequado (0, 4, 8, 12…)
☐ Não usa TRACE ?R ou debug ativo em produção
☐ Não usa SAY excessivo (poluição de spool)
☐ EXECIO fecha corretamente arquivos (FINIS)
☐ Testado em sessão TSO limpa (sem allocations prévias)


3️⃣ Checklist – REXX Compilado (CEXEC / OBJECT)

☐ Código compilado com XREF para revisão
☐ Opções de compilação corretas:

  • ☐ SLINE se usa TRACE ou SOURCELINE()

  • ☐ ALT se precisa Alternate Library

  • ☐ CONDENSE avaliado (trade-off load x execução)
    ☐ %COPYRIGHT incluído (requisito IBM / auditoria)
    ☐ Código não depende de comportamento interpretado
    ☐ Dataset CEXEC alocado corretamente no SYSEXEC
    ☐ Teste comparativo interpretado vs compilado validado
    ☐ Performance validada (CPU e tempo)


4️⃣ Checklist – Execução REXX em Batch (IKJEFT01)

☐ Programa correto (IKJEFT01, IKJEFT1A ou IKJEFT1B)
☐ SYSEXEC concatenado corretamente
☐ SYSTSIN definido corretamente
☐ SYSTSPRT definido para saída do REXX
☐ SYSPRINT definido para mensagens do sistema
☐ Não depende de interação (PULL sem input)
☐ RC do jobstep validado no JCL
☐ Exec não depende de terminal (ISPF, DISPLAY)


5️⃣ Checklist – REXX em Batch via IRXJCL

☐ Exec não usa comandos TSO (ALLOCATE, PROFILE, etc.)
☐ Todos os DDs necessários definidos no JCL
☐ Não usa SYSCALL / POSIX
☐ Uso de EXECIO validado com datasets físicos
☐ Testado isoladamente sem ambiente TSO
☐ RC tratado corretamente (IRXJCL retorna RC do exec)


6️⃣ Checklist – REXX com comandos MVS (CONSOLE)

☐ Usuário possui autoridade RACF:

  • ☐ CLASS(CONSOLE)

  • ☐ CLASS(OPERCMDS)
    ☐ CONSPROF configurado corretamente
    ☐ CONSOLE ACTIVATE e DEACTIVATE sempre pareados
    ☐ Uso de CART único por comando
    ☐ Uso de GETMSG() com timeout adequado
    ☐ Exec não bloqueia console (wait infinito)
    ☐ Exec retorna ao ADDRESS TSO ao final
    ☐ Tratamento de mensagens inesperadas implementado


7️⃣ Checklist – System REXX (SYSREXX)

🔹 Planejamento

☐ SYSREXX realmente necessário (não usar se TSO resolve)
☐ Exec não inicia com letras A–I
☐ Exec armazenado em REXXLIB (não alterar SYS1.SAXREXEC)
☐ Nome do exec documentado e único


🔹 Ambiente

☐ AXR subsystem ativo
☐ Parmlib AXR00 configurado
☐ CPF definido corretamente
☐ AXRUSER definido e validado
☐ Teste em ambiente não produtivo realizado


🔹 Execução

☐ Modo correto definido:

  • ☐ TSO=NO (preferencial)

  • ☐ TSO=YES (se precisa ALLOCATE)
    ☐ Exec não assume userid fixo
    ☐ Exec limpa recursos explicitamente
    ☐ Não depende de terminal ou ISPF
    ☐ Exec tolera execução concorrente


8️⃣ Checklist – Uso das Funções SYSREXX

AXRCMD

☐ Timeout definido
☐ Stem inicializado
☐ stem.0 validado
☐ Mensagens tratadas (não apenas exibidas)

AXRWTO / AXRMLWTO

☐ Uso consciente (não floodar console)
☐ ConnectId controlado
☐ LineType correto (L, D, DE)

AXRWAIT

☐ Tempo mínimo necessário
☐ Não usado como loop de espera infinita


9️⃣ Checklist – Segurança e Auditoria

☐ Exec documenta comandos críticos executados
☐ Nenhum comando destrutivo sem confirmação
☐ Exec compatível com RACF auditing
☐ Exec não eleva privilégio indevidamente
☐ Exec respeita ambiente SYSPLEX
☐ Logs rastreáveis (WTO, SYSLOG, dataset)


🔟 Checklist – Pós-produção

☐ Exec monitorado em produção
☐ CPU e tempo medidos
☐ Exec incluído em inventário técnico
☐ Plano de rollback definido
☐ Procedimento operacional documentado
☐ Responsável técnico identificado


📌 Comentário final (experiência de produção)

REXX em produção não falha por sintaxe — falha por falta de checklist.

✨🎨 OSAMU TEZUKA — O DEUS DO MANGÁ: O HOMEM QUE CRIOU UM MUNDO INTEIRO EM DESENHOS

Bellacosa Mainframe e osamu tezuka o deus do manga

✨🎨 OSAMU TEZUKA — O DEUS DO MANGÁ: O HOMEM QUE CRIOU UM MUNDO INTEIRO EM DESENHOS

Se hoje você ama animes e mangás, deve agradecer a um homem: Osamu Tezuka (1928–1989). Médico de formação, artista por vocação, e gênio por natureza, ele é o pilar fundamental da cultura otaku moderna. 🌸


👑 Quem foi Osamu Tezuka

Nascido em Osaka, Japão, Tezuka cresceu durante a Segunda Guerra Mundial e encontrou nos quadrinhos uma forma de escapar da realidade sombria. Influenciado pelos filmes da Disney e pela animação ocidental, ele criou um novo estilo narrativo, introduzindo expressões cinematográficas, enquadramentos dinâmicos e personagens com olhos grandes e emotivos — uma marca que se tornaria o padrão do anime moderno.

Apesar de ter se formado em medicina, Tezuka seguiu o chamado da arte. Seu lema era simples e poderoso:

“O que quero transmitir através dos meus mangás é a importância da vida.”


Bellacosa Mainframe e o lendario Astro Boy

🖋️ Principais Obras

  • 🧒 Astro Boy (Tetsuwan Atom, 1952)
    O primeiro herói robô com alma humana. Símbolo da era pós-guerra, Astro Boy mistura ética, tecnologia e emoção.
    → Curiosidade: foi o primeiro anime de sucesso mundial, abrindo as portas da animação japonesa.

  • 👧 A Princesa e o Cavaleiro (Ribon no Kishi, 1953)
    Um dos primeiros mangás shoujo da história, com uma princesa que luta travestida de cavaleiro.
    → Um marco no empoderamento feminino dentro do mangá.

  • 🐘 Kimba, o Leão Branco (Jungle Taitei, 1950)
    Conta a jornada de um leão que busca justiça e paz na selva.
    → Muita gente vê semelhanças com O Rei Leão da Disney — e a polêmica até hoje gera debates.

  • ⛩️ Buda (Buddha, 1972–1983)
    Uma obra-prima filosófica e visual sobre a vida de Sidarta Gautama, o Buda histórico.
    → Mistura história, religião e humanidade em um épico espiritual.

  • 💀 Black Jack (1973–1983)
    Um cirurgião genial que atua nas sombras, ajudando quem não tem voz.
    → Inspirado na própria formação médica de Tezuka — mistura drama, ética e dilemas morais.


🌍 A Revolução Tezuka

  • Criou a estrutura moderna de mangá (quadros sequenciais, ritmo cinematográfico e storytelling profundo).

  • Fundou o Tezuka Productions, estúdio que formou gerações de animadores.

  • Foi o primeiro a adaptar mangá em série de TV, criando o formato de anime semanal.

  • Publicou mais de 700 mangás e produziu mais de 500 animações durante sua vida.


💬 Curiosidades para Otakus

  • Era chamado de “Manga no Kami-sama” — O Deus do Mangá.

  • Dormia apenas algumas horas por dia, desenhando até o limite.

  • Era obcecado por evolução, tanto biológica quanto artística.

  • Inspirou mestres como Akira Toriyama (Dragon Ball), Hayao Miyazaki (Studio Ghibli) e Naoki Urasawa (Monster, Pluto).

  • Seu trabalho "Pluto", reinterpretado por Urasawa, é uma homenagem direta a Astro Boy.


💫 Legado

Tezuka não apenas criou personagens — ele criou o conceito de narrativa emocional japonesa moderna.
Sem ele, talvez nunca existissem Naruto, One Piece ou Attack on Titan.
Seu traço simples escondia mensagens profundas sobre ética, amor, ciência e humanidade.


🧭 Frase que resume Tezuka

“O que quero retratar é a beleza da vida — porque cada ser vivo tem valor.”


💡 Para os otakus de hoje, conhecer Osamu Tezuka é mergulhar nas raízes daquilo que amamos: a emoção, a filosofia e a arte do mangá.
Ele não só desenhou histórias — ele desenhou o futuro.

quarta-feira, 17 de dezembro de 2025

📌 O que é STACK em REXX?

 


📌 O que é STACK em REXX?

Em REXX, STACK é uma pilha (fila LIFO/FIFO) de linhas de texto usada para:

  • Passar dados entre programas

  • Simular entrada padrão (PULL)

  • Trocar informações com JCL, TSO e batch

  • Comunicação entre execs

👉 Pense na STACK como um buffer de entrada/saída em memória.



1️⃣ STACK ≠ variável

A STACK:

  • Não é uma variável

  • Não precisa ser declarada

  • É global ao exec

  • Armazena linhas de texto

Ela é usada automaticamente por:

  • PULL

  • PARSE PULL

  • Alguns comandos de host


2️⃣ Comandos principais da STACK

📤 PUSH

Coloca uma linha no topo da pilha (LIFO).

PUSH 'linha 1' PUSH 'linha 2'

Ordem de saída:

linha 2 linha 1

📥 QUEUE

Coloca uma linha no final da fila (FIFO).

QUEUE 'linha 1' QUEUE 'linha 2'

Ordem de saída:

linha 1 linha 2

📄 PULL

Lê a próxima linha da STACK.

PULL dado

Se a STACK estiver vazia:

  • Em TSO → lê do terminal

  • Em batch → lê de SYSTSIN

  • Em SYSREXX → comportamento depende do ambiente


3️⃣ Diferença clara: PUSH x QUEUE

ComandoTipoUso típico
PUSHPilha (LIFO)Processamento reverso
QUEUEFila (FIFO)Simular input sequencial
PULLLeituraConsome a STACK

4️⃣ Exemplo simples e didático

/* REXX */ QUEUE 'primeiro' QUEUE 'segundo' QUEUE 'terceiro' PULL a PULL b PULL c SAY a SAY b SAY c

Saída:

primeiro segundo terceiro

5️⃣ STACK em Batch (uso real)

Em batch, a STACK é fundamental.

Exemplo: simular entrada para um programa

QUEUE 'MATH1 10 20' QUEUE 'exit' ADDRESS TSO CALL 'PROGCOB'

O COBOL lê como se fosse input real.


6️⃣ STACK + EXECIO (padrão profissional)

'EXECIO * DISKR INPUT (STEM in.' DO i = 1 TO in.0 QUEUE in.i END DO WHILE QUEUED() > 0 PULL linha SAY linha END

7️⃣ Função QUEUED()

Retorna quantas linhas existem na STACK.

IF QUEUED() = 0 THEN SAY 'Stack vazia'

💡 Boa prática: sempre testar antes de PULL.


8️⃣ STACK como comunicação entre execs

QUEUE 'valor1' QUEUE 'valor2' CALL OUTROEXEC PULL resposta

O outro exec pode consumir e devolver dados pela STACK.


9️⃣ Erros comuns (produção)

❌ Usar PULL sem saber de onde vem a entrada
❌ Deixar lixo na STACK
❌ Misturar PUSH e QUEUE sem critério
❌ Assumir que STACK sempre tem dados

✔ Sempre limpar ou controlar a STACK


🔟 Regra de ouro

STACK em REXX é entrada padrão controlável.
Quem domina STACK domina automação batch.


🧠 Frase para memorizar

QUEUE escreve o roteiro,
PUSH muda a ordem,
PULL executa a cena.

 

Os Símbolos Visuais Mais Clássicos dos Animes e Mangás — Um Guia Completo

Bellacosa Mainframe e a linguagem secreta dos animes


 Os Símbolos Visuais Mais Clássicos dos Animes e Mangás — Um Guia Completo

Os animes e mangás japoneses possuem uma linguagem visual própria, rica em expressões, metáforas e símbolos que comunicam emoções de forma instantânea e divertida. Esses ícones visuais ultrapassaram fronteiras e tornaram-se parte da cultura pop mundial. A seguir, um artigo reunindo os principais símbolos visuais clássicos — seus significados, origem e curiosidades.


🌀 1. Olhos em Espiral

Significado: tontura, confusão, desmaio ou perda de consciência.
Origem: popularizado em animes de comédia dos anos 70 e 80, como Doraemon e Urusei Yatsura.
Curiosidade: os olhos em espiral são inspirados em ícones de hipnose da cultura ocidental, adaptados para o humor japonês.


💦 2. Gota de Suor na Testa

Significado: constrangimento, nervosismo ou situação embaraçosa.
Origem: surgiu em mangás de comédia e foi consagrado em Dragon Ball e Slam Dunk.
Curiosidade: a gota geralmente aparece maior do que o normal, simbolizando o desconforto exagerado.


💢 3. Veias Saltadas ou Símbolo de Raiva

Significado: irritação, fúria ou frustração.
Origem: inspirado na aparência de veias tensionadas.
Curiosidade: é chamado de “anger mark” (marcação de raiva) e aparece até em robôs e objetos inanimados.


💧 4. Lágrima Gigante ou Sinal de Desespero

Significado: tristeza exagerada, desespero ou vergonha.
Exemplo: One Piece, Naruto e Ranma ½.
Curiosidade: pode aparecer mesmo quando o personagem não está literalmente chorando — apenas dramatizando a emoção.


❤️‍🔥 5. Nariz Sangrando (Hanaji)

Significado: excitação sexual ou atração intensa.
Origem: lenda urbana japonesa que associa aumento da pressão sanguínea ao desejo.
Exemplo: Love Hina, Naruto, High School DxD.
Curiosidade: o sangue pode jorrar como um gêiser — quanto maior o interesse, mais forte o jato!


☁️ 6. Fumaça Branca Saindo da Cabeça

Significado: raiva, frustração ou “mente fervendo” por confusão mental.
Curiosidade: vem de uma metáfora física — o cérebro “esquentando” por pensar demais.


✨ 7. Olhos Brilhando

Significado: admiração, encanto, empolgação.
Exemplo: My Hero Academia, Sailor Moon.
Curiosidade: também pode indicar ambição, dependendo do contexto (por exemplo, personagens vendo algo valioso).


💫 8. Espirais Girando ao Redor da Cabeça

Significado: tontura após pancadas ou desorientação.
Exemplo: Pokémon e Naruto.
Curiosidade: herança dos cartoons ocidentais dos anos 1930, como Looney Tunes.


💢💥 9. Cotovelo Saltando / Pancada Cômica

Significado: punição física exagerada, geralmente de uma personagem feminina a um homem inconveniente.
Exemplo: Ranma ½, Full Metal Panic!, One Piece.
Curiosidade: o “pancadão” virou símbolo de humor físico no anime japonês.


💭 10. Bolha no Nariz

Significado: sono profundo.
Origem: desenho simplificado de respiração ritmada.
Curiosidade: é um dos poucos símbolos usados até em animes sérios — como Naruto e Bleach — sem quebrar o tom.


💡 11. Veia Pulsando na Têmpora

Significado: raiva contida.
Dica: aparece junto com a voz trêmula ou os dentes cerrados do personagem.


🫧 12. Coração Flutuante

Significado: paixão ou adoração instantânea.
Exemplo: Sailor Moon, Urusei Yatsura.
Curiosidade: é frequentemente usado junto com olhos em formato de coração ❤️.


🫥 13. Sombra Escura no Rosto

Significado: tristeza, vergonha ou tensão.
Exemplo: Death Note, Attack on Titan.
Curiosidade: usada também de forma cinematográfica para criar drama.


🌀 14. Linhas de Estresse / Fundo com Espirais

Significado: ansiedade, exaustão ou sensação de colapso iminente.
Dica: aparece junto de tons roxos ou azuis para representar energia negativa.


💫 15. Faíscas ou Aura Brilhante

Significado: poder, determinação ou transformação.
Exemplo: Dragon Ball Z e Kimetsu no Yaiba.
Curiosidade: o efeito é usado para indicar aumento de “ki”, “chakra” ou “energia espiritual”.


📝 Dica para Criadores e Fãs

Para quem desenha ou quer compreender melhor a linguagem visual japonesa, dominar esses símbolos é essencial. Eles não apenas substituem palavras, mas traduzem emoções universais de forma instantânea — um dos segredos do sucesso narrativo dos animes e mangás.

terça-feira, 16 de dezembro de 2025

Review : 🔍 Powerful COBOL: Análise Estática no Mainframe, Feature Flags e o Perigo Invisível do Overhead em CICS, VSAM e DB2

 🔍 Powerful COBOL: Análise Estática no Mainframe, Feature Flags e o Perigo Invisível do Overhead em CICS, VSAM e DB2


Analista de sistema trabalhando em software legado cobol mainframe 


A difícil arte de estudar o passado, entender o código cobol legado e adaptá-lo as realidades atuais.


#ibm #cobol #featureflags #dange #analise #db2 #cics #estatica









https://eljefemidnightlunch.blogspot.com/2021/09/powerful-cobol-analise-estatica-no.html

💧 O Significado das Gotas de Suor na Testa em Animes Japoneses

 

Bellacosa Mainframe e o suor na testa dos animes

💧 O Significado das Gotas de Suor na Testa em Animes Japoneses

As gotículas de suor na testa são um dos símbolos visuais mais clássicos do anime e mangá — pequenos detalhes que comunicam, de forma rápida e engraçada, o que o personagem está sentindo. Embora pareça um simples recurso cômico, esse elemento carrega uma história rica dentro da linguagem visual japonesa conhecida como manpu (漫符), ou “símbolos de emoção”.


🧠 Origem e Função dos Manpu

No Japão, os manpu surgiram nos mangás ainda nos anos 1930, mas se consolidaram no pós-guerra com autores como Osamu Tezuka, o “pai do mangá moderno”. Ele foi um dos primeiros a padronizar expressões como:

  • A gota de suor;

  • A veia pulsando de raiva;

  • O rosto vermelho de vergonha;

  • Os olhos espiralados (tontura/confusão).

Esses elementos visuais surgiram como forma de comunicar emoções de forma universal e imediata, especialmente em histórias de ritmo rápido. Com o tempo, foram incorporados aos animes.


💦 O Que Significa a Gota de Suor?

A gota de suor na testa ou lateral do rosto tem vários significados, dependendo do contexto e da expressão facial do personagem:

SituaçãoSignificado ComumDescrição Visual
😅 Situação embaraçosaConstrangimento, nervosismo leveUma grande gota escorrendo da lateral da cabeça
😰 Tensão ou medoPreocupação, ansiedadeGotas múltiplas na testa, às vezes acompanhadas de sombra azul
😓 Exaustão físicaCansaço, esforçoGotas pequenas, geralmente junto a respiração ofegante
🤦 Confusão cômica"Não acredito nisso..."Uma única gota acompanhada de expressão neutra

Em resumo: não é suor literal, mas sim um símbolo emocional. É o equivalente visual de expressões como “eita…” ou “ai, que vergonha”.


🎨 Dica para Artistas e Fãs

Se você desenha ou cria personagens inspirados em anime, lembre-se:

  • A posição da gota muda o tom da cena.

    • Lateral da cabeça → embaraço leve.

    • Testa → tensão ou medo real.

  • O tamanho indica intensidade emocional.

    • Pequena → discreta ou irônica.

    • Grande → exagerada e cômica.


🔍 Curiosidades

  • A gota é tão icônica que muitos personagens de anime chibi ou emoji japoneses (kaomoji e emoticons) a utilizam, como: (;´Д`) ou (-_-;).

  • Jogos japoneses como Pokémon e Final Fantasy também usam esse símbolo em sprites desde os anos 1990.

  • Em Naruto, One Piece e Dragon Ball, o símbolo é frequentemente usado para aliviar o tom após momentos tensos, criando um equilíbrio entre drama e humor.


🎬 Exemplos Famosos

  • Naruto Uzumaki (em Naruto): aparece com uma gota enorme quando é pego mentindo ou em apuros com Sakura.

  • Usopp (em One Piece): frequentemente sua de nervoso quando é desmascarado.

  • Shinji Ikari (Neon Genesis Evangelion): mostra gotas de suor em situações de estresse psicológico.


🏮 Conclusão

A gota de suor é mais do que um clichê visual: é parte da linguagem simbólica do anime, que substitui palavras por imagens universais.
Ela nos lembra que, no anime, emoções são visuais, e pequenos detalhes — como uma simples gotícula — contam histórias inteiras em um único quadro.

segunda-feira, 15 de dezembro de 2025

☕ SLINE, ALT, CONDENSE e XREF no REXX Mainframe

 


☕ 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

do while lines(infile) > 0 sline = linein(infile) if pos('ERROR', sline) > 0 then ... end

🧩 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

sline = changestr(';;', ';', sline)

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

sline = space(sline, 1)

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

xref.userid = jobname xref.record = sline

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

do while lines(in) > 0 sline = linein(in) sline = space(sline, 1) /* CONDENSE */ sline = changestr('|', ';', sline) /* ALT */ if pos('INVALID', sline) > 0 then do xref.error = sline /* XREF */ iterate end call lineout out, sline end

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.

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...