☕ 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

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

segunda-feira, 19 de agosto de 2024

Conversão do REAL um grande trabalho da informática mainframe


A resiliência e a tenacidade técnica dos Analistas de Sistemas Mainframe, que em quatro dias conseguiram virar a chave, convertendo sistemas críticos para a conversão de moeda, do URV para o REAL. 



Feriado bancário na Sexta-feira, mas Segunda-feira estava tudo no ar, funcionando, quatro dias de loucura no Departamento de Informatica, muita pizza, companheirismo, horas-extra, mas sensação de dever cumprido. 




 Programas em COBOL, PLI e Natural em Sistemas Mainframe alterados para a conversão da Moeda, sem perdas ou prejuízos aos clientes e empresas. Sendo um Caso de Estudo de Sucesso, visto de perto pelas autoridades europeias, que passado 7 anos repetiram o processo na Conversão do Euro.

#ibm #mainframe #real #urv #conversao #cobol #natural #jcl #pli #db2 #adabas #job #sistemas #dev #programador #sucesso
 

sábado, 20 de julho de 2024

Road Map para Aprender Mainframe

Bellacosa Mainframe e o roadmap mainframe 


☕ Um Café no Bellacosa Mainframe

A Volta ao Mainframe em 80 Dias — O Road Map de Phileas Fogg para se Tornar um Mainframeiro

🎩🦖 80 dias, oito grandes escalas, COBOL, JCL, z/OS, TSO/ISPF, VSAM, Db2, CICS, RACF, Git, APIs e uma aposta aparentemente impossível: sair de Londres como turista e voltar como programador mainframe

Londres.

Reform Club.

Um cavalheiro inglês consulta seu relógio.

Phileas Fogg.

Metódico.

Pontual.

Imperturbável.

Um homem capaz de tomar café às 08:23 e provavelmente considerar uma execução às 08:24 um incidente de produção.

Sobre a mesa está o Daily Telegraph.

Mas existe uma notícia estranha:

“É possível aprender mainframe em apenas 80 dias?”

Os cavalheiros riem.

Um deles comenta:

— Mainframe? Meu caro Fogg, seriam necessários anos!

Outro acrescenta:

— COBOL possui DIVISIONs!

Um terceiro, claramente traumatizado:

— E existe JCL!

Fogg fecha o jornal.

Consulta o relógio.

Oitenta dias.

Silêncio.

— Impossível!

Fogg responde:

“Então aposto vinte mil libras.”

Nesse exato momento, seu criado Passepartout percebe que provavelmente escolheu o pior dia da história para começar no emprego.

Pegam as malas.

Destino:

IBM Z.

E assim começa nossa...

🌍 VOLTA AO MAINFRAME EM 80 DIAS


🗺️ O mapa da expedição

Nossa viagem terá oito grandes escalas:

LONDRES
   ↓
z/OS + TSO/ISPF
   ↓
SUEZ
   ↓
JCL + JES2 + SDSF
   ↓
BOMBAIM
   ↓
COBOL
   ↓
CALCUTÁ
   ↓
VSAM + DATASETS
   ↓
HONG KONG
   ↓
Db2
   ↓
YOKOHAMA
   ↓
CICS
   ↓
SAN FRANCISCO
   ↓
RACF + USS + Zowe + Git + APIs
   ↓
NOVA YORK
   ↓
INTEGRAÇÃO + DEVOPS + TESTES
   ↓
LONDRES

80 dias.

Não para transformar alguém em especialista.

Isso seria picaretagem.

Mas para fazer algo perfeitamente possível:

construir um mapa mental sólido do ecossistema mainframe e conseguir desenvolver, executar, investigar e integrar uma aplicação simples.

Temos uma aposta.

O relógio começou.


🎩 DIAS 1–10 — LONDRES

Primeira escala: entender o monstro

Antes de programar mainframe precisamos cometer um ato revolucionário:

entender o que é um mainframe.

Não é:

“um computador velho.”

Também não é:

“um PC gigante.”

E definitivamente não é aquele monitor verde que Hollywood coloca em filmes quando alguém precisa invadir o Pentágono.

Precisamos compreender conceitos básicos:

IBM Z
   ↓
z/OS
   ↓
