Translate

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

sábado, 2 de maio de 2026

🚨💥 SIMULADOR CICS — “GUERRA EM PRODUÇÃO” 💥🚨

 

Bellacosa Mainframe apresenta um Simulador CICS

🚨💥 SIMULADOR CICS — “GUERRA EM PRODUÇÃO” 💥🚨

🎮 Modo: Interativo | 🎯 Objetivo: Restaurar o serviço sem causar dano colateral

Você está no comando de uma região do IBM CICS em produção.


🎬 CENÁRIO INICIAL

🕐 10:02 — Pico de acesso
📍 Região: CICS01
📍 Aplicação crítica: pagamentos

💥 Sintomas:

  • Tempo de resposta > 5s
  • CPU subindo rápido
  • Usuários travando
  • Chamados explodindo 😄

🧠 FASE 1 — PRIMEIRA DECISÃO

Você precisa agir rápido.

❓ O que você faz primeiro?

A) Reinicia o CICS
B) Analisa logs e tasks
C) Derruba todas as tasks
D) Ignora (pode ser pico)

👉 Escolha mentalmente antes de continuar


✅ RESPOSTA CORRETA: B

👉 Reiniciar = impacto massivo
👉 Derrubar tudo = caos
👉 Ignorar = carreira curta 😄


🔍 FASE 2 — INVESTIGAÇÃO

Você executa:

CEMT I TASK

🔥 Resultado:

  • 40 tasks da transação PAY1
  • Todas RUNNING
  • Mesmo USERID

❓ Próxima ação?

A) Esperar normalizar
B) Filtrar por transação
C) Derrubar aleatoriamente
D) Reiniciar região

👉 Escolha…


✅ RESPOSTA: B

CEMT I TASK TRA(PAY1)

👉 Agora você tem visibilidade total


📊 FASE 3 — DIAGNÓSTICO

Você analisa uma task:

CEMT I TASK TAS(401)

🔎 Observação:

  • CPU TIME alto
  • STATUS: RUNNING
  • Sem I/O

👉 Isso indica:

A) Espera de recurso
B) Loop CPU
C) Falha de rede
D) Storage baixo


✅ RESPOSTA: B (LOOP CPU)

🔥 Você achou o vilão.


☠️ FASE 4 — DECISÃO CRÍTICA

Agora vem a parte que separa operador de sysprog.

❓ O que fazer?

A) PURGE uma task
B) FORCEPURGE todas
C) Desabilitar transação
D) Nada


✅ RESPOSTA IDEAL: A + C

💥 Execução:

CEMT SET TASK(401) PURGE

Depois:

CEMT SET TRAN(PAY1) DISABLED

👉 Você:

  • remove impacto imediato
  • evita novas ocorrências

🧬 FASE 5 — INVESTIGAÇÃO PROFUNDA

Agora você precisa entender a causa.

💥 Gerar dump:

CEMT SET TRD(PAY1) DUMP

🔎 Análise com:

  • IBM IPCS
  • IBM Fault Analyzer

💣 Resultado:

  • Loop em programa COBOL
  • Falta de condição de saída

👉 Erro clássico de desenvolvimento 😄


🧯 FASE 6 — ESTABILIZAÇÃO

Você monitora:

CEMT I SYS

✅ Resultado:

  • CPU normalizando
  • Tasks reduzindo
  • Usuários voltando

🔧 FASE 7 — PÓS-INCIDENTE

Agora entra maturidade real.

📋 Ações obrigatórias:

  • Corrigir código
  • Criar alerta de CPU
  • Monitorar transação
  • Revisar deploy

🏁 RESULTADO FINAL

🧾 SCORE

CritérioResultado
Tempo de reação⚡ Excelente
Impacto evitado🛡️ Alto
Diagnóstico🧠 Correto
Ação🎯 Precisa

👉 🎉 Você salvou a produção.


🧩😄 VARIAÇÕES DO SIMULADOR (PRÓXIMO NÍVEL)

Se quiser evoluir o treinamento:

💣 Cenário 2

  • Deadlock com DB2

💥 Cenário 3

  • MQ travando fila

