✨ Bem-vindo ao meu espaço! ✨ Este blog é o diário de um otaku apaixonado por animes, tecnologia de mainframe e viagens. Cada entrada é uma mistura única: relatos de viagem com fotos, filmes, links, artigos e desenhos, sempre buscando enriquecer a experiência de quem lê. Sou quase um turista profissional: adoro dormir em uma cama diferente, acordar em um lugar novo e registrar tudo com minha câmera sempre à mão. Entre uma viagem e outra, compartilho também reflexões sobre cultura otaku/animes
quinta-feira, 5 de junho de 2025
Visite Bellacosa Mainframe
BELLACOSA MAINFRAME
sexta-feira, 12 de abril de 2024
Uma visão geral sobre o trabalhador de Mainframe
quinta-feira, 11 de abril de 2024
Conheças algumas vantagens de desenvolver em COBOL Mainframe
segunda-feira, 14 de agosto de 2023
Quem está comendo a memória? — O “ranking dos famintos” do z/OS
| Bellacosa Mainframe aponta alguns dos grandes consumidores de storage no Mainframe |
☕ Um Café no Bellacosa Mainframe
Quem está comendo a memória? — O “ranking dos famintos” do z/OS
Até agora vimos:
🧠 Quanto de memória existe
😮💨 Como o sistema respira (paging)
🏢 Como ela é dividida internamente
Agora vem a pergunta mais humana de todas:
👉 Quem exatamente está usando tudo isso?
| TSO SDSF Simulatord |
A tela mostra algo assim:
DB2PRD01 3850M
CICSAPPL 2672M
TSOUSER1 1240M
BATCHJOB1 984M
Bem-vindo ao placar de consumo de memória do mainframe ☕
🍽️ Pense nisso como um rodízio de memória
Imagine um buffet livre onde cada cliente come à vontade.
Essas linhas mostram:
👉 Quem está na mesa
👉 Quanto já consumiu
👉 Quem pode estar exagerando 😄
🗄️ DB2PRD01 — 3850M
👉 Provavelmente um subsistema de banco de dados DB2 em produção
DB2 é o cérebro de dados de muitos sistemas críticos:
-
Bancos
-
Cartões
-
Governo
-
Seguros
-
Telecom
3,8 GB pode parecer muito…
👉 Para DB2, é absolutamente normal.
💬 Fofoquinha técnica:
DB2 usa memória agressivamente como cache para evitar acesso a disco, porque RAM é milhares de vezes mais rápida.
🏦 CICSAPPL — 2672M
👉 Aplicações online rodando em CICS
Se você:
-
Fez um PIX
-
Consultou saldo
-
Comprou algo no cartão
-
Emitiu uma passagem
Há grandes chances de ter passado por um CICS.
Memória aqui sustenta:
-
Sessões de usuários
-
Programas COBOL
-
Filas de transação
-
Buffers
-
Tabelas
🧑💻 TSOUSER1 — 1240M
👉 Um usuário interativo (ou vários via TSO)
TSO é o “desktop” do mainframe.
Pode incluir:
-
Desenvolvedores
-
Operadores
-
Sysprogs
-
Ferramentas ISPF
-
Compiladores
-
Debuggers
💬 Sim, um único usuário pode consumir mais memória que centenas de PCs antigos.
⚙️ BATCHJOB1 — 984M
👉 Job batch em execução
Batch é o trabalho pesado invisível:
-
Processamento noturno
-
Fechamento bancário
-
Cálculos massivos
-
Relatórios gigantes
-
ETL
-
Atualizações em massa
Quase 1 GB é comum para jobs modernos.
🕵️ O que essa tela realmente revela?
👉 A distribuição do consumo entre subsistemas.
Ela responde perguntas como:
-
Quem está pressionando a memória?
-
Há algum job fora do normal?
-
Um usuário está exagerando?
-
Um subsistema precisa de tuning?
🤫 Easter Egg Mainframe
Existe um clássico entre operadores:
“Quando a performance cai, procure primeiro quem está comendo storage.”
Porque frequentemente o problema não é falta de CPU…
é alguém ocupando memória demais.
🧓 História curiosa
Antigamente, relatórios assim eram impressos em papel contínuo.
Operadores literalmente:
📄 Analisavam páginas e páginas
✏️ Circulavam valores com caneta
📞 Ligavam para equipes responsáveis
Hoje tudo aparece em tempo real.
🏥 Diagnóstico desta tela
💚 DB2 — dentro do esperado
💚 CICS — saudável
💚 TSO — moderado
💚 Batch — normal
Nada indica desastre iminente.
Parece um ambiente produtivo funcionando normalmente.
🧃 Explicação ultra simples
Se o IBM Z fosse um hotel:
-
DB2 → hóspede corporativo ocupando várias suítes
-
CICS → conferência cheia de participantes
-
TSO → hóspedes individuais
-
Batch → equipe de manutenção trabalhando à noite
🚀 Por que isso impressiona?
Porque todos esses sistemas estão:
✔️ Rodando simultaneamente
✔️ Compartilhando recursos
✔️ Sem travar uns aos outros
✔️ Com altíssima confiabilidade
Em muitos ambientes distribuídos, isso exigiria dezenas ou centenas de servidores.
☕ Conclusão
Esta tela mostra o lado humano do mainframe:
👉 Não apenas “quanto” de memória existe
👉 Mas “quem” está usando
É o equivalente digital de olhar uma cidade à noite e ver quais prédios estão com luz acesa.
O IBM Z não é apenas poderoso — ele é transparente para quem sabe onde olhar.
terça-feira, 28 de julho de 2020
☕🔥 Suporte à Produção Mainframe — engenharia operacional em estado bruto
| Bellacosa Mainframe apresenta Suporte a Produção |
☕🔥 Suporte à Produção Mainframe — engenharia operacional em estado bruto
Se você já deu CANCEL com o coração na mão, já leu dump em hexadecimal, já decorou mensagem $HASP melhor que CPF, então este texto não é para iniciantes.
Aqui falamos de Produção de verdade. Sem romantização. Sem power-point bonito.
🧠 Suporte à Produção Mainframe ≠ Operação
É engenharia operacional sob carga real.
Produção não é:
-
Rodar job
-
Reiniciar STC
-
Abrir chamado
Produção é:
-
Análise de impacto
-
Decisão em ambiente crítico
-
Entendimento sistêmico do z/OS
-
Correlação entre eventos aparentemente desconexos
Produção é onde o design encontra a realidade — e geralmente perde.
🕰️ Raiz Histórica (para quem veio do MVS, não do YouTube)
O Suporte à Produção nasce quando:
-
O batch deixou de ser “linear”
-
O online passou a ser 24x7
-
O negócio começou a depender de janela de processamento
-
O erro deixou de ser aceitável
A evolução foi clara:
-
Operador de console →
-
Analista de Produção →
-
Especialista em estabilidade operacional
Hoje, Produção é a última linha de defesa entre o z/OS e o prejuízo financeiro.
🎯 Objetivo Real do Suporte à Produção (versão sem marketing)
-
Garantir throughput, não apenas execução
-
Controlar contenção, não apenas erro
-
Preservar integridade transacional
-
Manter SLA, RTO e RPO
-
Atuar antes do incidente virar crise
☕ Veterano sabe:
Produção não corrige código — corrige efeito colateral.
🧩 Arquitetura de Conhecimento (o que separa júnior de veterano)
🖥️ z/OS — domínio do núcleo
-
JES2/JES3, initiators, classes, priorities
-
Spool contention
-
ENQ/DEQ, RESERVE, latch
-
WTOR, automation hooks
-
Dumps SVC vs SYSMDUMP
🔥 Apimentado:
Quem não entende JES não entende produção.
🧠 CICS — transação é sagrada
-
Task Control
-
Storage violation
-
Transaction isolation
-
Deadlock silencioso
-
Dumps DSNAP / CEEDUMP
☕ El Jefe truth:
CICS não cai — ele sangra em silêncio.
📬 MQ — quando o assíncrono vira gargalo
-
Depth x High/Low Threshold
-
Channels retrying
-
Poison message
-
Commit vs rollback
-
Impacto no batch e no online
🔥 Easter egg:
Fila cheia é sintoma, não causa.
🔌 Integration Bus (Broker)
-
Flow degradation
-
Message backlog
-
XML/JSON parsing cost
-
CPU vs I/O trade-off
-
Propagação de erro invisível
☕ Fofoquice técnica:
Quando o Broker falha, todo mundo aponta para o mainframe.
🧪 REXX — automação tática
-
Monitoramento ativo
-
Ações condicionais
-
Coleta de evidência
-
Resposta automática a eventos
-
Integração com SDSF, consoles e logs
🔥 Produção sem REXX é operação cega.
🗄️ DB2 Utilities — o campo minado
-
REORG mal planejado
-
RUNSTATS atrasado
-
Lock escalation
-
Deadlock intermitente
-
Log pressure
☕ Frase clássica:
“Não mexe agora… deixa rodar.”
🌐 WebSphere / Acesso Remoto
-
JVM pressure
-
Thread starvation
-
Timeout mascarado
-
Latência invisível
-
Cascata de falhas
🔥 Curiosidade:
O Web cai rápido. O mainframe aguenta a culpa.
🔍 Funcionamento Real em Produção (sem filtro)
-
Sintoma aparece longe da causa
-
Métrica parece normal
-
SLA corre
-
Dump gerado
-
Análise cruzada (JES + CICS + DB2 + MQ)
-
Decisão com risco calculado
-
Execução mínima, impacto máximo
-
Ambiente estabiliza
-
Post-mortem técnico
-
Documentação (que ninguém lê… até precisar)
🧠 Mentalidade do Veterano
✔️ Não confia em “achismo”
✔️ Não executa comando sem rollback mental
✔️ Pensa em efeito dominó
✔️ Prefere degradar a parar
✔️ Sabe quando não agir
☕🔥 Regra de ouro:
Em Produção, o comando mais perigoso é o que “sempre funcionou”.
🥚 Easter Eggs de Produção
-
Todo ambiente tem um job que “ninguém encosta”
-
Sempre existe um dataset com DISP=SHR que não deveria
-
Todo incidente grave começa com:
“Isso nunca aconteceu antes…”
-
O melhor analista é o que não aparece no incidente report
🧨 Conclusão — El Jefe Midnight Lunch Manifesto
Suporte à Produção Mainframe é:
-
Arquitetura viva
-
Engenharia sob estresse
-
Decisão sem margem de erro
-
Responsabilidade sem aplauso
Não é glamour.
Não é palco.
É confiança operacional.
☕🔥 Se você já sobreviveu a uma madrugada de produção,
você sabe:
Produção não ensina — ela seleciona.
terça-feira, 12 de maio de 2015
Como Não Se Perder no Mainframe (e Ainda Brilhar em Produção) ☕
| Bellacosa Mainframe apresenta um manual de sobrevivencia para um padawan em mainframe |
🔥 Manual de Sobrevivência do Programador COBOL Iniciante
Como Não Se Perder no Mainframe (e Ainda Brilhar em Produção) ☕
Entrar no mundo COBOL Mainframe é como desembarcar em uma usina nuclear em pleno funcionamento: tudo é estável, poderoso… e absolutamente implacável com erros.
Mas respire.
Milhões de profissionais passaram por isso antes — e sobreviveram muito bem 😄
Este é o guia que eu gostaria que todo iniciante recebesse no primeiro dia.
🧠 1) Entenda onde você está pisando
Você não está em um ambiente comum de desenvolvimento.
Aqui existem:
✔ Sistemas rodando há décadas
✔ Código crítico para negócios bilionários
✔ Processos batch noturnos gigantescos
✔ Auditoria pesada
✔ Zero tolerância para “gambiarras”
No Mainframe:
“Se funciona há 20 anos, mexa com extremo respeito.”
🖥️ 2) Domine o ecossistema antes da linguagem
COBOL sozinho não faz nada.
Você precisa entender o ambiente z/OS:
-
TSO/ISPF
-
JCL
-
Datasetes
-
JOBs batch
-
SDSF
-
Conceitos de spool
-
Bibliotecas PDS/PDSE
Sem isso, você fica perdido mesmo sabendo programar.
📜 3) Aprenda a ler código antigo (muito antigo)
Grande parte do seu trabalho inicial será manutenção.
Você verá:
😅 Variáveis com nomes estranhos
😅 GO TO espalhado
😅 Comentários de 1989
😅 Copybooks gigantes
😅 Lógica de negócio implícita
Dica de ouro:
👉 Comece pelo fluxo principal (MAIN-LOGIC)
👉 Siga os PERFORMs
👉 Ignore detalhes até entender o todo
🧱 4) Respeite os padrões da empresa
Cada organização tem seu próprio guia de estilo.
Nunca chegue “modernizando tudo”.
Faça primeiro:
✔ Entenda o padrão local
✔ Copie o estilo existente
✔ Siga nomenclaturas
✔ Use templates corporativos
No Mainframe, consistência vale mais que criatividade.
🧮 5) Entenda arquivos — eles são o coração do batch
Processamento batch gira em torno de datasets.
Você precisa dominar:
-
Sequential files
-
VSAM
-
Leitura e escrita
-
EOF (fim de arquivo)
-
Layouts de registro
-
Controle de erro
Um erro de layout pode destruir dados sem aviso.
🔁 6) PERFORM é seu melhor amigo
Evite ao máximo:
🚫 GO TO
🚫 Lógica confusa
🚫 Saltos imprevisíveis
Prefira fluxo estruturado:
✔ PERFORM UNTIL
✔ PERFORM VARYING
✔ Parágrafos bem nomeados
Código previsível é código seguro.
🧠 7) Use nomes que contam a história
Bons nomes reduzem metade do esforço de manutenção.
Compare:
❌ X1, X2, VARA
✔ WS-SALDO-CONTA
✔ FL-FIM-ARQUIVO
✔ CNT-REG-LIDOS
Se alguém entende sem perguntar, você venceu.
📦 8) COPYBOOKs são contratos
Copybooks definem layouts compartilhados.
Mexer neles pode impactar dezenas ou centenas de programas.
Antes de alterar:
⚠ Verifique dependências
⚠ Consulte responsáveis
⚠ Avalie impacto sistêmico
Alterar copybook sem análise é receita para incidente.
🛑 9) Teste como se produção dependesse disso
(porque depende)
Um JOB errado pode:
💸 Gerar pagamentos indevidos
📉 Corromper base de dados
📊 Produzir relatórios incorretos
🚨 Acionar auditoria
Teste cenários:
✔ Arquivo vazio
✔ Dados inválidos
✔ Limites máximos
✔ Exceções
📊 10) Leia o output do JOB — sempre
Após rodar, verifique:
-
Return codes
-
Mensagens
-
Contagem de registros
-
Warnings
-
Dumps
Nunca assuma que “deu certo”.
🧯 11) Aprenda a interpretar ABENDs
ABEND não é fracasso — é informação.
Códigos como:
-
S0C7 → erro numérico
-
S0C4 → acesso inválido de memória
-
S013 → problema de arquivo
Dominar isso acelera sua evolução absurdamente.
🤝 12) Faça amizade com operadores e analistas experientes
Mainframe é uma cultura colaborativa.
Operadores conhecem o comportamento real dos JOBs.
Veteranos conhecem os sistemas por dentro.
Uma conversa pode economizar dias de tentativa e erro.
⏳ 13) Tenha paciência — aprendizado é cumulativo
No início, tudo parece lento:
-
Compilar leva tempo
-
JOBs entram em fila
-
Ambientes são controlados
-
Mudanças passam por aprovação
Mas isso existe para garantir estabilidade.
☕ Filosofia final de sobrevivência
Ser programador COBOL não é apenas saber sintaxe.
É ser guardião de sistemas críticos.
Você está mantendo a infraestrutura invisível que faz o mundo financeiro e governamental funcionar.
“Se ninguém percebe seu trabalho, provavelmente está perfeito.”
⭐ Conclusão
O iniciante que sobrevive no Mainframe não é o mais brilhante — é o mais disciplinado.
Com o tempo, você descobrirá algo surpreendente:
👉 COBOL não é ultrapassado
👉 É simplesmente implacavelmente confiável
E dominar esse ambiente abre portas raras e valiosas.
segunda-feira, 13 de outubro de 2014
Iniciação ao REXX – Quando o Mainframe Te Apresenta um Novo Amigo
Iniciação ao REXX – Quando o Mainframe Te Apresenta um Novo Amigo
“REXX não é moda. REXX é sobrevivência.”
Quem trabalha com z/OS, z/VM ou IBM Z cedo ou tarde chega a essa constatação:
não importa quantos produtos enterprise você tenha, sempre haverá aquele momento em que o problema é pequeno demais para COBOL, complexo demais para JCL e burocrático demais para justificar uma nova ferramenta.
É exatamente nesse espaço — invisível para muitos — que mora o REXX.
Subestimado, silencioso, quase sempre ignorado… até o dia em que você descobre que ele resolve 80% das dores do dia a dia com meia dúzia de linhas.
Este post é um convite:
👉 conhecer o REXX não como linguagem, mas como companheiro de trincheira no mainframe.
📜 Um pouco de história (porque nada no mainframe surge do nada)
O REXX (Restructured Extended Executor) nasceu em 1979, dentro da IBM, criado por Mike Cowlishaw.
A motivação era simples e genial:
Criar uma linguagem fácil de ler, difícil de quebrar e totalmente integrada ao sistema.
Enquanto o mundo brigava com sintaxe pesada, pontuação excessiva e códigos ilegíveis, o REXX nasceu com uma ideia revolucionária para a época:
-
tudo é string
-
tipagem dinâmica
-
sintaxe próxima do inglês
-
tolerância a erro humano
📌 Curiosidade:
REXX é mais antigo que Perl, Python e Ruby — e já fazia muita coisa que elas só popularizaram décadas depois.
🧠 REXX não vive sozinho: ambientes de processamento e comando
Aqui está o primeiro choque para quem vem de linguagens “tradicionais”:
👉 REXX não existe fora de um ambiente.
Antes de escrever código, você precisa entender onde ele roda e com quem ele conversa.
Ambientes de Processamento
-
TSO/E
-
ISPF
-
Batch TSO
-
Batch não-TSO
-
z/VM (CMS / CP)
O mesmo EXEC pode se comportar de forma totalmente diferente dependendo do ambiente.
📌 Easter egg de sobrevivência:
Se você não sabe em que ambiente está, o erro não é do REXX — é seu.
Ambientes de Comandos
REXX não executa comandos diretamente.
Ele endereça comandos a um ambiente específico.
address tso "listcat level('USER01')" address ispexec "display panel(MYPANEL)"
Isso explica por que REXX é tão poderoso:
ele fala a língua do sistema.
🧱 Fundamentos do REXX – Simples, mas não simplório
Filosofia da linguagem
-
Tudo é string
-
Conversão automática quando necessário
-
Pouca pontuação
-
Código legível
-
Menos regras, mais resultado
say 'Hello, Mainframe!'
Sem ponto e vírgula.
Sem BEGIN obrigatório.
Sem cerimônia.
📌 Curiosidade perigosa:
Variáveis não inicializadas não geram erro.
Elas retornam o próprio nome.
Ótimo para debug… péssimo se você não souber 😄
Entrada, saída e lógica
-
SAY→ saída -
PULL→ entrada (stack) -
IF / THEN / ELSE -
DO / END -
EXIT
Aqui o REXX começa a mostrar sua vocação: automatizar decisões, não apenas executar código.
🖥️ REXX e o Ambiente TSO – Onde a mágica começa
Com REXX você:
-
aloca datasets
-
consulta catálogos
-
automatiza comandos
-
elimina JCL desnecessário
address tso "allocate fi(arq1) da('user.test.ps') shr" address tso "listalc"
📌 Comentário Bellacosa:
REXX + TSO = menos JCL, menos erro, menos dor de cabeça.
📦 CLISTs x EXECs – O passado e o presente
CLIST fez história.
Mas o REXX fez melhor.
-
EXECs são mais poderosos
-
Mais legíveis
-
Mais fáceis de manter
-
Melhor integração
Entender a sequência de busca (SYSEXEC, SYSPROC…) é obrigatório.
📌 Easter egg clássico:
“EXEC não encontrado” quase sempre é DD errado, não código errado.
🔁 Programação REXX – Onde o iniciante vira sysprog
Aqui o REXX mostra que não é brinquedo:
-
Funções e subrotinas
-
Escopo de variáveis
-
DO composto
-
ITERATE e LEAVE
-
SELECT (case statement elegante)
-
SIGNAL e SIGNAL VALUE
-
INTERPRET (meta-programação!)
cmd = "say 'REXX é poderoso'" interpret cmd
📌 Comentário raiz:
INTERPRET é um sabre de luz.
Poderoso… mas não entregue para qualquer padawan.
🌳 Variáveis, Strings e o poder do PARSE
Stems – arrays antes dos arrays
nome.1 = 'Ana' nome.2 = 'João' nome.0 = 2
PARSE – o superpoder escondido
parse var linha campo1 ',' campo2
📌 Curiosidade:
PARSE elimina dezenas de IFs, SUBSTRs e gambiarras.
📂 EXECIO – O mini DFSORT do dia a dia
"EXECIO * DISKR ARQ1 (STEM LIN.)"
Com EXECIO você:
-
lê arquivos
-
grava datasets
-
processa linhas
-
automatiza relatórios
Tudo sem sair do REXX.
🧪 Depuração – Porque errar faz parte
REXX não te abandona quando algo dá errado:
-
TRACE -
RC -
SIGL -
SOURCELINE -
CONDITION
📌 Curiosidade histórica:
Debug nativo em REXX era luxo quando muitas linguagens nem sonhavam com isso.
⚙️ Batch, endereços e ambientes avançados
REXX roda:
-
em batch TSO
-
fora do TSO
-
em múltiplos ambientes de comando
say address()
📌 Comentário Bellacosa:
Antes de perguntar “por que falhou”, pergunte “onde estou rodando”.
🚀 Compilador REXX – Performance e proteção
Sim, REXX pode ser compilado:
-
melhora performance
-
protege código
-
usado em ambientes críticos
Mesmo compilado, ele não perde sua alma dinâmica.
☕ Conclusão – Por que REXX vira amigo
REXX não tenta competir com COBOL.
Não substitui Assembler.
Não briga com produtos enterprise.
Ele faz algo muito mais valioso:
👉 resolve problemas reais com o que já existe no sistema.
Quem domina REXX:
-
automatiza mais
-
depende menos
-
entende melhor o ambiente
-
sobrevive melhor no data center
No mainframe, o melhor amigo
não é o software mais caro…
é o que resolve às 3 da manhã.
Bem-vindo ao REXX.
Ele sempre esteve aí. ☕🖥️
domingo, 20 de outubro de 2013
🔎 Guia Prático de Comandos TSO para Padawans
🔎 Guia Prático de Comandos TSO para Padawans
Salve jovem padawan em nosso segundo artigo de 2026, vamos mergulhar um pouco em comandos de linha no TSO, onde poderemos explorar melhor o sistema Z, criar dataset, consultar, limpar, alocar e testar.
Ganhando velocidade em nosso desenvolvimento e dominando melhor o ambiente Z, seja bem-vindo e conto com seu comentarios e criticas para melhorarmos e irmos mais longe.
Para não apanhar do terminal logo no login
🧠 Antes de tudo: o que é TSO de verdade?
TSO (Time Sharing Option) não é:
❌ só uma tela preta
❌ um “modo antigo”
❌ um castigo divino
TSO é:
A interface raiz do z/OS para trabalhar diretamente com o sistema.
Se o mainframe fosse um avião:
- TSO é o painel cru de instrumentos
- ISPF é o cockpit amigável
Todo mainframeiro de respeito precisa saber sobreviver no TSO puro.
⌨️ Sintaxe básica do TSO (lei universal)
COMANDO OPERANDO PARÂMETROSRegras não escritas:
- Espaço separa argumentos
- Parênteses organizam opções
- Aspas protegem nomes longos
- Abreviações são comuns (e perigosas 😈)
📂 Comandos essenciais para datasets
📌 LISTDS – listar datasets
LISTDS 'USERID.*'🔎 Dica El Jefe:
- Use LEVEL para evitar varrer o catálogo inteiro
LISTDS LEVEL(USERID)⚠️ Perigo:
- LISTDS * pode virar pecado mortal em produção
📌 DELETE – apagar datasets
DELETE 'USERID.TESTE.ARQUIVO'☠️ Atenção:
- Não existe lixeira
- Apagou, rezou
📌 RENAME – renomear
RENAME 'USERID.OLD' 'USERID.NEW'📖 Visualização de conteúdo
📌 LISTCAT – catálogo é lei
LISTCAT ENTRIES('USERID.ARQ') ALLUse quando:
- Dataset “existe mas não existe”
- Erro estranho de allocation
- Discussão com storage admin 😎
📌 PRINT – ver conteúdo
PRINT DS('USERID.ARQ')⚠️ Não abuse com arquivos grandes. Seu spool agradece.
⚙️ Execução e controle de ambiente
📌 ALLOC – alocar datasets
ALLOC FI(ARQ1) DA('USERID.TESTE') SHR🧠 Tradução humana:
- FI = nome lógico
- DA = dataset físico
- SHR = leitura compartilhada
📌 FREE – liberar alocação
FREE FI(ARQ1)Nunca confie que o sistema vai limpar sozinho.
📤 Trabalhando com JOBs
📌 SUBMIT – enviar JCL
SUBMIT 'USERID.JCL.TESTE'🔥 Dica El Jefe:
- Use SUBMIT * dentro do editor para ganhar tempo
📌 STATUS – ver jobs ativos
STATUSSimples. Antigo. Funcional.
👤 Usuário e sessão
📌 PROFILE – perfil do usuário
PROFILEMostra:
- Prefixo
- Tamanho de região
- Opções ativas
📌 LOGOFF – sair com dignidade
LOGOFFNunca feche o navegador achando que “tá tudo bem”.
🧨 Erros clássicos de padawan
❌ Digitar dataset sem aspas
❌ Apagar sem conferir
❌ LISTDS muito genérico
❌ Esquecer FREE
❌ Confundir TSO com ISPF
🥚 Easter-eggs de veterano
- Muitos comandos aceitam abreviação
- HELP funciona (sim, sério)
HELP LISTDS- TSO responde melhor quando você é educado (quase)
🎓 Palavra final do El Jefe
Quem domina TSO, domina o chão de fábrica do mainframe.
ISPF é conforto. TSO é poder.
Aprender TSO não te torna antigo. Te torna consciente do que o sistema realmente faz.
.png)