LPAR
   ↓
CPU / CP / zIIP
   ↓
MEMÓRIA
   ↓
STORAGE
   ↓
I/O

E principalmente:

por que essas máquinas existem?

Bancos.

Seguradoras.

Governos.

Companhias aéreas.

Cartões.

Grandes varejistas.

Ambientes que precisam processar volumes enormes com confiabilidade e previsibilidade.


🏛️ Dia 1 — Arquitetura

Aprenda:

IBM Z
LPAR
PR/SM
z/OS
JES
USS
STORAGE

Não tente decorar tudo.

Objetivo:

saber desenhar aproximadamente onde sua aplicação vive.


🖥️ Dias 2–4 — TSO e ISPF

Phileas Fogg entra pela primeira vez no terminal.

Tela:

---------------- ISPF PRIMARY OPTION MENU ----------------

0  Settings
1  View
2  Edit
3  Utilities
4  Foreground
5  Batch
6  Command

Passepartout pergunta:

— Monsieur, onde está o mouse?

Fogg:

— Não precisamos dele.

Passepartout começa a reconsiderar suas escolhas profissionais.

Aprenda:

TSO
ISPF
PF KEYS
COMMAND LINE
MEMBERS
LIBRARIES
EDIT
VIEW
BROWSE

E comandos fundamentais do editor:

I
D
R
C
M
A
B
CC
MM

Aqui começa a alfabetização mainframe.


📦 Dias 5–7 — Datasets

Antes de COBOL:

datasets.

Entenda:

PS
PDS
PDSE
MEMBER
RECFM
LRECL
BLKSIZE
DSORG
DISP

Você precisa conseguir olhar:

BELLACOSA.COBOL.SOURCE

e compreender que isso não é simplesmente uma “pasta”.


🧭 Dias 8–10 — Navegação

Pratique.

Crie datasets.

Crie members.

Edite.

Copie.

Renomeie.

Delete.

Liste.

Phileas Fogg olha para o relógio.

DAY 10
STATUS: ON SCHEDULE

Passepartout comemora.

Erro.

Ainda faltam 70 dias.


🚂 DIAS 11–20 — SUEZ

JCL: comprando a passagem do JOB

Agora precisamos fazer alguma coisa executar.

Entramos no território do:

JCL — Job Control Language

JCL não é exatamente uma linguagem de programação convencional.

É mais parecido com preencher documentos de imigração para convencer o z/OS a deixar seu programa trabalhar.


🎫 JOB

//FOGG80   JOB (ACCT),'AROUND WORLD',
//             CLASS=A,
//             MSGCLASS=X

Nosso passaporte.


🚂 EXEC

//STEP01 EXEC PGM=FOGGCOB

Nosso trem.


🧳 DD

//INPUT DD DSN=FOGG.WORLD.INPUT,DISP=SHR

Nossa bagagem.

Agora aprenda:

JOB
EXEC
DD
DSN
DISP
SPACE
DCB
SYSOUT
STEPLIB
SYSPRINT
SYSIN

🚦 JES2

O JOB é submetido.

SUBMIT

E desaparece.

Passepartout entra em pânico.

— Perdemos o programa!

Não.

Ele entrou no maravilhoso sistema ferroviário chamado:

JES2

Precisamos aprender:

INPUT
EXECUTION
OUTPUT
PURGE

E então:

SDSF

Aqui você aprende a investigar:

JOB STATUS
RC
SYSOUT
JESMSGLG
JESJCL
JESYSMSG

Primeira grande vitória:

MAXCC=0000

Fogg:

— Excelente.

Bellacosa:

— Calma.

Porque todo mainframeiro precisa aprender cedo:

MAXCC=0 significa que o JOB terminou; não significa que você fez a coisa certa.


🐘 DIAS 21–35 — BOMBAIM

COBOL: finalmente encontramos Grace Hopper no caminho

Chegamos à grande escala.

Quinze dias.

Agora COBOL.

Primeiro compreenda sua anatomia:

IDENTIFICATION DIVISION
ENVIRONMENT DIVISION
DATA DIVISION
PROCEDURE DIVISION

Não comece decorando comandos.

Entenda a arquitetura.


🪪 IDENTIFICATION DIVISION

