CICS, Transação, Programa, Mapa e Arquivo

Nesta videoaula, você será introduzido ao universo do CICS (Customer Information Control System), o sistema de controle de transações mais utilizado no mundo Mainframe IBM z/OS. Se até aqui você estudou processamento em batch (JCL, COBOL batch, utilitários), agora entra em cena o processamento online: aquele em que o usuário interage em tempo real com o sistema através de terminais ou emuladores. Bancos, seguradoras, companhias aéreas, operadoras de cartão de crédito e praticamente todo grande sistema corporativo do mundo depende do CICS para processar milhões de transações por dia. Compreender seus conceitos fundamentais é obrigatório para qualquer profissional que deseje atuar com Mainframe em ambiente produtivo.

O CICS é um middleware, ou seja, uma camada de software que fica entre o sistema operacional z/OS e as aplicações de negócio. Ele gerencia recursos, controla concorrência, garante integridade de dados, faz o gerenciamento de transações (commit e rollback) e fornece uma interface padronizada para que programas COBOL, PL/I, Assembler ou Java possam ser executados sob demanda. Nesta aula, nosso foco será nos quatro pilares conceituais do CICS: transação, programa, mapa e arquivo. Cada um deles tem um papel específico e todos trabalham em conjunto para entregar uma experiência online ao usuário final.

Os quatro pilares do CICS:

  • Transação (TRANSACTION): Uma transação é a unidade de trabalho do CICS. Ela é identificada por um código de até quatro caracteres (por exemplo, MENU, INQ1, CAD1) que o usuário digita no terminal para iniciar uma operação. Ao digitar esse código, o CICS consulta sua tabela de definições (PCT – Program Control Table) e localiza qual programa deve ser executado. A transação é, portanto, o gatilho que dispara a execução de um programa. Conceitos importantes: TRANID, TCLASS, prioridade, e o fato de que uma transação pode executar um ou mais programas em sequência.

  • Programa (PROGRAM): O programa é o código executável propriamente dito — normalmente escrito em COBOL, mas podendo estar em outras linguagens. No CICS, o programa é registrado na PPT (Processing Program Table) e possui atributos como linguagem, tamanho, residência (residente ou não) e status (habilitado ou desabilitado). O programa recebe o controle quando a transação é iniciada e é responsável por processar a lógica de negócio: ler dados, validar informações, acessar arquivos, atualizar registros e enviar respostas ao terminal. É importante entender que o CICS não executa programas diretamente: ele os carrega em suas regiões de armazenamento e os invoca através de comandos como EXEC CICS LINK, EXEC CICS XCTL ou EXEC CICS RETURN.

  • Mapa (MAP): O mapa é a representação da tela que o usuário vê no terminal. Ele é criado com a ferramenta BMS (Basic Mapping Support) e definido em um conjunto de macros (DFHMSD, DFHMDI, DFHMDF). O mapa define posições de campos, atributos (protegido, não protegido, intensidade, cor), rótulos e áreas de entrada e saída. Em tempo de execução, o programa envia o mapa ao terminal através do comando EXEC CICS SEND MAP e recebe os dados digitados pelo usuário via EXEC CICS RECEIVE MAP. O mapa físico é compilado e armazenado em uma biblioteca de load modules, sendo referenciado pelo programa no momento da execução.

  • Arquivo (FILE): No CICS, os arquivos são chamados de datasets e são gerenciados pelo próprio CICS através do FCT (File Control Table). Um arquivo CICS pode ser um KSDS VSAM, um ESDS, um RRDS ou até mesmo um arquivo sequencial. Para acessá-lo, o programa utiliza comandos como EXEC CICS READ, EXEC CICS WRITE, EXEC CICS REWRITE, EXEC CICS DELETE e EXEC CICS STARTBR/READNEXT/ENDBR para navegação. O CICS controla o acesso concorrente, garantindo que múltiplos usuários possam ler e escrever sem corromper os dados. Também é responsável pelo gerenciamento de locks, pela recuperação em caso de falha e pela integridade transacional através de commit e rollback.

  • Como os quatro elementos se relacionam:

    O fluxo típico de uma transação CICS é o seguinte:

    1. O usuário digita o código da transação (ex.: CAD1) no terminal.

    2. O CICS consulta o PCT e identifica o programa associado.

    3. O programa é carregado (ou já está na memória) e inicia sua execução.

    4. O programa envia um mapa ao terminal (SEND MAP), e o usuário preenche os campos.

    5. O usuário pressiona Enter, e o CICS devolve o controle ao programa (RECEIVE MAP).

    6. O programa processa os dados, acessando arquivos via comandos de file control.

    7. O programa envia uma nova tela de resposta ou confirmação ao usuário.

    8. Ao final, a transação é finalizada com EXEC CICS RETURN, e o CICS libera os recursos.

