Translate

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

sexta-feira, 20 de março de 2026

🚀 Do COPY ao CORE Bancário: A Jornada Jedi de um Programa COBOL no z/OS (ou: como um .CBL vira dinheiro no mundo real)

Bellacosa Mainframe apresenta COBOL LE Enterprise


🚀 Do COPY ao CORE Bancário: A Jornada Jedi de um Programa COBOL no z/OS (ou: como um .CBL vira dinheiro no mundo real)

“Padawan, muitos escrevem código. Poucos entendem como ele realmente vive.” 💙

Se você acha que COBOL é só um DISPLAY "HELLO", prepare-se.
No mainframe, um programa não nasce pronto — ele passa por uma verdadeira linha de produção industrial de software.

Hoje vamos percorrer essa jornada completa, estilo Bellacosa Mainframe™, com:

🔥 Passo a passo real
🧠 Conceitos que diferenciam dev júnior de arquiteto
💎 Easter eggs históricos
🏦 Exemplos do mundo bancário
⚙️ Bastidores que ninguém te conta


🧙‍♂️ Capítulo 1 — O nascimento: o código fonte

Tudo começa com um membro em um PDS ou PDSE:

USER.COBOL.SOURCE(PROG1)

Exemplo simples:

IDENTIFICATION DIVISION.
PROGRAM-ID. CPRIME.

PROCEDURE DIVISION.
DISPLAY "MAY THE MAINFRAME BE WITH YOU".
STOP RUN.

💡 Curiosidade Jedi:
COBOL foi criado para ser legível por pessoas de negócio. Por isso parece “verbal”.


📚 Capítulo 2 — COPY: os pergaminhos antigos

Nenhum sistema corporativo vive sem COPYBOOKS.

COPY CLIENT-RECORD.

Esses artefatos ficam nas bibliotecas apontadas por:

//SYSLIB DD DSN=CORP.COPYLIB

💎 Easter egg:
Grandes bancos têm copybooks mais antigos que muitos desenvolvedores.


⚙️ Capítulo 3 — Compilação: o forno industrial (IGYCRCTL)

Agora entra o compilador Enterprise COBOL.

//COMPILE EXEC PGM=IGYCRCTL

📥 Entradas principais

DDFunção
SYSINCódigo fonte
SYSLIBCopybooks
SYSUTxÁrea de trabalho

📤 Saídas

DDResultado
SYSPRINTMensagens
SYSLINObject code

👉 O objeto ainda NÃO é executável.


🧠 Analogia moderna

MainframeLinux
Compilegcc -c
Objeto.o

💥 Capítulo 4 — O Binder: alquimia digital (IEWL)

Agora o objeto vira programa executável.

//LKED EXEC PGM=IEWL

📥 Entrada

SYSLIN → objeto compilado

📤 Saída

SYSLMOD → executável final

💎 Easter egg:
Antes do Binder moderno, isso se chamava “link-edit”.


📦 Program Object: o formato moderno

Hoje o resultado normalmente é um:

👉 Program Object em PDSE

Não mais um load module antigo.


🧬 Capítulo 5 — O espírito invisível: Language Environment (LE)

Aqui está o segredo que separa aprendizes de mestres.

💥 Programas COBOL não rodam sozinhos.

Eles precisam do LE.

O LE fornece:

✔️ Memória
✔️ Inicialização
✔️ Tratamento de erros
✔️ Serviços runtime
✔️ Interoperabilidade


🧠 Analogia suprema

PlataformaRuntime
JavaJVM
.NETCLR
z/OS⭐ LE

⚙️ Capítulo 6 — Opções de runtime (CEEOPTS)

Exemplo famoso:

ALL31(ON)

Permite usar memória acima da linha de 16 MB.

🧪 Override via JCL