IDENTIFICATION DIVISION.
PROGRAM-ID. FOGG80.

Quem sou eu?


🌍 ENVIRONMENT DIVISION

Onde vivo?

Com quais recursos trabalho?


📦 DATA DIVISION

Aqui está uma das grandes diferenças culturais do COBOL.

Dados são cidadãos de primeira classe.

Aprenda:

PIC X
PIC 9
PIC S9
V
COMP
COMP-3
88 LEVEL
REDEFINES
OCCURS
COPYBOOK

Exemplo:

01 WS-PASSENGER.
   05 WS-NAME       PIC X(30).
   05 WS-AGE        PIC 9(03).
   05 WS-BALANCE    PIC S9(9)V99 COMP-3.
   05 WS-STATUS     PIC X.
      88 ACTIVE     VALUE 'A'.

Não pule essa parte.

Quem não entende DATA DIVISION acaba passando metade da carreira perguntando por que tomou S0C7.


⚙️ PROCEDURE DIVISION

Agora fazemos coisas.

Aprenda:

MOVE
IF
EVALUATE
PERFORM
COMPUTE
ADD
SUBTRACT
MULTIPLY
DIVIDE
DISPLAY
STRING
UNSTRING
INSPECT

Depois:

OPEN
READ
WRITE
REWRITE
CLOSE

🔄 O coração do batch

Você precisa conseguir escrever sozinho algo parecido com:

OPEN
 ↓
READ
 ↓
VALIDATE
 ↓
PROCESS
 ↓
WRITE
 ↓
READ AGAIN
 ↓
CLOSE

Isso parece simples.

É simples.

E variações dessa arquitetura movimentaram quantidades absurdas de negócios durante décadas.


💥 Dias 31–35 — Aprenda a quebrar COBOL

Agora provoque erros.

Sim.

De propósito.

Crie situações que gerem problemas.

Investigue:

S0C7
S0C4
FILE STATUS
RETURN CODE

Use:

DISPLAY 'WS-VALUE=' WS-VALUE

Leia compile listing.

Entenda offsets.

Procure mensagens.

Porque aprender programação sem aprender debugging é como Phileas Fogg aprender a embarcar em navios sem aprender o que fazer quando o navio quebra.


🚢 DIAS 36–43 — CALCUTÁ

VSAM: os dados precisam morar em algum lugar

Agora entramos no universo dos arquivos corporativos.

Aprenda primeiro arquivos sequenciais.

Depois:

VSAM

Conceitos:

KSDS
ESDS
RRDS
LDS
VRRDS

Para começar, concentre-se principalmente no:

KSDS

Entenda:

KEY
RECORD
CI
CA
INDEX
DATA COMPONENT

Depois:

IDCAMS

Comandos:

DEFINE
DELETE
REPRO
LISTCAT

Agora seu COBOL começa a conversar com dados persistentes.


🛳️ DIAS 44–53 — HONG KONG

Db2: SQL entra na viagem

Chegamos ao banco relacional.

Aprenda SQL antes de complicar.

SELECT
INSERT
UPDATE
DELETE

Depois:

JOIN
GROUP BY
ORDER BY
SUBQUERY
INDEX
COMMIT
ROLLBACK

Agora coloque isso dentro de COBOL:

EXEC SQL
   SELECT BALANCE
     INTO :WS-BALANCE
     FROM CUSTOMER
    WHERE CUSTOMER_ID = :WS-ID
END-EXEC.

E imediatamente aprenda:

SQLCODE
SQLSTATE

Porque:

SQLCODE = 0

é maravilhoso.

SQLCODE = +100

conta outra história.

E:

SQLCODE < 0

é quando Passepartout começa a procurar o bote salva-vidas.


🧠 Entenda também

PLAN
PACKAGE
BIND
DBRM
HOST VARIABLE
CURSOR

Não precisa dominar administração Db2.

Nosso objetivo é:

programador COBOL capaz de utilizar Db2 conscientemente.


🇯🇵 DIAS 54–61 — YOKOHAMA

CICS: saímos do batch e entramos no mundo online

Até agora:

JOB
 ↓
PROCESSA
 ↓
TERMINA

Agora:

USUÁRIO
 ↓