🔥 Cenário 4

  • SOS (Short on Storage)

⚡ Cenário 5

  • Região inteira degradando

🎯💬 FECHAMENTO

Esse tipo de simulador treina:

  • raciocínio sob pressão
  • tomada de decisão
  • domínio real de CICS

👉 Porque no mundo real:

“Quem hesita… derruba produção.”

 

sexta-feira, 1 de maio de 2026

🚨💥 LAB CICS: “A TASK QUE PAROU A EMPRESA” — DO CAOS À RECUPERAÇÃO 💥🚨

 

Bellacosa Mainframe desafio LAB C|ICS

🚨💥 LAB CICS: “A TASK QUE PAROU A EMPRESA” — DO CAOS À RECUPERAÇÃO 💥🚨

🎬 🎯 CENÁRIO

📍 Ambiente: Produção
📍 Região: CICS01
📍 Horário: 10:17 (pico)
📍 Sintoma:

  • Usuários travados
  • Tempo de resposta absurdo
  • CPU subindo
  • Reclamação geral 😄

👉 Clássico incidente crítico.


🧠🔥 FASE 1 — DETECÇÃO (O ALERTA)

🔎 Primeira ação: ver mensagens

CEMT I SYS

👉 Você percebe:

  • Tasks acumulando
  • Sistema lento

Agora vá direto ao log:

CEBR CSMT

💣 Você encontra:

DFHAC2001 TRANSACTION PAY1 ABENDED WITH CODE ASRA

👉 Tradução:

  • Programa quebrando (provável S0C4)
  • Pode estar em loop/restart

🕵️‍♂️ FASE 2 — IDENTIFICAR O PROBLEMA

🔍 Listar tasks:

CEMT I TASK

🔥 Saída suspeita:

Tas(000345) Tra(PAY1) Use(APPUSR) Sta(RUN)
Tas(000346) Tra(PAY1) Use(APPUSR) Sta(RUN)
Tas(000347) Tra(PAY1) Use(APPUSR) Sta(RUN)

👉 ALERTA:

  • Mesma transação
  • Mesmo user
  • Muitas instâncias
  • Todas rodando

💡 Possível cenário:

  • Loop
  • Deadlock
  • Programa bugado

🎯 Filtro cirúrgico:

CEMT I TASK TRA(PAY1)

👉 Resultado:

  • 30+ tasks abertas 😄

Agora ficou sério.


📊⚡ FASE 3 — ANÁLISE DE CONSUMO

🔎 Ver comportamento:

CEMT I TASK TAS(345)

👉 Observe:

  • CPU TIME alto
  • STATUS RUNNING contínuo
  • Sem I/O

👉 Isso é clássico:

🔥 LOOP CPU (runaway task)


🧬 FASE 4 — INVESTIGAÇÃO PROFUNDA (DUMP)

Agora você quer prova técnica.

💥 Gerar dump:

CEMT SET TRD(PAY1) DUMP

ou automático via abend


🧠 Análise do dump:

Ferramentas:

  • IBM IPCS
  • IBM Fault Analyzer

🔎 Você encontra:

  • Loop em programa COBOL
  • Parágrafo sem EXIT 😄
  • Variável nunca alterada

👉 Bingo.


☠️💣 FASE 5 — CONTENÇÃO (AÇÃO IMEDIATA)

Agora você precisa salvar o ambiente.

💥 Derrubar tasks:

CEMT SET TASK(345) PURGE

Se resistir:

CEMT SET TASK(345) FORCEPURGE

👉 Repita para as demais:

CEMT I TASK TRA(PAY1)

🚫 Bloquear entrada da transação:

CEMT SET TRAN(PAY1) DISABLED

👉 Isso evita novas execuções


🧯 FASE 6 — ESTABILIZAÇÃO

Agora observe:

CEMT I SYS

👉 Esperado:

  • CPU normalizando
  • Tasks reduzindo
  • Sistema respondendo

💡 Se não normalizar:

  • Ver DB2 locks
  • Ver filas MQ
  • Ver storage

