Você está na página 1de 7

CICS

INTRODUCAO
O Que Cics ?

O CICS (Customer Information Control System), que composto de vrios mdulos/programas de gerenciamento, um sistema de dados e de comunicao de dados desenvolvido pela IBM para rodar em equipamentos IBM e compatveis. Este sistema permite que sejam transmitidos dados de um terminal para o computador, que estes dados sejam processados, acessem arquivos (podem ser tambm bancos de dados) e sejam ento transmitidos de volta ao terminal de origem.

Para este processamento, o sistema precisa usar um software de telecomunicaes (por exemplo , VTAM, TCAM ou BTAM) e um ou mais dos seguintes mtodos de acesso : VSAM, BDAM, ISAM ou DL/I. Desta maneira, pode-se dizer que o CICS um sistema de banco de dados/comunicao de dados (DB/DC). O CICS ir suportar as seguintes linguagens de programao : COBOL, Assembler, PL/I e RPG II.

O CICS pode ser executado sob os sistemas MVS, VSE, VM ou OS/2. Os programas podem ser transportados de um ambiente para outro com pouca ou mesmo nenhuma alterao.

Existem tambm dois nveis de codificao do CICS, a saber : Macro, que similar ao assembler; e Command, que similar ao COBOL. importante no esquecer que o CICS roda sob o controle do sistema operacional. A forma semelhante ao Assembler chamada de MACRO LEVEL e a outra forma de codificar instrues para o CICS em um programa o COMMAND LEVEL

O que processamento ON-LINE ?

Processamento ON-Line do ponto de vista do CICS o recebimento de informaes (dados) do terminal, manipulao destas informaes e, a seguir o envio de uma mensagem de volta ao usurio. Tudo isto pode normalmente ser feito em questo de segundos em um sistema CICS. Neste tipo de transao , cada vez que o operador pressiona a tecla ENTER, o software de comunicao verifica se o terminal vlido. Isso possvel graas a tabela de controle de terminal (TCT). As informaes sobre o terminal, basicamente, seriam : identificao do terminal, modelo, tamanho da tela e status.

Podemos entender que as aplicaes Batch so diferentes das aplicaes ON-Line tendo em vista que cada uma trabalha em uma rea especfica. Dentro de sua regio o CICS trabalha com vrias aplicaes simultaneamente, pois, trata-se de uma das caractersticas multi-tarefas do CICS.

Para que esses recursos sejam utilizados de maneira satisfatria preciso observar que um programa de aplicao no pode se comunicar diretamente com o sistema operacional. Para tanto, quando isso se fizer necessrio, a aplicao deve recorrer ao CICS que ento ir se comunicar com o sistema operacional.

Devemos considerar tambm que o programa de aplicao no deve abrir ou fechar arquivos, pois, o CICS executar essas funes no momento apropriado. Quanto um programa COBOL, devemos considerar que o comando STOP RUN/GOBACK

preciso, porm, quando um desses comandos executado o programa encerra o CICS, fazendo com que toda a rede entre em OFF Line.

Dessa forma, afim de atender ao COBOL e ao CICS ao mesmo tempo, colocamos essas instrues em uma regio do programa CICS a qual no ser executada. Essa rea ser aps o comando RETURN ou XTCL. (veremos adiante). Toda aplicao ON-Line deve retornar o controle para o CICS.

O CICS divide a memria utilizada basicamente em 2 partes :

Ncleo : Contm os mdulos e tabelas do CICS.

Mdulos Principais

TCP (Terminal Control Program) - Controla o envio e recebimento de mensagens envolvendo terminais.

KCP (Task Control Program) - Controla as mltiplas Task que esto sendo executadas concorrentemente. Para cada task, o KCP cria um bloco na DAS chamado TCA (Task Control rea), que contm informaes sobre a task (registradores do programa, endereo do terminal associado, nmero da task, etc.).

PCP (Program Control Program) - Controla a execuo de programas de aplicao; gerencia programas e tabelas.