Esse ciclo se repete milhares de vezes por segundo em ambientes de produção. A eficiência do CICS está justamente na capacidade de gerenciar múltiplas transações concorrentes, alocando e liberando recursos de forma otimizada.

Conceitos complementares apresentados na aula:

  • Regiões CICS: A instância do CICS em execução, também chamada de CICS region.

  • Terminal e TCT: O Terminal Control Table gerencia os terminais conectados.

  • PCT, PPT, FCT e TCT: As tabelas de definição que registram transações, programas, arquivos e terminais.

  • Comunicação com o usuário: Telas 3270, atributos de campo, teclas de função (PF Keys), teclas de atenção (PA Keys) e CLEAR.

  • Pseudoconversação: O modelo de programação em que a transação “termina” a cada interação, mas mantém o estado através do COMMAREA. Esse é o segredo da escalabilidade do CICS.

Por que estudar CICS agora?

Todo profissional de Mainframe precisa saber diferenciar processamento batch de processamento online. O batch executa grandes volumes de dados sem interação; o online responde ao usuário em milissegundos. O CICS é o coração do online. Sem ele, não existiriam caixas eletrônicos, consultas de saldo em tempo real, reservas de passagens, autorizações de cartão ou atendimento em agências bancárias. Aprender CICS é aprender como os sistemas críticos do mundo funcionam de verdade.

Exercícios sugeridos:

  1. Liste cinco sistemas que você usa no dia a dia que provavelmente rodam em CICS.

  2. Pesquise e anote as diferenças entre EXEC CICS LINK e EXEC CICS XCTL.

  3. Descreva, em suas palavras, o que é pseudoconversação e por que ela é importante.

  4. Identifique em um fluxo hipotético qual seria a transação, o programa, o mapa e o arquivo.

Conclusão:

Ao final desta aula, você terá uma visão clara e estruturada dos quatro pilares do CICS. Compreender transação, programa, mapa e arquivo é o primeiro passo para se tornar capaz de desenvolver, manter e dar suporte a aplicações online em Mainframe. Nas próximas aulas, veremos na prática como definir cada um desses elementos no ambiente CICS e como integrá-los em um sistema funcional.

Bons estudos e até a próxima aula!

Ainda tem dúvidas?

Entre em contato conosco para mais informações via whatsapp abaixo.

Formulário para WhatsApp

Envie suas dúvidas sobre o CiCS, Transação, Programa, Mapa Arquivo, via whatsapp aqui

Participe!

 Doar para a “Future School EAD” é essencial para manter e expandir o acesso à educação gratuita em informática. Esta escola oferece cursos de alta qualidade sem custo, capacitando jovens e adultos com habilidades essenciais para o mercado de trabalho atual.

Sua contribuição permite que mais pessoas transformem suas vidas por meio do aprendizado digital, reduzindo desigualdades sociais e promovendo a inclusão digital. Apoiar a Future School EAD é investir em um futuro mais justo e tecnológico para todos.

 

Participe do grupo do WhatsAapp (11-98342.2503) no plantão de dúvidas (Sábados).

Você quer ajudar a manter este site?

PIX é celular (11-98342.2503) Favorecido: Jorge Gilberto.

Descubra uma ampla variedade de cursos online para expandir seus conhecimentos e impulsionar sua carreira.

Inscrição | Formulário Transparente

Inscrever

Receba nossas novidades e atualizações por e-mail.

© 2017/2024 Future School EAD. Todos os direitos reservados | Desenvolvido por Alberto Lima Soluções Digitais.

© 2017/2024 Future School EAD. Todos os direitos reservados | Desenvolvido por Alberto Lima Soluções Digitais.