🔥 File Handling no CICS
☕ Midnight Lunch, arquivo aberto e o NOTFND clássico
12h55.
A transação entra.
O operador olha o console.
Você já sabe o final:
NOTFND
E alguém pergunta, com a serenidade de quem já sofreu:
“Esse arquivo está OPEN?”
Hoje o prato principal é File Handling no CICS — VSAM, controle de concorrência, comandos, erros clássicos e aquela sabedoria que só o mainframe ensina com dor.
🏛️ História: arquivos online antes do “real-time” virar moda
Antes de:
-
NoSQL
-
APIs
-
Microservices
o CICS já fazia acesso concorrente a arquivos VSAM, com controle transacional, locking fino e integridade garantida.
📌 File Handling no CICS é um tratado de engenharia.
🧠 Conceito essencial (grave isso)
Arquivo no CICS não é batch
Cada READ é uma negociação com o sistema
Aqui não existe “abre, lê tudo e fecha”.
📂 Tipos de arquivos usados no CICS
📌 VSAM KSDS
-
O mais comum
-
Acesso direto por chave
-
Ideal para online
📌 VSAM ESDS
-
Acesso sequencial
-
Muito usado para log
📌 VSAM RRDS
-
Acesso relativo
-
Menos comum, mas existe
📌 Se não é VSAM, pense duas vezes antes de usar no CICS.
🛠️ Principais comandos de File Handling
🔹 READ
Lê um registro por chave ou sequencial.
🔹 WRITE
Inclui novo registro.
🔹 REWRITE
Atualiza registro existente.
🔹 DELETE
Remove registro.
🔐 Concorrência e locking (onde mora o perigo)
READ com UPDATE
-
Bloqueia o registro
-
Exige REWRITE ou DELETE depois
READ sem UPDATE
-
Leitura limpa
-
Sem lock
📌 UPDATE sem REWRITE é pecado capital.
🧠 File Handling e transação (UOW)
CICS garante:
-
Atomicidade
-
Consistência
-
Rollback automático em caso de abend
Se a task cai:
-
Updates não commitados voltam
-
Locks são liberados
📌 CICS faz isso há décadas.
⚠️ Erros clássicos (easter eggs)
🐣 NOTFND tratado como erro fatal
🐣 DUPREC em produção às 14h
🐣 READ UPDATE esquecido (deadlock)
🐣 Arquivo fechado no CICS
🐣 DELETE sem validar dependências
🐣 Ignorar RESP1 / RESP2
📌 Todo file handling errado vira incidente.
🛠️ Passo a passo Bellacosa (fluxo seguro)
Defina intenção (ler ou alterar)
1️⃣ READ sem UPDATE para validar
2️⃣ READ UPDATE se for alterar
3️⃣ Tratar NOTFND e DUPREC
4️⃣ REWRITE ou DELETE imediatamente
5️⃣ Logar erros relevantes
📌 Lock curto é sinal de maturidade.
📦 Integração com Recovery
-
Arquivos participam da UOW
-
Backout automático se houver erro
-
Logs garantem consistência
📌 CICS é ACID antes do termo existir.
📦 Integração com TSQ, TDQ e logs
Boas práticas:
-
TSQ para staging temporário
-
TDQ para auditoria de alterações
-
Log funcional separado de log técnico
📌 Arquivo sem log é auditoria esperando desastre.
📚 Guia de estudo para mainframers
Estude com carinho:
-
VSAM internals
-
CICS File Control
-
Locking e ENQ/DEQ
-
RESP / RESP2
-
Recovery e backout
CEMT I FILE
📖 Manual essencial: CICS File Control Guide
🤓 Curiosidades de boteco mainframe
🍺 CICS controla lock em nível de registro
🍺 Muitos sistemas ainda usam ESDS como log
🍺 RRDS quase ninguém usa, mas ele está lá
🍺 Já vi READ UPDATE sem REWRITE travar região inteira
🍺 KSDS já sustentou banco inteiro
🍺 READ UPDATE mal usado é vilão silencioso
🍺 CICS libera lock até em abend (milagre técnico)
🍺 Já vi arquivo “perfeito” virar gargalo por lógica ruim
💬 Comentário El Jefe Midnight Lunch
“Arquivo não trava sistema.“Arquivo em CICS é compromisso.
Leu com UPDATE? Case e honre.”
Programador que segura lock, sim.”
🚀 Aplicações reais hoje
-
Core bancário
-
Cadastro de clientes
-
Processamento de seguros
-
Sistemas governamentais
-
Plataformas 24x7
Sistemas de pagamento
-
Seguros e previdência
-
Governo e utilities
-
Ambientes híbridos VSAM + DB2
🎯 Conclusão Bellacosa
File Handling no CICS é simples na sintaxe
e profundo no impacto.
É disciplina, tempo e respeito à concorrência.
Quem domina:
-
Evita deadlock
-
Mantém integridade
-
Ganha confiança do ambiente
🔥 Arquivo mal tratado não perdoa.
🔥 CICS não é lento. Lento é o desenho errado.
Sem comentários:
Enviar um comentário