sábado, 15 de agosto de 2015

🌌 O Primeiro Programa no Mainframe: A Jornada do Padawan na Galáxia do COBOL

 


🌌 O Primeiro Programa no Mainframe: A Jornada do Padawan na Galáxia do COBOL

Por Vagner Bellacosa — Bellacosa Mainframe Chronicles


“Antes de um Jedi empunhar seu sabre de luz, ele aprende a sentir a Força. No Mainframe, antes de rodar um programa, o Padawan precisa aprender a sentir o zumbido do MVS.”
— Mestre Bellacosa


🚀 Capítulo 1: O Despertar do Terminal

Todo Jedi Mainframe começa no TSO/ISPF, o templo sagrado onde o código nasce.
Aqui, não há cliques, não há mouse, só o poder dos comandos.

🌀 Dica do Mestre:
TSO significa Time Sharing Option. É o modo como o z/OS permite que vários usuários interajam simultaneamente com o sistema.
O ISPF (Interactive System Productivity Facility) é o ambiente gráfico textual — sim, gráfico de ASCII, mas ainda assim — onde tudo acontece.

Para começar:

  1. Entre no TSO (geralmente com um logon ID e senha).

  2. Ao ver o menu do ISPF, escolha a opção 2 – Edit.

  3. Crie seu primeiro dataset para o código-fonte:

    CREATE 'USERID.COBOL.SOURCE'

    (substitua USERID pelo seu logon)


🧙‍♂️ Capítulo 2: Invocando o Espírito do COBOL

Dentro do dataset USERID.COBOL.SOURCE, vamos escrever o primeiro feitiço:

IDENTIFICATION DIVISION. PROGRAM-ID. HELLOMF. PROCEDURE DIVISION. DISPLAY 'HELLO MAINFRAME WORLD!'. STOP RUN.

💡 Curiosidade Bellacosa:
O primeiro programa COBOL Hello World rodou em 1959. Desde então, milhões de “HELLOs” ecoaram nos datacenters do mundo — inclusive em satélites e sistemas bancários.

🧩 Easter Egg Técnico:
Se você escrever DISPLAY 'HELLO WORLD' sem o ponto final (.), o compilador pode engasgar!
No COBOL, o ponto é sagrado — é o ponto final das sentenças, não só da gramática. 😉


🧰 Capítulo 3: O Ritual do JCL

Nenhum programa vive sem o JCL (Job Control Language) — o pergaminho que instrui o Mainframe a compilar e executar seu código.

Crie outro dataset:

CREATE 'USERID.JCL'

Agora o job:

//HELLOJOB JOB 'COBOL TEST',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID //STEP1 EXEC PGM=IGYCRCTL //COBOL.SYSIN DD DSN=USERID.COBOL.SOURCE(HELLOMF),DISP=SHR //COBOL.SYSLIN DD DSN=&&LOADSET,UNIT=VIO,SPACE=(CYL,(1,1)),DISP=(MOD,PASS) //SYSOUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //STEP2 EXEC PGM=HELOWMF //STEPLIB DD DSN=USERID.LOADLIB,DISP=SHR //SYSOUT DD SYSOUT=*

⚙️ Explicando o feitiço:

  • JOB é o início da magia — identifica o job ao JES2, o oráculo do spool.

  • EXEC chama o compilador (IGYCRCTL) e depois o programa.

  • SYSOUT=* manda a saída para o spool, visível com o comando SDSF ou OUTLIST.

🪄 Easter Egg Jedi:
O compilador COBOL chama o “IGYCRCTL” (IBM Guy’s Compiler Routine Control) — sim, o “IGY” vem da IBM Guy, apelido do engenheiro que escreveu o protótipo original em 1959 (piada interna).


🖥️ Capítulo 4: Invocando o Spool

Após submeter o job com o comando SUBMIT, use:

=SD

ou

SDSF -> ST (Status)

Para ver o job rodando. Quando terminar, veja a saída (? ou S).

Se tudo der certo, o spool mostrará:

HELLO MAINFRAME WORLD!

🎉 Parabéns, Padawan!
Você acaba de executar seu primeiro programa em um dos sistemas mais poderosos e estáveis do planeta.


🧭 Capítulo 5: As Trilhas do Aprendizado

Agora que sentiu o gosto da Força, siga o mapa dos próximos passos:

NívelMissãoFerramentaDica do Mestre
🥉 InicianteCriar programas COBOL simplesISPF EditSempre compile com atenção às mensagens IGY*
🥈 AprendizManipular VSAMIDCAMS + COBOLAprenda REDEFINES e FILE STATUS
🥇 CavaleiroCriar programas CICSCEDA + BMSDomine COMMAREA e LINKAGE SECTION
🧙 MestreCriar Web Services no z/OSCICS Web Services / z/OS ConnectCOBOL + JSON = futuro clássico

Curiosidade Bellacosa:

  • O z/OS ainda roda código compilado há 40 anos — sim, o seu HELLOMF pode rodar em 2065 se bem armazenado.

  • Em alguns bancos, a política é: “nunca mexa em programa que funciona há mais de 20 anos” — o código é tratado como reliquia sagrada.

  • O STOP RUN. equivale ao “May the Force be with you” do COBOL — encerra o ciclo do programa com honra.


🌠 Conclusão: O Caminho do Código Antigo

O Mainframe não é um sistema — é uma filosofia.
Cada tela azul do ISPF é um portal para o passado, e cada DISPLAY é um elo com o futuro.
Ser um Padawan Mainframe é aprender que, antes de tudo, o poder está na paciência, na curiosidade e no amor por sistemas que nunca morrem.


Sem comentários:

Enviar um comentário