//CEEOPTS DD *
ALL31(ON)
/*

🚫 Nunca no código COBOL.


🏦 Capítulo 7 — Onde o programa pode rodar?

Um único executável pode viver em vários mundos:

AmbienteUso típico
BatchProcessamento massivo
CICSTransações online
IMSSistemas críticos
Db2 SPLógica no banco
TSOExecução interativa
USSScripts UNIX

❌ System exit — proibido (sem LE)


🐧 Capítulo 8 — USS e o mundo moderno

Você também pode compilar no UNIX do z/OS:

cob2 -q'RENT,LIST' pgm1.cbl

💡 O mainframe também fala “Linux”.


🧩 Capítulo 9 — Compatibilidade histórica (o verdadeiro poder)

Enterprise COBOL consegue recompilar código:

✔️ VS COBOL II (anos 80)
✔️ COBOL for OS/390

Mas não diretamente:

❌ OS/VS COBOL
❌ COBOL-68 / COBOL-74

💥 Isso é o que mantém sistemas funcionando por décadas.


🧙‍♂️ Capítulo 10 — A verdadeira força do mainframe

Um programa COBOL pode:

💥 Processar milhões de transações por segundo
💥 Rodar por décadas sem reescrita
💥 Integrar com APIs modernas
💥 Conviver com código de 40 anos atrás


🏆 Pipeline final — a jornada completa

Source (.CBL)

Compile (IGYCRCTL)

Object module

Binder (IEWL)

Program Object

Execution (Batch / CICS / IMS / etc.)

💎 Easter egg final

💰 Grande parte do dinheiro do planeta passa por sistemas exatamente assim.

Cada saque, compra com cartão ou transferência:

👉 Pode estar executando código COBOL semelhante ao seu.


🧠 Conclusão 

Padawan, aprender COBOL não é aprender uma linguagem.

É entender uma arquitetura de computação empresarial completa, refinada por mais de meio século.

🚀 O código é apenas o começo.
🏗️ O processo é o verdadeiro poder.
💙 O mainframe é a fábrica invisível do mundo moderno.



terça-feira, 3 de março de 2026

☕ O Dia em que um Padawan COBOL Enfrentou o Teste Avançado… e Descobriu os Segredos do Mainframe

 

Bellacosa Mainframe e o teste de cobol para padawan

☕ O Dia em que um Padawan COBOL Enfrentou o Teste Avançado… e Descobriu os Segredos do Mainframe

“Muito antes de microservices, Kubernetes e modinhas passageiras, havia tabelas OCCURS, SORTs colossais e programas que movem bilhões… silenciosamente.”

Se você é um Padawan do COBOL, prepare seu café ☕ — hoje vamos atravessar uma jornada digna de Jedi Mainframe.

Este artigo é inspirado em um cenário real: um teste avançado de COBOL cobrindo tabelas, SORT, subprogramas, comunicação interprogramas e OO COBOL.

E sim… isso é exatamente o que sustenta bancos, seguradoras e governos.


🧠 Capítulo 1 — A Força das Tabelas OCCURS

Todo Padawan descobre cedo que:

COBOL não tem “arrays”… tem tabelas.

Exemplo clássico:

01 Salary-Table.
02 Salary PIC 9(4) OCCURS 100 TIMES.

Para zerar a tabela:

MOVE 1 TO Counter
PERFORM UNTIL Counter > 100
MOVE 0 TO Salary(Counter)
ADD 1 TO Counter
END-PERFORM

🧩 Easter Egg #1 — O jeito Jedi

Um Mestre COBOL faria:

INITIALIZE Salary-Table

💥 Mesma coisa. Menos CPU. Mais elegância.


🏥 Capítulo 2 — Tabelas Multinível: O Labirinto dos Índices

Considere:

01 Patient-Table.
02 Ward OCCURS 10 TIMES.
03 Patient OCCURS 120 TIMES.
04 Patient-Name PIC X(50).

Para acessar:

Patient-Name(ward-index, patient-index)

👉 Ordem: de fora para dentro

⚠️ Pegadinha mortal

Se errar a ordem ou quantidade de subscritos:

💥 Pode sobrescrever memória
💥 Pode causar S0C4
💥 Pode derrubar um batch inteiro às 3h da manhã


⚡ Capítulo 3 — Índices vs Subscripts: Velocidade da Luz

Padawans usam:

Salary(5)

Mestres usam:

SET idx TO 5
Salary(idx)

Porque:

CaracterísticaSubscriptIndex
TipoNúmeroOffset
PerformanceMédiaAlta
Uso em SEARCH ALL

🧩 Easter Egg #2

Índices não podem receber MOVE:

MOVE 1 TO idx *> ERRO
SET idx TO 1 *> CORRETO

🔍 Capítulo 4 — SEARCH vs SEARCH ALL

🐢 SEARCH (sequencial)

Procura um a um.

🚀 SEARCH ALL (binário)

Divide ao meio repetidamente.

Mas exige:

✔️ Tabela ordenada
✔️ Índice
✔️ Chave correta

Exemplo:

SEARCH ALL Stock
WHEN Stock-Symbol(idx) = "IBM"
PERFORM Found
END-SEARCH

🧩 Curiosidade histórica

Em grandes bancos:

SEARCH ALL pode reduzir milhões de comparações para poucas dezenas.


🔄 Capítulo 5 — SORT: O Motor Invisível do Batch

O SORT interno envolve três arquivos:

1️⃣ Entrada
2️⃣ Work file (SD)
3️⃣ Saída

SORT Sort-Work
ON ASCENDING KEY Customer-ID
USING Input-File
GIVING Output-File

🔥 Regra de ouro

O Sort Work File:

❌ Não é aberto
❌ Não é fechado
❌ Não é manipulado diretamente

👉 O sistema cuida disso.


🧪 Capítulo 6 — INPUT/OUTPUT PROCEDURE: Magia Avançada

Sem USING/GIVING, você controla tudo:

Entrada → RELEASE

RELEASE Sort-Record

Saída → RETURN

RETURN Sort-Work

💡 Isso permite filtrar, transformar ou gerar dados durante o SORT.


🧩 Capítulo 7 — Subprogramas: Modularidade Jedi

Chamador:

CALL "PROCESS-1" USING parm-area

Subprograma:

LINKAGE SECTION.
01 parm-area PIC X(100).

PROCEDURE DIVISION USING parm-area.

🔥 Regra importante

Por padrão:

👉 Parâmetros são BY REFERENCE
👉 Alterações retornam ao chamador


🌐 Capítulo 8 — Comunicação entre Programas

Tipos de dados compartilhados:

TipoEscopo
GLOBALPrograma + subprogramas embedded
EXTERNALTodo o run unit
LOCALApenas o programa

🧩 Easter Egg #3

EXTERNAL é como memória compartilhada “secreta” entre módulos.

Usar demais = pesadelo de manutenção.


🧬 Capítulo 9 — OO COBOL: O Lado Moderno da Força

Sim, COBOL também tem:

✔️ Classes
✔️ Objetos
✔️ Herança
✔️ Métodos
✔️ Factory

Exemplo simplificado:

CLASS-ID. Account.

FACTORY.
WORKING-STORAGE SECTION.
01 Interest PIC 9V99.

OBJECT.
WORKING-STORAGE SECTION.
01 Balance PIC 9(7)V99.

🔥 Diferença crucial

SeçãoPapel
FACTORYNível classe (static)
OBJECTNível instância

⚔️ Capítulo 10 — INVOKE vs CALL

Padawan erra:

CALL obj "method"

Mestre usa:

INVOKE obj "method"

👉 CALL → programas
👉 INVOKE → métodos OO


☕ Epílogo — O Verdadeiro Poder do COBOL

Após atravessar tabelas, SORTs, subprogramas e OO…

O Padawan percebe:

COBOL não é antigo.
COBOL é maduro.

Ele roda onde:

💰 O dinheiro circula
🏦 As transações acontecem
🌍 O mundo confia


🧠 Curiosidade Final (Easter Egg Supremo)

Estima-se que:

Mais de 70% das transações financeiras globais ainda passam por sistemas COBOL.

Enquanto você lia este artigo…

Provavelmente bilhões foram movimentados por código parecido com os exemplos acima.


🚀 Se você chegou até aqui…

Você já não é apenas um Padawan.

Está iniciando o caminho para:

🥋 Mestre do Mainframe

terça-feira, 24 de fevereiro de 2026

🎩 Mainframe, Meu Caro… Ou o Clube do Blazer Cinza?

 

Bellacosa Mainframe pensando sobre o rigido acesso ao ambiente Mainframe, regras secretas e barreiras a entrada.

🎩 Mainframe, Meu Caro… Ou o Clube do Blazer Cinza?

Permita-me começar com a devida elegância britânica:
o mainframe não é para amadores.

Mas, convenhamos… também não precisa ser para masoquistas.

Há um fenômeno curioso que afasta jovens talentos do mundo Z. Não é a complexidade do JCL. Não é o COBOL. Muito menos o misticismo do CICS ou do DB2.

É o ambiente.

Sim, meu caro leitor. O ambiente.


🎩 1. O Dress Code que Assusta Mais que um S0C7

Eles criam startups milionárias usando camiseta de banda.

E então descobrem que, em certos ambientes mainframe, o traje ainda é quase litúrgico.

  • Camisa social.

  • Sapato polido.

  • Blazer no verão de 34 graus.

  • Ar condicionado digno da Antártida.

Para quem ganha salário inicial modesto, vestir-se “adequadamente” não é apenas estética — é investimento pesado.

Pergunta elegante, porém direta:

Será que o código compila melhor de gravata?


💰 2. O Salário Inicial e o Paradoxo da Experiência

O mercado repete:
“Precisamos de profissionais de mainframe.”

Mas quando o jovem aparece:

— “Experiência mínima de 3 anos.”
— “Vivência em ambiente produtivo crítico.”
— “Conhecimento profundo de legado bancário.”

Ora, excelência exige oportunidade.

O problema não é a régua alta.
O problema é não haver escada.

E aqui entra outro elemento delicado…


🤝 3. O Padrinho Invisível

Em muitos ambientes, entrar no mainframe ainda funciona como um clube inglês do século XIX:

  • Você precisa conhecer alguém.

  • Alguém precisa confiar em você.

  • Alguém precisa abrir a porta.

Sem padrinho ou madrinha técnica, o jovem talento permanece do lado de fora, admirando o prédio.

Isso não é elitismo consciente.
É inércia cultural.

Mas o efeito é o mesmo.


🏢 4. O Ambiente Cinzento e a Cultura do “Não Pode”

Mainframe é auditoria.
Mainframe é rastreabilidade.

Perfeito.

Mas às vezes o discurso vira:

  • Não pode isso.

  • Não pode aquilo.

  • Precisa abrir chamado.

  • Precisa autorização.

  • Precisa aprovação.

  • Precisa justificar.

O jovem desenvolvedor, acostumado a deploy contínuo, olha para isso e pensa:

“Eu vim programar ou pedir permissão para respirar?”

Governança é vital.
Mas excesso de burocracia mata entusiasmo.


Onibus, trens e metro lotados chegar cansando antes de começar a jornada

🚆 5. A Distância Física do Centro de Decisão

Os grandes ambientes Z estão, via de regra:

  • Em centros financeiros.

  • Em polos corporativos.

  • Em prédios monumentais.

O que isso significa?

  • 2h de transporte público.

  • Combustível caro.

  • Estacionamento impraticável.

  • Vida pessoal comprimida.

Enquanto isso, o desenvolvedor distribuído trabalha remoto, de qualquer lugar do mundo.

A pergunta inevitável surge:

Se o sistema roda no data center, por que o cérebro precisa rodar no trânsito?


🦁 6. A Fatia do Leão

E aqui entramos no ponto mais sensível — tratado com elegância, mas sem ingenuidade.

Consultorias intermediam.
Negociam contratos robustos.
Recebem valores consideráveis.

Mas o profissional na ponta muitas vezes recebe uma fração modesta daquilo que é faturado.

Isso cria:

  • Desmotivação.

  • Sensação de injustiça.

  • Falta de pertencimento.

O jovem percebe rapidamente quando é custo ou quando é investimento.


🤡 7. E o salario óhhhhh

Há algo quase shakespeariano na ironia: enquanto o mainframe sustenta bilhões em transações e preserva a espinha dorsal financeira do mundo, o poder aquisitivo de muitos de seus guardiões encolhe discretamente, ano após ano. 

O salário médio já não acompanha o custo do terno, do transporte, da atualização técnica constante. Trabalha-se com sistemas de altíssima criticidade, mas negocia-se remuneração como se fosse peça de museu. Não é decadência tecnológica — é desalinhamento de valor. E nenhum império se sustenta por muito tempo quando seus pilares começam a sentir o peso sem a devida recompensa.


🐎 8. Quando o projeto sai dos trilhos.

Há algo quase teatral — e não no bom sentido — no desfile dos agentes comerciais que adentram o salão com promessas mirabolantes, PowerPoints reluzentes e prazos heroicos assinados com tinta alheia. Vendem modernização instantânea, garantem integração mágica, juram dominar a ferramenta que mal pronunciam corretamente. 

Comprometem-se com cronogramas que fariam corar o próprio calendário gregoriano e, numa aritmética digna de fábula corporativa, acreditam que nove gestantes produzirão um bebê em um mês. Ao primeiro sopro de realidade, o “babado” desce elegante — porém pesado — para a equipe terceirizada, que herda prazos surreais, jornadas de doze horas e a eterna ladainha: “é a reta final, vamos dar o gás para o deploy”. 

O projeto termina, os aplausos sobem ao palco executivo, e o profissional, exausto, descobre que sua participação era temporária — quase ornamental — encerrada com um discreto, porém firme, chute administrativo.

🎯 Então, o que fazer?

Agora vem a parte nobre da conversa.
Criticar é fácil. Reformar é aristocrático.

1️⃣ Modernizar a Cultura, Não Apenas a Tecnologia

  • Dress code mais flexível.

  • Avaliar por entrega, não por aparência.

  • Ambiente menos sisudo e mais colaborativo.

Elegância não exige rigidez.


2️⃣ Criar Trilhas Reais de Entrada

  • Programas trainee específicos de mainframe.

  • Mentorias formais.

  • Labs práticos (inclusive com ambientes como Hercules).

  • Parcerias com universidades.

O talento não nasce com RACF configurado.

Ele precisa de oportunidade.


3️⃣ Trabalho Híbrido ou Remoto Estruturado

Se DevOps pode operar sistemas distribuídos remotamente,
o mainframe também pode evoluir seus modelos operacionais.

Segurança não é sinônimo de presença física.


4️⃣ Transparência na Cadeia de Valor

Consultorias são importantes.
Mas valorização real do especialista cria retenção.

Retenção cria excelência.
Excelência mantém o mainframe vivo.


5️⃣ Tornar o Mainframe Aspiracional

Hoje o jovem quer:

  • Impacto

  • Propósito

  • Reconhecimento

  • Crescimento rápido

E adivinhe?

Mainframe entrega tudo isso.

Mas alguém precisa contar essa história com paixão —
não apenas com manuais.


☕ Conclusão ao Estilo Bellacosa

Meu caro…

O problema do mainframe nunca foi tecnologia.

Foi narrativa.
Foi cultura.
Foi ambiente.

O Z não é antiquado.

Antiquada pode ser a forma como o apresentamos.

Se queremos novos talentos, precisamos:

  • Abrir portas.

  • Reduzir barreiras simbólicas.

  • Atualizar a mentalidade.

  • Valorizar quem executa.

O mainframe é majestoso.

Mas majestade não precisa ser sisudez.

Pode ser grandeza com leveza.

E talvez — apenas talvez — o próximo grande arquiteto Z esteja neste exato momento escolhendo entre:

  • Uma startup de camiseta
    ou

  • Um data center de blazer.

A decisão é nossa.

🎩☕ PS: Isso que nem entrei nos pontos neuvragicos dos deploys, tercereiziação, quarteirização, falta de documentação e em algumas instalaçoes com a aposentadoria de antigos pratas da casa, perde-se o conhecimento. Um outro fato dolorozado e que de tempos em tempos existem os cortes dolorosos, membro com altos salarios ficam sobre escrutinio, pressão e caçada de pelo em ovo.

Muitas das vezes ocorre o bornout e o membro se desliga voluntario. Mas isso já é polemico demais, fica para uma proxima rodada. Concorda comigo? Qual a sua opinião? Tem alguma inverdade ou exagerado? Como é sua visao do mundo DEV na Stack Mainframe, agora hibrida com Linux, Unix, Ansilnle, Rest, Open APi2, OpenApi3, Red Hat, OpenShift e muitas novidades culminando com o Zowe, Git e Visual Studio.


https://www.linkedin.com/posts/vagnerbellacosa_ibm-mainframe-peopleware-ugcPost-7432160677529722880-9oeF?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAF2qx0B5Ef0IGUpO8f7SxDHV-EQ5-EMG54

https://www.linkedin.com/pulse/mainframe-meu-caro-ou-o-clube-do-blazer-cinza-vagner-bellacosa-sueef/

:)

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