| Bellacosa Mainframe apresenta o CICS CEMT |
💥 CEMT NÃO É COMANDO — É PODER: O Guia Definitivo de CICS para Dev COBOL que Quer Dominar Produção
Se você ainda vê CICS só como “onde seu COBOL roda”, você está usando 10% do potencial.
O restante — os outros 90% — está nos comandos CEMT, onde você controla, diagnostica e salva produção em tempo real.
Este artigo é um mergulho completo: história, prática, cenários reais, pegadinhas de prova e segredos de produção.
🧠 1. De onde vem o CEMT (e por que ele existe)
O CICS (Customer Information Control System) nasceu nos anos 60 para resolver um problema que ainda existe hoje:
“Como processar milhares de transações simultâneas com consistência?”
A resposta foi:
- Transações online
- Controle de recursos
- Gerenciamento de concorrência
E para operar tudo isso… nasceu o CEMT (CICS Master Terminal).
👉 Pense nele como:
- o kubectl do mainframe
- o console root do CICS
⚙️ 2. O DNA do CEMT (grave isso!)
CEMT I → INQUIRE (ver)
CEMT S → SET (alterar)
CEMT P → PERFORM (executar)
💡 Esse trio resolve 90% dos incidentes reais.
🔍 3. INQUIRE — enxergando o CICS por dentro
🎯 Comandos essenciais
CEMT I TASK
CEMT I UOWENQ
CEMT I FILE
CEMT I TRA
CEMT I CONN
CEMT I TER
💣 Cenário real: “Sistema travado”
CEMT I TASK
Você encontra:
TASK 1234 TRAN PAY1 STATUS RUNNING TIME 999999
💥 Loop detectado.
👉 Easter egg:
TASK com tempo “absurdo” quase sempre é loop ou espera infinita.
🔒 4. ENQUEUE — o assassino silencioso
CEMT I UOWENQ
Você vê:
RESOURCE ACCOUNT
HELD BY TASK 0020
WAITING TASK 0032
💥 Clássico:
- 32 sofre
- 20 é o culpado 😈
👉 Curiosidade:
80% dos “CICS lentos” são lock (e não CPU).
💣 5. SET — o poder de intervenção
🔹 Transações
CEMT S TRA(PAY1) DIS
CEMT S TRA(PAY1) ENA
💡 Uso real:
- bug em produção → DIS
- fix aplicado → ENA
🔹 Files
CEMT S FI(CLIENTE) OPEN
CEMT S FI(CLIENTE) ENA
👉 Easter egg:
ENABLED ≠ OPEN (isso derruba muita gente!)
🔹 Tasks
CEMT S TASK(1234) PURGE
💥 Isso:
- mata loop
- libera lock
- salva produção
🔹 Connections
CEMT S CONN(MRO2) INS
💡 Quando usar:
- integração entre regiões caiu
- terminal “não conecta”
🧨 6. PERFORM — ações pesadas
🔻 Shutdown
CEMT P SHUT
CEMT P SHUT I
CEMT P SHUT FORCE
| Tipo | Quando usar |
|---|---|
| SHUT | normal |
| SHUT I | travou |
| FORCE | caos |
👉 Easter egg:
FORCE = “puxar o cabo da tomada”
📦 Dump
CEMT P DUMP TITLE('ERRO COBOL')
💡 Isso é:
- snapshot da memória
- base para análise no IPCS
🔬 Trace
CEMT S AUX STA
👉 Liga o auxiliary trace
👉 Usado para bugs intermitentes
🚀 7. Startup & Shutdown (vida e morte do CICS)
🔻 Shutdown
F CICSTS62,CEMT P SHUT
🚀 Startup
S CICSTS62
Você verá no log:
Control is being given to CICS
💥 Esse é o “CICS ONLINE”
💣 8. Performance tuning (o que realmente importa)
👉 Não é CPU.
👉 É:
- Lock (ENQUEUE)
- DB2
- I/O
- Commit
🔍 Diagnóstico rápido
CEMT I TASK
CEMT I UOWENQ
CEMT I FILE
👉 Curiosidade real:
Se o CICS está lento, 80% de chance é DB2 segurando lock.
🔥 9. CICS + DB2 (onde mora o problema sério)
O DB2 usa o IRLM para controlar locks.
Cenário clássico:
Task A → UPDATE → lock X
Task B → WAIT
Task C → WAIT
💥 fila cresce → sistema trava
🧠 10. Dump analysis (nível especialista)
Você gera:
CEMT P DUMP TITLE('ASRA')
Analisa no IPCS:
- PSW → onde caiu
- Call stack → quem chamou
- Storage → dados corrompidos
👉 Easter egg:
S0C7 quase sempre é dado inválido vindo de input
⚠️ 11. Pegadinhas de prova (e da vida)
| Errado | Certo |
|---|---|
| FILE | FI |
| TRANSACTION | TRA |
| ENABLED | ENA |
| INSERVICE | INS |
👉 E às vezes:
ENA → vira só E 😈
🧨 12. Fluxo real de incidente
Usuário reclama
↓
CEMT I TASK
↓
CEMT I UOWENQ
↓
Identificar culpado
↓
PURGE
↓
Corrigir recurso
↓
Validar
🏆 13. O que separa um dev COBOL comum de um especialista
| Dev | Especialista |
|---|---|
| escreve código | resolve incidente |
| espera suporte | vira suporte |
| conhece COBOL | domina ambiente |
💣 FRASE FINAL (GUARDA ESSA)
“COBOL executa…
mas quem manda no ambiente é o CEMT.”
🚀 Se você chegou até aqui…
Você já está:
- acima de 90% dos devs
- preparado para produção
- pronto para falar com sysprog