🔧 FASE 7 — CORREÇÃO DEFINITIVA

Agora vem o pós-incidente.

📌 Ações:

  • Corrigir programa COBOL
  • Revisar lógica de loop
  • Adicionar timeout/escape
  • Validar com QA

🧠💡 FASE 8 — LIÇÕES DE OURO

👉 Sempre monitore:

  • Transações com crescimento rápido
  • CPU anormal
  • Tasks duplicadas

👉 Crie alertas para:

  • ASRA recorrente
  • Volume de tasks
  • Tempo de resposta

🧩😄 EASTER EGGS DO LAB

  • “Toda FORCEPURGE tem história”
  • “Loop em COBOL sempre aparece na sexta”
  • “Se tem ASRA em massa… prepara café” ☕

🧪🎯 QUIZ — NÍVEL OPERADOR / SYSPROG

1️⃣ O que indica muitas tasks RUNNING com CPU alto?

A) I/O intenso
B) Loop CPU
C) Problema de rede
D) Storage baixo

👉 Resposta: B


2️⃣ Comando para ver tasks:

A) CEDF
B) CEMT I TASK
C) CICS LIST
D) DISPLAY TASK

👉 Resposta: B


3️⃣ Diferença entre PURGE e FORCEPURGE?

A) Nenhuma
B) FORCEPURGE força finalização imediata
C) PURGE é mais agressivo
D) PURGE mata região

👉 Resposta: B


4️⃣ O que é ASRA?

A) Timeout
B) Falha lógica COBOL
C) Erro de storage/execução
D) Deadlock

👉 Resposta: C


5️⃣ Melhor ação inicial?

A) Reiniciar CICS
B) Derrubar tudo
C) Analisar tasks e logs
D) Ignorar

👉 Resposta: C


🎯💬 FECHAMENTO ESTILO BELLOCAZZA

Ser SysProg de CICS não é saber comando.

É:

  • ler comportamento
  • antecipar desastre
  • agir rápido
  • e salvar produção sem pânico

👉 Porque no mundo real:

“Uma única task errada… pode derrubar milhares de usuários.”

 

quarta-feira, 29 de abril de 2026

🚀💥 CICS: O “CONTROLADOR DE TRÁFEGO” DO MAINFRAME — ONDE TASKS NASCEM, EXECUTAM… E ÀS VEZES PRECISAM SER ELIMINADAS 💥🚀

 

Bellacosa Mainframe CICS para Sysprogs

🚀💥 CICS: O “CONTROLADOR DE TRÁFEGO” DO MAINFRAME — ONDE TASKS NASCEM, EXECUTAM… E ÀS VEZES PRECISAM SER ELIMINADAS 💥🚀

Se você é SysProg raiz, sabe: o IBM CICS não é só um subsistema — é um organismo vivo.
Milhares de transações pulsando por segundo, usuários conectados, filas, locks, DB2, MQ… e no meio disso tudo: você, com a responsabilidade de manter tudo fluindo.

Aqui vai um guia no estilo “mão na massa + café forte” pra dominar o gerenciamento do CICS no dia a dia.


🧠🔥 VISÃO MENTAL DO CICS (ANTES DE OPERAR)

Pense no CICS como:

  • Dispatcher → controla quem executa
  • Tasks (TCA) → unidades de trabalho
  • Terminal/User → origem da transação
  • Programs → lógica (COBOL, PL/I…)
  • Resources → VSAM, DB2, MQ

👉 Cada ENTER do usuário vira uma task
👉 Cada task consome CPU, storage e locks
👉 E sim… algumas tasks travam tudo 😄


🕵️‍♂️🔍 1. VENDO LOGS COMO UM DETETIVE

No CICS, erro nunca vem sozinho. Ele deixa rastro.

📌 Principais logs:

  • CSMT → mensagens gerais
  • CSM1 → log auxiliar
  • Transient Data Queue (TDQ) → logs customizados
  • SMF 110 → performance e auditoria

🔎 Exemplo clássico:

DFHAC2001 TRANSACTION ABCD ABENDED WITH CODE ASRA

👉 Tradução Bellacosa:

“Alguém fez besteira no programa — provavelmente S0C4 disfarçado” 😄


👤🆔 2. IDENTIFICANDO USER E TASK EM TEMPO REAL

Aqui começa o jogo de verdade.

📌 Transação chave:

CEMT I TASK

Isso mostra:

  • Task Number
  • Transaction ID
  • UserID
  • Status (RUNNING, WAITING…)
  • CPU Time

🔥 Exemplo:

Tas(000123) Tra(ABCD) Use(USER01) Sta(RUN)

👉 Você já sabe:

  • Quem → USER01
  • O quê → ABCD
  • Qual → Task 123

💡 Dica de ouro:

CEMT I TASK USE(USER01)

👉 Filtra direto no usuário (perfeito pra incidentes)


☠️💣 3. DERRUBANDO TASK (QUANDO O CAOS CHEGA)

Quando uma task trava:

  • segura recurso
  • explode CPU
  • trava fila inteira

👉 Você entra com autoridade:

💥 Comando:

CEMT SET TASK(123) PURGE

⚠️ Versão nuclear:

CEMT SET TASK(123) FORCEPURGE

👉 Diferença:

  • PURGE → educado
  • FORCEPURGE → “sai ou eu te mato” 😄

💡 Cuidado:

  • Pode deixar dados inconsistentes
  • Use quando não há alternativa

📊⚡ 4. MONITORANDO PERFORMANCE E CONSUMO

Aqui mora o SysProg de elite.

📌 Transações importantes:

  • CEMT I SYS → visão geral
  • CEMT I TASK → consumo por task
  • CEMT I TRAN → estatísticas de transação

🔎 Indicadores críticos:

  • CPU time alto
  • Tasks WAITING (lock?)
  • Storage crescente
  • Response time degradando

🧠 Dica avançada (nível hard):

Use SMF 110 + ferramentas como:

  • IBM OMEGAMON
  • IBM RMF

👉 Isso revela:

  • Top consumidores
  • Gargalos invisíveis
  • Tendência de carga

🛠️📋 5. CHECKLIST DE SOBREVIVÊNCIA DO SYSPROG CICS

Quando der problema, siga isso:

✅ Passo a passo real:

  1. Ver logs (CSMT)
  2. Identificar erro (abend?)
  3. Listar tasks

    CEMT I TASK
  4. Filtrar usuário/transação
  5. Ver consumo
  6. Decidir ação
    • aguardar
    • PURGE
    • FORCEPURGE
  7. Validar impacto
  8. Registrar ocorrência

🧩💡 EASTER EGGS DE QUEM VIVE CICS

👉 😄 “Toda ASRA tem uma história triste por trás”
👉 😄 “Se precisa dar FORCEPURGE… alguém fez deploy na sexta”
👉 😄 “Task WAITING sem motivo = lock escondido no DB2”


🏛️📜 CURIOSIDADES QUE POUCA GENTE SABE

  • O IBM CICS nasceu nos anos 60 (!!)
  • Ainda hoje processa bilhões de transações/dia
  • Grande parte dos caixas eletrônicos do mundo passam por ele
  • Ele é um dos sistemas mais resilientes já criados

🎯💬 COMENTÁRIO FINAL (NA VEIA)

Gerenciar CICS não é rodar comando.

É:

  • entender comportamento
  • prever problema
  • agir rápido
  • e às vezes… tomar decisões duras

👉 Porque no fim do dia:

“CICS parado não é sistema fora — é empresa parada.”

 

segunda-feira, 27 de abril de 2026

🔥💣 CICS TOR + AOR NA VEIA — O LAB QUE TRANSFORMA SEU MAINFRAME EM UM CLUSTER DE GUERRA 💣🔥

 

Bellacosa Mainframe CICS TOR AOR na pratica

🔥💣 CICS TOR + AOR NA VEIA — O LAB QUE TRANSFORMA SEU MAINFRAME EM UM CLUSTER DE GUERRA 💣🔥