FCP (File Control Program) - Controla e manipula datasets VSAM e BDAM.

SCP (Storage Control Program) - Embora transparente ao programador, este mdulo muito importante, pois gerencia toda a memria utilizada na execuo do CICS.

DAS (Dynamic Storage Area) - uma rea de memria reservada pelo CICS em tempo de inicializao para armazenar principalmente dados de utilizao temporria. Os programas de aplicao, reas de trabalho de aplicaes, algumas reas de controle do CICS so armazenados nesta rea. A DAS alocada acima da linha dos 16 Mb chamada EDSA (Extended DSA).

Tabelas CICS

O CICS administra recursos do usurio que esto definidos em tabelas. Estas tabelas podem ser compiladas e sero carregadas na memria na fase de inicializao do CICS.

As quatro principais tabelas do CICS so :

TCT (Terminal Control Table) - Contm a descrio dos terminais a serem reconhecidos pelo CICS. Para cada terminal deve ser criada uma entrada e infomado o nome pelo qual o CICS reconhecer este terminal e como ele reconhecido pela rede, e tambm as caractersticas deste terminal (impressora ou vdeo, por exemplo).

PCT (Program Control Table) Contm os dados das transaes que podem ser solicitadas, como nome do programa a ser acionado, prioridade , etc.

PPT (Processing Program Table) - Descreve as caractersticas dos programas que podem ser executados. Devem ser informados nome do programa, linguagem, etc.

FCT (File Control Table) - armazena as informaes referentes s caractersticas dos arquivos que sero manipulados pelo CICS. Devem ser informados nome, mtodo de acesso, operaes permitidas (READ, UPDATE, INSERT, etc.).

O processamento de uma transao iniciado quando o operador tecla o cdigo no terminal. possvel executar uma mesma transao em dois ou mais terminais concorrentes e o CICS atribui um nmero para cada task. As instrues do programa (Procedure Division no COBOL) so partilhadas por todas as tasks, mas a rea de dados (Working-Storage Section, no COBOL) copiada para cada task.

Os programas projetados com esta caracterstica so chamados de semi-reentrantes. As reas referentes a Procedure, a Working e as reas criadas para gerenciamento da task esto localizados na DAS (Dynamic Storage Area).

Comandos de CICS
Aqui alguns exemplos de comandos de CICS e como eles podem ajudar.

Os comandos precisam de um prefixo, que pode variar conforme variam a Automacao de um sistema, mas o prefixo comum seria:

F cicsname, - E logo apos a virgula entra a sintax do comando.

Os comandos que contem a letra I sao de display e os que tem a letra S sao os de modificar algo e os P sao usados para parar o CICS.

Comandos para Task de CICS

CEMT I AMA - Mostra numero de Tasks ativas

CEMT I MAX - Mostra o numero de Tasks

CEMT S MAX,XXX - Muda o numero maximo de Tasks do CICS

CEMT I TAS - Display de Task

CEMT I TAS TR(*) - Mostra os numeros das Tasks de todas as transacoes

CEMT S TAS(XXXX) PURGE - Comando para purgar uma Task

CEMT S TAS(XXXX) FORCEPURGE - Comando que forca o purge de uma Task

CEMT I TCL - Mostra numero de classes de Task

CEMT S TCL(XX) MAX(YY) - Muda a classe das Tasks

Comandos para Terminais de CICS

CEMT I TER - Mostra os terminais de um CICS

CEMT I TER(*) ACQ - Mostra os terminais que estao Acquired

CEMT I TER(*) OUT - Mostra os terminais que estao Out Of Service

CEMT I TER(XXXX) - Mostra um terminal especifico

CEMT S TER(cics id) INS - Coloca um terminal (LU) em Inservice

As outras opcoes deste comando, alem do In Service sao:

ACQ OUT Para

Para colocar

um o terminal

Acquire em Out

de Of

terminal Service