TRANSAÇÃO
 ↓
CICS
 ↓
COBOL
 ↓
RESPOSTA

Mudamos de planeta.

Aprenda:

TRANSACTION
PROGRAM
TASK
TERMINAL
COMMAREA
CHANNEL
CONTAINER

Comandos básicos:

EXEC CICS RECEIVE
EXEC CICS SEND
EXEC CICS READ
EXEC CICS WRITE
EXEC CICS LINK
EXEC CICS XCTL
EXEC CICS RETURN

E jamais esqueça:

RESP
RESP2

🖥️ BMS

Conheça:

MAP
MAPSET
SEND MAP
RECEIVE MAP

Você não precisa tornar-se arqueólogo de telas verdes.

Mas precisa entender como aplicações tradicionais online funcionam.


🚨 Entenda a arquitetura

Comece a reconhecer:

TOR
AOR
FOR

e conceitos como:

TSQ
TDQ
PPT
PCT

Agora Phileas Fogg consegue executar batch durante a madrugada e transações durante o dia.

Está ficando perigoso.


🚂 DIAS 62–69 — SAN FRANCISCO

Segurança, Unix e o mainframe que ninguém mostra nos filmes

Agora apresentamos:

RACF

Não precisa virar administrador de segurança.

Mas precisa compreender:

USER
GROUP
RESOURCE
PROFILE
ACCESS
READ
UPDATE
CONTROL
ALTER

E principalmente:

SAF

Comece a compreender que segurança em z/OS não é simplesmente “login e senha”.


🐧 USS

Surpresa.

Existe Unix dentro do z/OS.

Passepartout:

— Linux?

Não.

Unix System Services.

Aprenda:

PATH
FILE
DIRECTORY
PERMISSION
SHELL
PROCESS

Experimente comandos familiares:

ls
cd
cat
grep
chmod

Agora aquela divisão mental:

MAINFRAME | MUNDO MODERNO

começa a desmoronar.

Como deveria.


🔧 Zowe + Git

Chegamos ao século XXI.

Conheça:

Zowe
VS Code
IBM Z Open Editor
Git
GitHub / GitLab

Aprenda o básico:

clone
branch
commit
merge
push
pull

COBOL pode perfeitamente participar de workflows modernos.

Não precisamos sacrificar cartões perfurados numa noite de lua cheia para compilar programa.


🌉 z/OS Connect e APIs

Agora faça a ponte:

MOBILE
   ↓
REST API
   ↓
z/OS CONNECT
   ↓
CICS
   ↓
COBOL
   ↓
DB2

E finalmente compreenda uma coisa fundamental:

modernização não significa necessariamente reescrever.

Às vezes significa integrar.


🗽 DIAS 70–77 — NOVA YORK

DevOps: Phileas Fogg automatiza a viagem

Estamos quase voltando para Londres.

Agora precisamos transformar conhecimento isolado em pipeline.

Conheça:

CI/CD
BUILD
TEST
PACKAGE
DEPLOY

Ferramentas e conceitos possíveis:

DBB
zAppBuild
Jenkins
GitHub Actions
GitLab CI
UrbanCode
Ansible
Zowe
z/OSMF

Não tente aprender profundamente todas.

Entenda:

o fluxo.

SOURCE
   ↓
GIT
   ↓
BUILD
   ↓
COMPILE
   ↓
TEST
   ↓
PACKAGE
   ↓
DEPLOY

🧪 Testes

Aprenda a pensar em:

UNIT TEST
COMPONENT TEST
INTEGRATION TEST
E2E

Conheça:

ZUnit
COBOL Check
Galasa

Mais importante que decorar ferramentas:

faça código testável.


🤖 IA entra no trem

Naturalmente precisamos conversar sobre IA.

Use IA para:

EXPLICAR CÓDIGO
GERAR TESTES
DOCUMENTAR
ANALISAR ERROS
CRIAR HIPÓTESES
EXPLICAR JCL
ENTENDER COPYBOOKS
SUGERIR REFACTORING

Mas lembre:

IA
   ↓
HIPÓTESE

não:

IA
   ↓
VERDADE ABSOLUTA

Compile.

Teste.

Valide.