Se você já leu teoria e ainda não “atravessou o portal” do TOR/AOR… relaxa. Isso é clássico. CICS distribuído só faz sentido quando você monta, quebra e conserta. Então bora pro LAB estilo Bellacosa: mão na massa, sem firula, com dicas de quem já tomou S0C4 na madrugada 😄


🧠 VISÃO RÁPIDA (SEM ENROLAÇÃO)

  • TOR (Terminal Owning Region)
    👉 Onde os terminais conectam (3270 / usuários)
  • AOR (Application Owning Region)
    👉 Onde os programas COBOL rodam
  • Comunicação: MRO (Multi-Region Operation) via ISC (Inter-System Communication)

🧪 LAB — ARQUITETURA

[ USER / 3270 ]
|
(TOR)
|
MRO / ISC
|
(AOR)
|
DB2 / VSAM

⚙️ PRÉ-REQUISITOS

  • CICS TS instalado (qualquer versão moderna serve)
  • 2 regiões CICS (ou 2 STCs diferentes)
  • VTAM ativo
  • JES2 rodando
  • RACF (opcional, mas recomendado)

🏗️ PASSO 1 — CRIAR AS DUAS REGIÕES

Você precisa de:

  • CICSTOR
  • CICSAOR

👉 Copie uma região base:

//COPYTOR EXEC PGM=IEBCOPY

Crie duas cópias do DFHRPL / DFHCSD

💡 Dica Bellacosa:
Nunca compartilhe DFHCSD no começo. Separe. Depois você evolui.


⚙️ PASSO 2 — CONFIGURAR TOR

No TOR:

  • Sem lógica de negócio
  • Só roteamento

RDO (CEDA)

DEFINE TERMINAL(...)
DEFINE CONNECTION(AORCONN)
DEFINE SESSION(AORSESS)
DEFINE SYSID(AOR1)

⚙️ PASSO 3 — CONFIGURAR AOR

No AOR:

  • Programas ativos
  • Transações reais
DEFINE PROGRAM(MYPROG)
DEFINE TRANSACTION(MYTX)

💡 Aqui é onde mora o COBOL raiz.


🔗 PASSO 4 — CONFIGURAR MRO (O PULO DO GATO)

No TOR:

DEFINE CONNECTION(AOR1)
GROUP(MRO)
NETNAME(AOR1)

DEFINE SESSION(AOR1)
CONNECTION(AOR1)
PROTOCOL(LU62)

No AOR:

DEFINE CONNECTION(TOR1)
DEFINE SESSION(TOR1)

🔥 PASSO 5 — TRANSACTION ROUTING

No TOR:

DEFINE TRANSACTION(MYTX)
PROGRAM(MYPROG)
REMOTESYSTEM(AOR1)

💥 BOOM: agora o TOR encaminha pro AOR


🧪 PASSO 6 — TESTE

  1. Loga no TOR
  2. Digita MYTX
  3. Execução ocorre no AOR

👉 Se funcionar: você virou outro profissional
👉 Se não funcionar: bem-vindo ao mundo real 😄


🚨 TROUBLESHOOTING (OU “POR QUE NÃO FUNCIONA?”)

❌ SYSIDERR

  • SYSID não definido igual nos dois lados

❌ APPC / ISC DOWN

  • VTAM não levantou sessão

❌ TRANSID NOT FOUND

  • Definição não está no TOR

❌ AEI0 / AEY9

  • Problema de routing / security

💡 Dica de ouro:
Use:

CEMT I CONN
CEMT I SESS

💣 DICAS DE GUERRA (ESSAS NÃO TEM EM LIVRO)

  • TOR NÃO roda lógica → se rodar, você já errou arquitetura
  • AOR pode escalar horizontalmente
  • MRO local é mais simples que IPIC (comece por ele!)
  • Sempre versione DFHCSD
  • Nome de SYSID tem que bater EXATAMENTE

🧠 CURIOSIDADES (RAIZ MAINFRAME)

  • TOR/AOR surgiu para escala antes da nuvem existir
  • É basicamente um load balancer dos anos 80
  • Grandes bancos usam isso até hoje com dezenas de AORs

📦 EXEMPLO REAL (SIMPLIFICADO)