REL - Para um Release de terminal

Comandos para Transacao de CICS

CEMT I TRAN - Mostra as transacoes deste CICS

CEMT I TRAN(XXXX) - Mostra uma transacao especifica

CEMT S TRAN(XXXX)ENA/DIS - Opcoes do comando para Enable (habilitar) e Disable (desabilitar) uma transacao

+++Comandos para o CICS propriamente dito

CEMT P SHUT - Para o CICS, mas ele termina o que estava fazendo e deixa os Jobs terminarem seus acessos

CEMT P SHUT IMMED - Faz o Shutdown do CICS imediatamente, parando tudo o que ele eta fazendo

CEMT P SHUT DUMP - Para o CICS e faz um DUMP

CEMT P SNAP - Faz um DUMP do CICS sem ele parar

Comandos para Databases de CICS

CEMT I DLI(dbname) - Display de um File de Database

CEMT S DLI(DBNAME)START/STOP - Para ou inicializa um File de Database

Comandos para Printers e Terminais de VTAM no CICS

CEMT I NET - Display de printer de CICS

CEMT I NET(XXXXXX) - Display em uma printer de CICS

CEMT I NET(vtamid) - Display de terminal de VTAM

CEMT S NET(XXXXXX) INS - Coloca a Printer In Service.

As opcoes deste comando, alem do In Service tambem pode ser:

OUT ACQ REL - Para Release

Para

colocar Para

Out

Of

Service Acquire

CEMT

NET(vtamid)

INS -

Faz

um

Acquire

de

uma

LU

pelo

VTAM

ID,

colocando

In

Service

As opcoes deste comando, alem do In Service tambem pode ser:

OUT ACQ REL - Para Release

Para

colocar Para

Out

Of

Service Acquire

Comandos para Programas de CICS

CEMT I PRO(*) - Display dos programas do CICS

CEMT I PRO(program name) - Display de um programa especifico

CEMT S PRO(XXXXXX) ENA - Para dar um Enable em um programa.

As opcoes deste comando, alem do Enable tambem pode ser:

DIS -

Para

um

Disable

do

programa

NEW - Para criar um novo programa

Comandos para Datasets de DUMP do CICS

CEMT S DUMP OPEN - Comando que abre os Datasets de DUMP.

As opcoes deste comando sao:

CLOSE - Que fecha os Datasets de DUMP

SWITCH - Que muda os Datasets de DUMP

Comandos para TRACE

CEMT S TRACE ON/OFF - Comando que inicia ou para o TRACE no cics que seria usado para Debugging

Comandos para VTAM ACB no CICS

CEMT S VTAM OPEN - Comando que abre o VTAM ACB no CICS

As opcoes deste comando sao:

OPEN IMMED - Abre o VTAM ACB imediatamente

CLOSE - fecha o VTAM ACB

FORCECLOSE - Fecha o VTAM ACB mais rapido, mas nao corretamente

FORCECLOSE,IMMED - Fecha o VTAM ACB mais rapido e para tudo no CICS que use VTAM

Comandos para arquivos VSAM no CICS

CEMT I DA(file) - Para display de files

Este coamando pode ter ainda as seguintes variacoes:

CEMT I DA(file) OPEN - Para abrir arquivo VSAM

OPEN ENA - Para abrir e habilitar

CLOSE - Para fechar file

CLOSE DIS - Fecha e desabilita

Comandos para Tabela de Banco de Dados do CICS

DBOC INQ=??? - Permite checar todas as tabelas de bancos de dados

DBOC CLOSE=??? - Fecha todas as tabelas de bancos de dados

DBOC OPEN=??? - Abre todas as tabelas de bancos de dados

Este comando tambem funciono com uma tabela especifica:

DBOC INQ=xxxxxxxx - Permite checar uma tabela

DBOC CLOSE=xxxxxxxx - Fecha uma tablela

DBOC OPEN=xxxxxxxx - Abre uma tabela