🏁 DIAS 78–80 — ATLÂNTICO → LONDRES

A prova final

Phileas Fogg está voltando.

Passepartout olha para o calendário.

Três dias.

Agora não existe curso.

Não existe tutorial.

Não existe instrutor segurando sua mão.

Existe apenas uma especificação.


🎯 PROJETO FINAL — FOGG BANK

Construa uma pequena aplicação:

Cadastro e movimentação de clientes.

Ela deverá possuir:

COBOL
+
JCL
+
DATASET
+
VSAM ou Db2
+
CICS ou interface batch

Fluxo:

CLIENTE
   ↓
VALIDAÇÃO
   ↓
CONSULTA
   ↓
MOVIMENTAÇÃO
   ↓
ATUALIZAÇÃO
   ↓
RELATÓRIO

Depois coloque o source em Git.

Documente.

Teste.

Provoque erros.

Corrija.

Crie README.

Explique a arquitetura.

Se possível, exponha alguma funcionalidade como API.

Agora você possui algo muito mais importante que:

ASSISTI 80 HORAS DE CURSO

Você possui:

EU CONSTRUÍ ISTO.

🧭 O MAPA COMPLETO

Depois de 80 dias nossa viagem ficou assim:

                    🌍 MAINFRAME ROAD MAP

                         IBM Z
                           │
                         z/OS
                           │
              ┌────────────┴────────────┐
              │                         │
           TSO/ISPF                    USS
              │                         │
           DATASETS                  SHELL
              │
             JCL
              │
            JES2
              │
            SDSF
              │
            COBOL
        ┌──────┼───────┐
        │      │       │
      VSAM    Db2     CICS
        │      │       │
        └──────┼───────┘
               │
              RACF
               │
             APIs
               │
         z/OS Connect
               │
              Git
               │
            DevOps
               │
            Testing
               │
               IA

Agora existe uma coisa preciosa:

CONTEXTO.


🎓 O que você NÃO será depois de 80 dias

Vamos destruir uma promessa de marketing antes que ela nasça.

Depois de 80 dias você provavelmente não será:

SYSTEM PROGRAMMER
DBA DB2
CICS ADMIN
RACF SPECIALIST
STORAGE SPECIALIST
PERFORMANCE SPECIALIST
SMP/E WIZARD
ASSEMBLER JEDI

E está tudo bem.

Mainframe é um continente.

Não uma tecnologia.

Ninguém conhece tudo.


🧠 O que você PODE ser

Você pode conseguir olhar para:

JOB
 ↓
JCL
 ↓
COBOL
 ↓
CICS
 ↓
DB2

e compreender aproximadamente o caminho.

Pode receber:

S0C7

e não fugir pela janela.

Pode abrir SDSF.

Pode procurar o step.

Pode ler SYSOUT.

Pode compreender um programa COBOL.

Pode alterar.

Compilar.

Executar.

Investigar.

Testar.

E principalmente:

saber qual é a próxima pergunta.

Esse é um enorme avanço.


🎩 O relógio de Phileas Fogg

Londres.

Reform Club.

80º dia.

Os cavalheiros estão esperando.

Relógio:

20:44

Nenhum sinal.

20:45.

Porta fechada.

A aposta parece perdida.

Então:

20:45:57

A porta abre.

Phileas Fogg entra.

Passepartout atrás dele carrega um notebook.

Na tela:

FOGG80.COBOL
FOGG80.JCL
FOGG80.COPYLIB
FOGG80.TEST

Um cavalheiro pergunta:

— Então aprendeu mainframe?

Fogg responde:

— Não.

Silêncio.

— Como assim?

Ele coloca o chapéu sobre a mesa.

Aprendi o suficiente para compreender o tamanho daquilo que ainda preciso aprender.

O velho mainframeiro no fundo da sala sorri.

Porque essa talvez seja a primeira evidência de que Phileas Fogg realmente aprendeu alguma coisa.


☕ Epílogo — A aposta

Passepartout aproxima-se do terminal.

Submete o projeto final.

SUBMIT 'FOGG80.JCL(MOONJOB)'

Não.

Arquivo errado.

Fogg olha para ele.

Passepartout:

— Desculpe, monsieur.

Agora:

SUBMIT 'FOGG80.JCL(FINALJOB)'

JES2 recebe.

$HASP100 FINALJOB ON READER

Executando.

$HASP373 FINALJOB STARTED

Todos aguardam.

SDSF atualiza.

STEP010   RC 0000
STEP020   RC 0000
STEP030   RC 0000
STEP040   RC 0000

Finalmente:

$HASP395 FINALJOB ENDED

Fogg olha para o relógio.

Ainda dentro dos 80 dias.

Passepartout grita:

MAXCC=0000!

Champanhe.

Aplausos.

A aposta está ganha.

Então o instrutor Bellacosa aproxima-se lentamente.

Olha o relatório.

Franze a testa.

Pergunta:

— Fogg...

— Sim?

— O total deveria ser £20.000.

Na tela:

TOTAL = £200.000

Silêncio absoluto.

Fogg tira o paletó.

Senta diante do terminal.

Abre o source.

Passepartout prepara café.

Porque Phileas Fogg acaba de descobrir a última e mais importante etapa do Road Map Mainframe:

DIA 81 — DEBUG.

🎩🌍🚂🚢☕🦖

E essa viagem...

meu caro Padawan...

não termina em 80 dias.

//WORLD80 JOB (COBOL),'PHILEAS FOGG'
//STEP01  EXEC PGM=LEARN
//SYSOUT  DD SYSOUT=*

LEARNING IN PROGRESS...
DESTINATION: MAINFRAME
RETURN CODE: NEVER STOP
O que um jovem padawan deve aprender para ser um especialista na Stack Mainframe. Um caminho com inúmeras possibilidades, requer esforço e dedicação, porém os frutos condizem ao esforço. Descubra o z/OS, codifique em COBOL, crie queries no SQL DB2 e vá além. #ibm #mainframe #cobol #cics #db2 #jcl #sdsf #qsam #vsam #query #sql #etl #jobs #procs #jes2 #lpar #sysplex
 

quinta-feira, 19 de agosto de 2021

REXX – Introducing My New Friend

 



REXX – Introducing My New Friend

(ou: como eu parei de torcer o nariz e ganhei um aliado no z/OS e z/VM)

“Às vezes o melhor software não é o mais caro, nem o mais novo. É o que já está aí, esperando você parar de ignorar.”

Navegar pelas complexidades do z/OS e do z/VM exige um arsenal respeitável de ferramentas. JCL, COBOL, assembler, CLIST, utilitários do sistema, produtos terceiros… tudo isso faz parte do dia a dia.
Mas em muitos momentos, o tool ideal simplesmente não existe, é caro demais, ou não justifica um processo de aquisição que passa por 37 comitês, 12 reuniões e 2 meses de espera.

Foi exatamente aí que, meio a contragosto, eu resolvi sair da zona de conforto e mergulhar em uma linguagem que sempre esteve ali, silenciosa, quase invisível: REXX.

Confesso: no começo houve resistência.
“Mais uma linguagem?”
“Isso não é coisa de CLIST melhorado?”
“Será que vale o tempo?”

Spoiler: vale. E muito.
Hoje, o REXX não é só uma linguagem — é meu novo amigo no mainframe.




📜 1. Um breve passeio pela história das linguagens

Antes de falar de REXX, precisamos contextualizar.

Da força bruta à legibilidade

  • Anos 40/50: código de máquina e Assembly — poder absoluto, legibilidade zero.

  • Anos 60: COBOL, FORTRAN — produtividade e portabilidade começam a surgir.

  • Anos 70: linguagens estruturadas, foco em legibilidade e manutenção.

  • Anos 80: linguagens de script e automação ganham espaço.

É nesse cenário que, em 1979, na IBM, surge o REXX (Restructured Extended Executor), criado por Mike Cowlishaw.



👉 O objetivo era claro:

Criar uma linguagem simples, legível, poderosa e tolerante a erros humanos.

Nada de pontuação excessiva, nada de sintaxe críptica.
REXX foi pensado para gente, não só para compiladores.

📌 Easter egg histórico:
Mike Cowlishaw também é o criador da notação decimal usada em IEEE 754-2008. Ou seja, o homem sabia exatamente o que estava fazendo.