TOR → recebe 5000 usuários
AOR1 → contas
AOR2 → crédito
AOR3 → investimentos

👉 Cada AOR especializado
👉 TOR só roteia


📚 MATERIAL DE APOIO (OURO PURO)

Se você quer atravessar de vez:

  • IBM CICS Transaction Server Documentation (IBM Docs)
  • Redbook:
    👉 CICS Intercommunication Guide
  • Curso oficial IBM:
    👉 CICS TS System Administration

💡 Dica sincera:
O melhor material ainda é… quebrar ambiente e arrumar


🧪 DESAFIO FINAL (NÍVEL HARD)

  • Crie 2 AORs
  • Faça load balancing manual
  • Simule falha de um AOR
  • Veja o TOR redirecionando

👉 Se fizer isso: você não é mais iniciante


💥 FECHAMENTO ESTILO BELLOCAZA

CICS distribuído não é teoria.
É arquitetura viva.

Você não aprende lendo…
👉 aprende quando dá erro às 3 da manhã e você resolve.

Bellacosa Mainframe mão na massa CICS TOR AOR

🔥💣 LAB COMPLETO CICS TOR + AOR — DO ZERO AO “ROUTING FUNCIONANDO” 💣🔥

JCL + DFHCSD + RDO + TESTE REAL (estilo Bellacosa: direto ao ponto, mas com os macetes que evitam horas de dor)

Objetivo: levantar duas regiões CICS (TOR e AOR), configurar MRO/ISC, publicar uma transação roteada e testar ponta a ponta.


🧠 ARQUITETURA DO LAB

[ 3270 USER ]
|
TOR (CICSTOR)
|
MRO / ISC
|
AOR (CICSAOR)
|
PROG COBOL / VSAM

📦 CONVENÇÕES USADAS

  • TOR: CICSTOR (SYSID = TOR1)
  • AOR: CICSAOR (SYSID = AOR1)
  • Transação: MYTX
  • Programa: MYPROG
  • Grupo RDO: GRPTOR, GRPAOR, GRPMRO

💡 Regra de ouro: nomes idênticos (SYSID/CONNECTION/SESSION) nos dois lados — 80% dos erros somem aqui.


🏗️ 1) PROVISIONAR AS REGIÕES (JCL)

▶️ CICSTOR (TOR)

//CICSTOR PROC
//CICS EXEC PGM=DFHSIP,REGION=0M,
// PARM='CICSTOR,SYSID=TOR1'
//STEPLIB DD DSN=CICS.SDFHLOAD,DISP=SHR
//DFHCSD DD DSN=CICSTOR.DFHCSD,DISP=SHR
//DFHRPL DD DSN=CICSTOR.LOADLIB,DISP=SHR
//DFHPRINT DD SYSOUT=*
//DFHLOG DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD DUMMY

▶️ CICSAOR (AOR)

//CICSAOR PROC
//CICS EXEC PGM=DFHSIP,REGION=0M,
// PARM='CICSAOR,SYSID=AOR1'
//STEPLIB DD DSN=CICS.SDFHLOAD,DISP=SHR
//DFHCSD DD DSN=CICSAOR.DFHCSD,DISP=SHR
//DFHRPL DD DSN=CICSAOR.LOADLIB,DISP=SHR
//DFHPRINT DD SYSOUT=*
//DFHLOG DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD DUMMY

💡 Dica Bellacosa:
Separe DFHCSD por região no início. Compartilhar cedo = confusão garantida.


🧱 2) INICIALIZAR DFHCSD (SE AINDA NÃO EXISTIR)

//DEFCTLG EXEC PGM=DFHCSDUP
//STEPLIB DD DSN=CICS.SDFHLOAD,DISP=SHR
//DFHCSD DD DSN=CICSTOR.DFHCSD,DISP=SHR
//SYSIN DD *
DEFINE GROUP(GRPTOR) DESCRIPTION(TOR BASE)
DEFINE GROUP(GRPMRO) DESCRIPTION(MRO TOR)
/*

Repita para AOR mudando dataset e grupos (GRPAOR, GRPMRO).


🔗 3) RDO — MRO (CONNECTION + SESSION + SYSID)

▶️ NO TOR (CICSTOR)

CEDA DEF SYSID(AOR1) GROUP(GRPMRO)

CEDA DEF CONNECTION(AOR1) GROUP(GRPMRO)
NETNAME(AOR1)
ACCESSMETHOD(VTAM)

CEDA DEF SESSION(AOR1) GROUP(GRPMRO)
CONNECTION(AOR1)
PROTOCOL(LU62)
MAXIMUM(10)

▶️ NO AOR (CICSAOR)

CEDA DEF SYSID(TOR1) GROUP(GRPMRO)

CEDA DEF CONNECTION(TOR1) GROUP(GRPMRO)
NETNAME(TOR1)
ACCESSMETHOD(VTAM)

CEDA DEF SESSION(TOR1) GROUP(GRPMRO)
CONNECTION(TOR1)
PROTOCOL(LU62)
MAXIMUM(10)

💡 Macete crítico:
NETNAME deve bater com definição VTAM/APPLID.


🧠 4) AOR — PROGRAMA + TRANSAÇÃO

CEDA DEF PROGRAM(MYPROG) GROUP(GRPAOR)
LANGUAGE(COBOL)

CEDA DEF TRANSACTION(MYTX) GROUP(GRPAOR)
PROGRAM(MYPROG)

💻 COBOL EXEMPLO (MYPROG)

IDENTIFICATION DIVISION.
PROGRAM-ID. MYPROG.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-MSG PIC X(40) VALUE 'RODANDO NO AOR COM SUCESSO'.

PROCEDURE DIVISION.
EXEC CICS SEND TEXT FROM(WS-MSG)
ERASE FREEKB
END-EXEC.
EXEC CICS RETURN END-EXEC.

🚀 5) TOR — TRANSACTION ROUTING

👉 Aqui acontece a mágica

CEDA DEF TRANSACTION(MYTX) GROUP(GRPTOR)
PROGRAM(MYPROG)
REMOTESYSTEM(AOR1)

💥 Isso diz:
“Quando digitarem MYTX no TOR → manda pro AOR1”


▶️ 6) SUBIR AS REGIÕES

//S TOR
//S AOR

Ou via JES2:

/S CICSTOR
/S CICSAOR

🧪 7) TESTE REAL

  1. Loga no TOR
  2. Digita: MYTX
  3. Resultado esperado:
RODANDO NO AOR COM SUCESSO

👉 Se apareceu: você DOMINOU MRO básico


🚨 8) TROUBLESHOOTING RAIZ

🔍 Ver conexões

CEMT I CONN
CEMT I SESS

🔴 Problemas clássicos

  • SYSIDERR → SYSID não bate
  • ISC CLOSED → VTAM não subiu
  • AEY9 → routing errado
  • NOTAUTH → RACF bloqueando

💣 DICAS DE PRODUÇÃO (OURO)

  • Nunca misture lógica no TOR
  • Use múltiplos AORs para escala
  • Versione DFHCSD (backup sempre!)
  • Comece com MRO → depois evolua pra IPIC
  • Monitore com SMF 110

🧠 CURIOSIDADE DE ARQUITETURA

TOR/AOR é literalmente o ancestral do microserviço + load balancer.
Década de 80… já resolvendo problema de escala que muita stack moderna ainda sofre 😄


📚 MATERIAL DE APOIO (SE QUISER IR MAIS FUNDO)

  • IBM CICS Transaction Server Docs (IBM)
  • Redbook: CICS Intercommunication Guide
  • CEDA / CEMT Reference Guide

🧪 DESAFIO HARD (PRÓXIMO NÍVEL)

  • Criar 2 AORs (AOR1 + AOR2)
  • Duplicar MYPROG
  • Alternar REMOTESYSTEM manualmente
  • Simular queda de AOR1

👉 Se fizer isso… você já pensa como arquiteto CICS


💥 FECHAMENTO

Isso aqui não é só um lab.
É o momento que separa quem leu sobre CICS de quem opera CICS de verdade.