🧑‍💻 2. O papel real de sysprogs e devs no z/OS e z/VM

Quem vive mainframe sabe:
o trabalho não é só programar.

No mundo real, fazemos:

  • Automação de tarefas repetitivas

  • Análise de datasets e catálogos

  • Interação com TSO/ISPF

  • Chamada de comandos do sistema

  • Tratamento de mensagens (WTO, WTOR, GETMSG)

  • Integração entre ferramentas

  • Prototipação rápida de soluções

  • “Apagar incêndio” às 3h da manhã 🔥

E aqui vem a pergunta fatal:

Você vai fazer tudo isso em COBOL compilado?

REXX entra exatamente nesse espaço:

  • Mais poderoso que CLIST

  • Mais simples que COBOL

  • Mais integrado que scripts externos


🔌 3. Integrando REXX ao seu workflow atual

REXX não substitui COBOL, PL/I ou Assembler.
Ele complementa.

Onde o REXX brilha:

  • Dentro do TSO

  • Em ISPF

  • Em batch

  • No z/VM (CMS, CP, EXECs)

  • Chamando utilitários do sistema

  • Orquestrando JCL

  • Automatizando ambientes

📌 Easter egg prático:
Você pode chamar IDCAMS, IEFBR14, SDSF, comandos MVS e até programas COBOL diretamente do REXX.

REXX é o cola tudo do mainframe.


🧠 4. Fundamentos e base teórica do REXX

Filosofia da linguagem

  • Tudo é string

  • Tipagem dinâmica

  • Sintaxe limpa

  • Código próximo do inglês

  • Pouca pontuação

  • Muito foco em legibilidade

Exemplo simples:

say 'Hello, mainframe world!'

Sem ponto e vírgula.
Sem BEGIN/END obrigatórios.
Sem drama.

Estrutura básica

  • Instruções lineares

  • Controle por IF, DO, SELECT

  • Funções internas riquíssimas

  • Integração nativa com o ambiente

Variáveis

nome = 'Bellacosa' say 'Bem-vindo,' nome

📌 Curiosidade:
Variáveis não inicializadas não quebram o programa.
Elas simplesmente retornam o próprio nome.
Isso é genial para debug… e perigoso se você não souber 😄


🧩 5. Pré-requisitos para aprender REXX

A boa notícia: poucos.

Idealmente você já conhece:

  • Conceitos básicos de mainframe

  • TSO/ISPF

  • JCL (ao menos leitura)

  • Dataset, PDS, PS, membros

  • Comandos básicos do sistema

Se você sabe navegar no ISPF, já está 50% pronto.


🛠️ 6. REXX na prática – exemplos do mundo real

Exemplo 1 – Listar datasets

address tso "listcat level('USER01')"

Exemplo 2 – Automatizar ISPF

address ispexec "control errors return" address ispexec "display panel(MYPANEL)"

Exemplo 3 – Batch REXX

//STEP1 EXEC PGM=IKJEFT01 //SYSTSPRT DD SYSOUT=* //SYSEXEC DD DISP=SHR,DSN=USER.REXX.LIB //SYSTSIN DD * %MEUREXX /*

📌 Easter egg avançado:
REXX pode ler e escrever datasets linha a linha com EXECIO.
Sim, você pode fazer mini-SORTs sem DFSORT.


🤯 7. Curiosidades que poucos contam

  • REXX existe fora do mainframe (OS/2, Windows, Linux)

  • É base de automação em vários produtos IBM

  • Muitos produtos “enterprise” usam REXX internamente

  • CLIST perdeu espaço por causa do REXX

  • É uma das linguagens mais subestimadas do ecossistema IBM Z


☕ Conclusão – Por que REXX virou meu novo amigo

REXX não é moda.
REXX não é hype.
REXX é eficiência silenciosa.

Ele resolve problemas reais:

  • rápido

  • integrado

  • sem burocracia

  • sem custo extra

  • com curva de aprendizado amigável

Se você trabalha com z/OS ou z/VM e ainda ignora o REXX, deixo o conselho de veterano:

Não subestime uma linguagem que a IBM colocou no coração do sistema.

Porque às vezes, o melhor amigo já estava no mainframe…
você só nunca tinha puxado assunto 😉


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