CICS. Customer Information Control System. Carlos J E de Campos. G u i a d e R e f e r ê n c i a

Tamanho: px
Começar a partir da página:

Download "CICS. Customer Information Control System. Carlos J E de Campos. G u i a d e R e f e r ê n c i a"

Transcrição

1 Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas e Pensamentos D e s e n v o l v i m e n t o C O B O L M a i n f r a m e G u i a d e R e f e r ê n c i a S e g u n d a e d i ç ã o S ã o P a u l o 2013

2 Carlos J E de campos, 2013 Capa: Alexandra Hardt Carlini Diagramação: Carlos J E de Campos Revisão: Neusa Pallione É proibida a reprodução total ou parcial desta obra, de qualquer forma ou por qualquer meio sem a autorização prévia e por escrito do autor. A violação dos Direitos Autorais (Lei n.º 9610/98) é crime estabelecido pelo artigo 184 do Código Penal Todos os direitos desta obra pertencem a Carlos J E de Campos

3 C I C S Agradecimentos Agradeço a Deus por ter-me colocado na trilha do conhecimento. Agradeço à minha filhota, Vanessa Soares de Campos, por ser a minha fonte de esperança e por mostrar compreensão e paciência em muitos momentos da nossa vida. Agradeço, também, à Ana Maria Alves Justino, pelo apoio e incentivo para a criação desta obra. Agradeço aos meus pais Alice de Assunção Esteves Costa e José Manuel Lopes Moreira de Campos, por terem-me dado a vida, educação, formação moral e muito apoio. Agradeço ao amigo Roberto Azem, que sempre esteve por perto, nos momentos de estudo e naqueles em que precisava de ouvidos e conselhos. Agradeço ao companheiro Benedito Aparecido Alves, pelo apoio que tem me dado nesta segunda fase dos meus livros, acompanhando-me no dia a dia do trabalho, ouvindo-me e apoiando-me com o seu conhecimento e sabedoria. Benê, como é conhecido, tem sido um grande conselheiro. Reflexão Para adquirir conhecimento é preciso estudar, para adquirir sabedoria é preciso observar. Autor: William Arthur Ward w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 3

4 N ã o e s t a m o s a q u i p a r a p a g a r n e m s o b r e v i v e r, m a s s i m, p a r a v e n c e r, a d q u i r i n d o s a b e r. & U s e m o s o c o n h e c i m e n t o c o m é t i c a e m o r a l.

5 C I C S Introdução O CICS (Customer Information Control System) é um produto (software, sistema) da IBM composto de vários módulos, programas de gerenciamento, de comunicação e gerenciamento de dispositivos, execução de programas e da transmição de dados entre terminal-programa-terminal. É um aplicativo, que é executado, com o objetivo de gerenciar as solicitações das aplicações e, deste modo, fornecer meios próprios para controlar as entradas e saídas de dados do sistema operacional garantindo a integridade dos dados para o alto volume de solicitações que podem ocorrer simultaneamente. Funciona como um sistema operacional para carregar e controlar todos os programas aplicativos de telas, os buffers de todos os arquivos abertos e compartilhados pelos programas aplicativos, além das suas tabelas próprias para gerenciar todo o conjunto. Para viabilizar este ambiente, o CICS controla todos os programas que estão interagindo com os terminais, exibindo (mostrando) as telas e lendo os teclados, assim como todos os arquivos usados por estes programas. História O CICS foi desenvolvido em 1968 e tornou-se programa produto da IBM em Já completou 40 anos, consolidando sua posição no mercado, devido a sua constante evolução e, hoje, é um produto importantíssimo para suportar a comunicação com a as aplicações da WEB. Os sistemas de grandes empresas estão fornecendo seus sistemas, no ambiente WEB por apresentar Telas (Interface) amigáveis (mais bonitas e com mais recursos), mas mantendo seus dados e suas respectivas regras de negócio no ambiente mainframe. A sua poderosa capacidade de administrar faz com que consiga controlar a execução de centenas de aplicativos em tempo real e ao mesmo tempo. Esta obra Esta obra tem como objetivo passar para as pessoas que desejam conhecer o ambiente CICS e, como utilizar a linguagem de programação COBOL dentro do CICS utilizada em ambientes z/os e OS/390, Mainframe da IBM. Oferece uma base teórica e prática, suficientemente boa, para que o leitor domine a criação, manutenção e utilização em programas COBOL CICS. A abordagem segue uma sequência, de forma que o leitor possa compreender como os dados podem ser incluídos, lidos, alterados, excluídos e listados e, como cada comando trabalha. Reflexão E conhecereis a verdade e a verdade vos libertará. João 8:32 w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 5

6 Os comandos são apresentados com a sua sintaxe básica e explicados a partir de pequenos programas apresentados especificamente e criados para esse fim, que podem ser usados para praticar e realizar testes. Público-Alvo As informações contidas neste livro podem ser aprendidas e aplicadas por qualquer pessoa que deseje conhecer e programar em COBOL com o CICS. Os conceitos, o método estruturado e as lógicas são apresentados numa ordem, como forma de melhorar a compreensão e são acompanhados por figuras para ilustrar e aumentar a clareza das informações. Com a finalidade de reforçar e consolidar o aprendizado, cada comando é apresentado com a sua sintaxe básica e com um exemplo da sua aplicação e uso na programação COBOL. Pré-Requisitos Para desenvolver sistemas comerciais em COBOL CICS que utilizem arquivos VSAM e banco de dados DB2, é necessário conhecer a sua linguagem, a sua sintaxe e as suas regras, mas, para elaborar programas nesta linguagem ou em outra, é preciso ter conhecimento sobre lógica de programação. É somente com a lógica de programação que se conseguem elaborar programas que atendam a algum propósito de negócio, com eficiência. Para que o leitor possa tirar maior proveito dos conhecimentos apresentados neste livro, é aconselhável que conheça: Lógica de programação estruturada Linguagem COBOL Banco de dados DB2 É aconselhada a leitura do livro de LÓGICA do mesmo autor que explica, passo a passo, a construção de algoritmos e de lógicas de programação, depois, o livro de COBOL e, em seguinda o livro DB2. Esta obra está aderente ao programa de formação de Especialista em Desenvolvimento de Programação COBOL Mainframe, CMCPDS - Certified Mainframe COBOL Program Development Specialist, fornecido pelo instituto ICPDUG - INTERNATIONAL COBOL PROGRAM DEVELOPER USERS GROUP. Para mais informações, visite o site ou entre em contato através do do autor: Reflexão Muitos homens iniciaram uma nova era na sua vida a partir da leitura de um livro. Autor: Henry Thoreau

7 C I C S A formação de um desenvolvedor especialista em COBOL Mainframe envolve diversas áreas do conhecimento, necessárias para a atuação que o profissional precisa ter no desempenho da sua atuação. São seis módulos específicos de conhecimento que se completam: Lógica, COBOL, DB2, CICS, JCL e TSO. Formação de especialista COBOL A formação completa segue uma sequência, de acordo com um planejamento, para a integração de todos os módulos e, com isso, potencializar a sinergia vinda de cada área de conhecimento. Por exemplo, primeiro se desenvolve o racíocino e se aprende a construir algoritmos e lógicas de programação; depois, se aprende a estrutura de linguagem de programação com os seus comandos e constrói-se programa com base nas lógicas de programação aprendidas. A seguir, aprende-se o banco de dados onde estarão armazenados os dados e, finalmente, aprende-se a estrutura do ambiente online do Mainframe, a forma de programação pseudoconversacional e, o JCL, linguagem de administra a execução de programas batch. No módulo de LÓGICA, são abordados como se constrói algoritmos e lógicas de programação. No módulo de COBOL, são vistos toda a teoria e estrutura da linguagem de programação e todos os comandos principais e básicos para desenvolver a grande maioria dos programas. No módulo de DB2, são abordados a teoria e estrutura básica de um banco de dados e, todos os comandos principais e básicos para desenvolver programas que utilizam o banco de dados DB2 em programas COBOL. No módulo de CICS, são vistos toda a teoria e estrutura do ambiente, a forma de programação pseudoconversacional e, todos os comandos principais e básicos para desenvolver a grande maioria dos programas online. No módulo de JCL, são vistos toda a teoria e estrutura da linguagem de programação e todos os comandos principais e básicos para desenvolver a grande maioria das soluções necessárias para a execução dos programas batch. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 7

8 Metodologia dos cursos O assunto novo é apresentado ao aluno, através da apresentação de SLIDES animados e coloridos e tiradas as dúvidas sobre o tópico. Para praticar o conhecimento novo, o aluno é solicitado a realizar o exercício, no caso: criar algoritmo ou programa. Após o tempo para criar a primeira solução, é apresentado; via SLIDES animados e coloridos, a solução do exercício, tirando todas as dúvidas possíveis. Para consolidar e poder tirar novas dúvidas do tópico do conhecimento, são solicitados, em média de dois a quatro exercícios na aula. A solução dos exercícios propostos é apresentada, via SLIDES animados e coloridos. E para tentar consagrar o conhecimento, é solicitado, em média de três a seis exercícios extras para o aluno fazer fora as horas das aulas. E, para tentar tirar possíveis dúvidas remanescentes, são reservados os primeiros minutos de cada aula, para tirar dúvidas. Objetivo do método Este método tem como objetivo alcançar os mais diversos indivíduos (visual, auditivo ou cinestésico) para que tomem consciência dos conceitos. Todo o método está baseado na indução do raciocínio, para que se crie a lógica necessária. Com isto, a energia necessária gasta com o esforço para criar a lógica é gasta durante o treinamento. Depois de formado, o individuo passa a raciocinar automaticamente com muito menor esforço. Por exemplo, quando houver uma solicitação que seja necessária à criação de duas quebras, uma dentro da outra, o raciocínio vem automaticamente e, à medida que vai elaborando a lógica, o seu formato já vem no padrão aprendido. Benefícios do método Rever conceitos Consolidar Exercícios Os benefícios do método aplicado podem se resumir no seguinte: Ampliação das possibilidades de aprendizagem Aumento do desempenho no raciocínio lógico Acomodação crescente do conhecimento Consolidação das estruturas lógicas Facilidade de criar a solução lógica Apresentar Conceito Apresentar Solução Tirar dúvidas Praticar exercícios

9 C I C S Certificação para desenvolvedor Mainframe O instituto ICPDUG (INTERNATIONAL COBOL PROGRAM DEVELOPER USERS GROUP), para valorizar a área de desenvolvimento de sistema, fornece o exame de certificação para desenvolvedor COBOL Mainframe, com o objetivo de identificar o especialista em desenvolvimento de sistemas COBOL Mainframe. Objetivo da certificação A certificação vem agregar valor para a empresa, na medida em que vai avaliar o conhecimento para a necessidade específica que o profissional precisa ter, possibilitando a criação de um quadro de profissionais altamente qualificados e nivelados com o objetivo de planejar, definir e criar sistemas e programas com eficiência e qualidade. E para o profissional, vem para valorizar a sua capacitação, a sua formação, diferenciando-o dos demais profissionais, fornecendo-lhe as credencias de um profissional especialista, aderente com as necessidades de conhecimento específico. Como é a certificação O certificado de Especialista em COBOL Mainframe, CMCPDS - Certified Mainframe COBOL Program Development Specialist (Especialista em Desenvolvimento de Programação COBOL Mainframe). O especialista máster recebe o título, após ter obtido todas as certificações para as seguintes especialidades: LÕGICA - Programação estruturada COBOL - Linguagem de programação DB2 - Sistema Gerenciador de Banco de Dados Relacional CICS - Sistema Gerenciador de ambiente ONLINE JCL - Linguagem de controle Batch Para mais informações, acesse o site ou utilize o Reflexão Em algum lugar, algo incrível está esperando para ser descoberto. Autor: Carl Seagan w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 9

10 Página deixada em branco

11 C I C S Sumário Agradecimentos... 3 Introdução... 5 Formação de especialista COBOL... 7 Metodologia dos cursos... 8 Objetivo do método... 8 Benefícios do método... 8 Certificação para desenvolvedor Mainframe... 9 Objetivo da certificação... 9 Como é a certificação... 9 Sumário Notação utilizada Como codificar subparâmetros coluna linha literal nomeáreadatahora nomeáreadedados nomeáreadomapao nomeáreadomapai nomeáreadoregistro nomearquivo nomecampo nomechavearquivo nomecondiçãoerro nomedeflinhats nomefilats w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 11

12 nomemapset nomemapa nomeparagrafo nomeprograma nometransação nrodoitem posição tamanhoárea Introdução ao CICS O que é CICS Método de acesso VTAM Controladores O que é processamento ON-LINE Múltiplas execuções de um programa Como o programa é executado Como o programa é terminado Regras para programa COBOL Funções do programa no ambiente Batch Funções do programa no ambiente On-Line Compilação Como entrar no ambiente CICS Estrutura do CICS Arquitetura do CICS Uma visão da estrutura do CICS Memória do CICS Núcleo gerenciador FCP - File Control Program KCP - Task Control Program PCP - Program Control Program SCP - Storage Control Program TCP - Terminal Control Program TSP - Temporary Storage Program... 45

13 C I C S TDP - Transient Data Program DCP - Dump Control Program ICP - Interval Control Program BMS - Basic Mapping Support ISC - Intercommunication Control Program Tabelas de controle FCT - File Control Table PCT - Program Control Table PPT - Program Processing Table TCT - Terminal Control Table KCT - Task Control Table DSA - Dynamic Storage Area Blocos de controle Áreas de dados Interna Área de dados temporária Memória Temporária Formato da Memória Temporária Controle de terminal Receber dados do terminal Enviar dados para o terminal Tecla de função como comando, DFHAID Controle de programa Chamar um programa e retornar Chamar um programa e não retornar Controle de arquivo Acesso ao arquivo VSAM Transação Tarefa (TASK) Visão do fluxo da transação Passos do fluxo da transação Modelo concorrente de uma mesma transação Tipos de transação w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 13

14 Transação não conversacional Transação conversacional Transação pseudoconversacional Fluxo da transação pseudoconversacional Área de comunicação (DFHCOMMAREA) Fluxo reentrante Questionário Mapa Considerações sobre um mapa Independência de equipamento Independência de formato Protocolo Como construir um mapa Construção de um mapa Composição de um programa BMS MAPSET Compilação de um mapa Estrutura da linha de um mapa Composição do atributo de um campo Tipo de proteção do campo Tipo de conteúdo do campo Brilho do campo Tag de modificação Compilação de um mapa Estrutura da linha de um mapa Definindo mapa para ser interpretado pelo BMS Mapa físico Definindo um grupo e mapas MAPSET Macro DFHMSD Definindo uma tela Macro DFHMDI Definindo áreas dentro de um mapa... 93

15 C I C S Macro DFHMDF Indicador de campo MDT Como o COBOL identifica um campo do BMS Como é a definição de um campo Posição do cursor na tela Identificar a posição do cursor Direcionar a posição do cursor Bloco DFHBMSCA Exemplo de definição do mapa MAPA01A Definição BMS do mapa MAPA01A Definição da estrutura do mapa MAPA01A para o COBOL Questionário Comandos Comandos do CICS Comand Level Restrições no COBOL Grupos dos comandos Comandos de tratamento de terminal Comandos de tratamento de mapa (BMS) Tratamento de arquivo (FILE CONTROL) Tratamento de cursor (BROWSE) Tratamento de programas (PROGRAM CONTROL) Tratamento de armazenamento temporário (TS) Tratamento de erro (ABEND CODE) Tratamentos diversos Estrutura de comando Terminar programa - Comando RETURN Sintaxe Parâmetro TRANSID Parâmetro COMMAREA Parâmetro LENGTH Condição de exceção w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 15

16 Comandos de tratamento de terminal Comando SEND TEXT Sintaxe Parâmetro FROM Parâmetro LENGTH Parâmetro CURSOR Parâmetro FREEKB Parâmetro ERASE Condição de exceção Exemplo do comando SEND TEXT Comando RECEIVE Sintaxe Parâmetro INTO Parâmetro SET Parâmetro LENGTH Condição de exceção Programa exemplo do comando RECEIVE Questionário Comandos de tratamento de mapa Comando SEND MAP Sintaxe Parâmetro MAP Parâmetro MAPSET Parâmetro FROM Parâmetro ERASE Parâmetro CURSOR Parâmetro DATAONLY Parâmetro MAPONLY Parâmetro FREEKB Condição de exceção Programa exemplo do comando SEND MAP Comando RECEIVE MAP

17 C I C S Sintaxe Parâmetro MAP Parâmetro MAPSET Parâmetro INTO Parâmetro SET Parâmetro LENGTH Condição de exceção Programa exemplo do comando RECEIVE MAP Questionário Comandos de tratamento de arquivo Massa de teste para os comandos de tratamento de arquivo Definição do arquivo AGENDA JCL para criar o arquivo AGENDA Comando WRITE Sintaxe Parâmetro FROM Parâmetro RIDFLD Parâmetro LENGTH Parâmetro KEYLENGTH Condição de exceção Programa exemplo do comando WRITE Comando READ Sintaxe Parâmetro INTO Parâmetro RIDFLD Parâmetro EQUAL Parâmetro GTEQ Parâmetro LENGTH Parâmetro UPDATE Condição de exceção Programa exemplo do comando READ Comando REWRITE w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 17

18 Sintaxe Parâmetro FROM Parâmetro LENGTH Condição de Exceção Programa exemplo do comando REWRITE Comando DELETE Sintaxe Parâmetro RIDFLD Parâmetro KEYLENGTH Parâmetro GENERIC Parâmetro NUMREC Condição de exceção Programa exemplo do comando DELETE Comando UNLOCK Sintaxe Condição de exceção Questionário Comandos de BROWSE (cursor) Introdução Pesquisa por BROWSE Considerações para arquivos VSAM Procedimentos de uma pesquisa por BROWSE Estabelecimento de posição Pesquisa de registros Término do BROWSE Atualização de registros no BROWSE Massa de teste para os comandos do BROWSE Comando STARTBR Sintaxe Parâmetro RIDFLD Parâmetro KEYLENGTH Parâmetro GENERIC

19 C I C S Parâmetro EQUAL Parâmetro GTEQ Condição de exceção Exemplificação do comando STARTBR Comando READNEXT Sintaxe Parâmetro INTO Parâmetro RIDFLD Parâmetro KEYLENGTH Parâmetro UPDATE Condição de exceção Exemplificação do comando READNEXT Comando READPREV Sintaxe Parâmetro INTO Parâmetro RIDFLD Parâmetro KEYLENGTH Parâmetro UPDATE Condição de exceção Exemplificação do comando READPREV Comando ENDBR Sintaxe Condição de Exceção Exemplificação do comando ENDBR Comando RESETBR Sintaxe Parâmetro INTO Parâmetro RIDFLD Parâmetro KEYLENGTH Parâmetro GENERIC Parâmetro UPDATE Condição de exceção w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 19

20 Exemplificação do comando RESETBR Exemplo de como construir um BROWSE Cenário - Listar contatos Macrofluxo e DHF do programa Fluxograma Fluxograma - outros níveis Exemplo de BROWSE - TCICSD1A (Conversacional) Questionário Comandos de tratamento de armazenamento Temporário (TS) Como montar o nome da TS Comando WRITEQ TS Sintaxe Parâmetro QUEUE Parâmetro FROM Parâmetro LENGTH Parâmetro ITEM Parâmetro REWRITE Condição de exceção Exemplo do comando WRITEQ TS Comando READQ TS Sintaxe Parâmetro QUEUE Parâmetro INTO Parâmetro ITEM Parâmetro NEXT Condição de exceção Exemplo do comando READ TS Comando DELETEQ TS Sintaxe Parâmetro QUEUE Condição de Exceção Exemplificação do comando DELETEQ TS

21 C I C S Questionário Comandos de chamada de programa Comando LINK Sintaxe Parâmetro PROGRAM Parâmetro COMMAREA Parâmetro LENGTH Condição de exceção Exemplo do comando LINK - Chamador Exemplo do comando LINK - Chamado Comando XCTL Sintaxe Parâmetro PROGRAM Parâmetro COMMAREA Parâmetro LENGTH Condição de exceção Exemplo do comando LINK - Chamador Exemplo do comando XCTL - Chamado e chamador Exemplo do comando XCTL - Chamado Comandos de tratamento de erro Introdução Comando HANDLE ABEND Sintaxe Parâmetro PROGRAM Parâmetro LABEL Parâmetro CANCEL Parâmetro RESET Comando para término anormal da Task (ABEND) Condição de exceção Comando IGNORE CONDITION Sintaxe Exemplo de utilização do IGNORE CONDITION w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 21

22 Códigos de erro de transação Comando HANDLE CONDITION Sintaxe Exemplo de utilização do HANDLE CONDITION Questionário Comandos de tratamento de diversos Como formatar data e hora Comando BIF DEEDIT Sintaxe Parâmetro FIELD Parâmetro LENGTH Exemplificação do comando BIF DEEDIT Exemplo do comando BIF DEEDIT Comando ASSIGN Sintaxe Parâmetro ABCODE Parâmetro PROGRAM Parâmetro ABPROGRAM Parâmetro USERID Parâmetro USERNAME Parâmetro APPLID Comando FORMATTIME Parâmetro YYMMDD Sintaxe Parâmetro DATESEP Parâmetro TIMESEP Parâmetro ABSTIME Parâmetro DATE Parâmetro DATEFORM Parâmetro FULLDATE Parâmetro DDMMYY Parâmetro DDMMYYYY

23 C I C S Parâmetro YYYYMMDD Parâmetro YYYYDDMM Parâmetro YYDDMM Parâmetro MMDDYY Parâmetro YYDDD Exemplificação do comando FORMATTIME Obter data Exemplificação do comando FORMATTIME Obter hora Exemplo de ASKTIME e FORMATTIME Comando HANDLE AID Sintaxe ANYKEY Exemplo de utilização do HANDLE AID Comando SYNCPOINT ROLLBACK Sintaxe Comando ASKTIME Sintaxe Parâmetro ABSTIME Exemplificação do comando ASKTIME Questionário Programação pseudoconversacional Pontos de conversão da lógica pseudoconversacional Primeiro ponto Divisão da lógica em partes Segundo ponto Identificação da fase de execução Terceiro ponto Início e término de execução da fase Quarto ponto Início da execução do programa Quinto ponto Primeira execução Sexto ponto Saída da execução Exemplo de programa pseudoconversacional Cenário Listar contatos DHF do programa Fluxograma Fluxograma - outros níveis w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 23

24 Pseudocódigo Exemplo de programa de BROWSE - PCICSE1A Exemplo de programa de paginação Constuindo sistemas ON-LINE Massa de testes para os sistemas ON-LINE MER - Modelo de Entidade Relacional para testes Definição dos depósitos Massa de dados para os sistemas ON-LINE Criar arquivos e tabelas para os sistemas ON-LINE Incluir massa de dados para os sistemas ON-LINE Sistema - Menu de sistemas Cenário: Menu de sistemas Funcionalidade: Menu de sistemas Sistema - Cadastro de alunos Cenário: Cadastro de alunos Funcionalidade: Menu do cadastro de aluno Funcionalidade: Incluir aluno Funcionalidade: Alterar aluno Funcionalidade: Excluir aluno Funcionalidade: Listar alunos Funcionalidade: Listar alunos com média Funcionalidade: Listar cursos do aluno Sistema - Cadastro de notas Cenário: Cadastro de notas Funcionalidade: Menu do cadastro de notas Funcionalidade: Incluir nota Funcionalidade: Consultar nota Funcionalidade: Alterar nota Funcionalidade: Excluir nota Funcionalidade: Listar notas dos cursos do aluno Sistema - Cadastro de cursos Cenário: Cadastro de cursos

25 C I C S Funcionalidade: Menu do cadastro de cursos Funcionalidade: Incluir curso Funcionalidade: Consultar curso Funcionalidade: Alterar curso Funcionalidade: Excluir curso Funcionalidade: Listar cursos Sistema - Cadastro de estados Cenário: Cadastro de estados Funcionalidade: Menu do cadastro de estados Funcionalidade: Incluir estado Funcionalidade: Consultar estado Funcionalidade: Alterar estado Funcionalidade: Excluir estado Funcionalidade: Listar estados Comandos ON-LINE CEMT I PRO CEMT SET PROG CEMT SET TASK CEMT SET TRANS CEMT SET TERM CSSN CSMT Parâmetro NEW CEMT SET FILE CECI CEDF CMAC Anexos Boas práticas Bloco DFHBMSCA Estrutura do EIB Bloco DFHAID w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 25

26 Tabela de códigos EIBRESP Tabela de códigos EIBFN Tabela de condições de exceção Tabela de condição de exceção por comando Definições e termos Abreviaturas Respostas dos questionários Bibliografia Outras obras do autor

27 C I C S Notação utilizada [ ] Opcional { } Optar por um, sendo que as opções estão separadas pelo símbolo que significa ou < > Substituir por um nome Operador lógico "OU". Significa que pode ser substituído por um dos parâmetros.... Existem procedimentos não mencionados A linha acima representa a régua do exemplo em questão para ajudar a mostrar a posição do caracteres, muito importante para a linguagem COBOL. Reflexão Só é lutador quem sabe lutar consigo mesmo. Autor: Carlos Drummond de Andrade w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 27

28 Página deixada em branco

29 C I C S Como codificar subparâmetros Muitos comandos e parâmetros necessitam de valores para o seu funcionamento, chamados de subparâmetros. Por exemplo, o parâmetro DATASET possui a seguinte sintaxe: WRITE DATASET (nomearquivo) onde nomearquivo representa o nome do arquivo a ser utilizado pelo comando. coluna Coluna especifica um número inteiro, no intervalo de 0 a 79, especificando o número de colunas que uma linha pode ter. linha Linha especifica um número inteiro, no intervalo de 0 a 24, especificando o número de linhas, correspondente à altura de um mapa. No lugar do número de linhas, pode ser inserido o parâmetro NEXT. literal Literal é uma constante, um valor fixo, inteiro, passado como parâmetro para o comando. As constantes podem ser classificadas em: numérica, alfanumérica e lógica. A constante alfanumérica também é conhecida como STRING e deve ser definida entre aspas. nomeáreadatahora A variável que recebe a data e hora deve ser definida como PIC S9(15) COMP-3. nomeáreadedados O nome da área de dados, identificado por uma variável, definida na WORKING-STORAGE. nomeáreadomapao O nome da área do mapa, definido na WORKING-STORAGE. Normalmente, é o nome do mapa com caractere O, no final do nome. nomeáreadomapai O nome da área do mapa definido na WORKING-STORAGE. Normalmente, é o nome do mapa com caractere I, no final do nome. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 29

30 nomeáreadoregistro O nome da área do registro, definido na WORKING-STORAGE. Pode ser o nome de uma variável alfanumérica ou um item de grupo. nomearquivo O nome do arquivo pode ser especificado diretamente pelo seu nome ou indiretamente, através da utilização de uma variável. O nome do arquivo deve ter, no máximo, oito (8) caracteres de tamanho. A variável, quando utilizada, deve ser definida como alfanumérica PIC X(8). nomecampo Nome do campo do mapa e deve possuir, no máximo, sete (7) caracteres. Opcional; só é necessário se for referenciado no programa de aplicação. nomechavearquivo O nome do item elementar ou item de grupo que é a chave do arquivo. Pode ser especificado diretamente pelo seu nome ou indiretamente, através da utilização de uma variável. Pode ser o nome de uma variável alfanumérica ou numérica ou de um item de grupo. nomecondiçãoerro A condição de erro (o mesmo que condição de exceção) é uma palavra reservada do CICS, definida na EIBRESP. Por exemplo: NORMAL, ERROR, NOTFND, DUPREC, DUPKEY, INVREQ, IOERR, NOSPACE, NOTOPEN, ENDFILE, ILLOGIC, LENGERR, PGMIDERR, TRANSIDERR. nomedeflinhats Representa o nome da definição da estrutura da linha, utilizado na TS. Pode ser o nome de uma variável alfanumérica ou um item de grupo. As regras para a sua criação são as mesmas utilizadas para a definição do nome de um item de grupo, utilizado para definir um registro. nomefilats Representa o nome da fila, utilizado numa TS (TEMPORARY STORAGE). O nome da fila (área da TS, como se fosse um arquivo) deve ter, no máximo, oito (8) caracteres de tamanho. A variável, quando utilizada, deve ser definida como alfanumérica PIC X(8). nomemapset Representa o nome do conjunto dos mapas e deve possuir, no máximo, sete (7) caracteres. Deve ser diferente do nome dos mapas que pertencem a este grupo e deve estar cadastrado na tabela PPT. Um caractere é acrescentado ao nome como sufixo (tipo do terminal ou parâmetro SUFFIX).

31 nomemapa C I C S Representa o nome do mapa e deve possuir, no máximo, sete (7) caracteres. Deve ser diferente do nome dos mapas que pertencem a este grupo e do nome MAPSET. Deve ser diferente do nome dos mapas que pertencem a este grupo e deve estar cadastrado na tabela PPT. Um caractere é acrescentado ao nome como sufixo (tipo do terminal ou parâmetro SUFFIX). nomeparagrafo Especifica o nome do parágrafo, dentro do programa, com a instrução ou instruções. nomeprograma O nome do programa deve possuir até oito caracteres. Pode ser identificado por um literal ou por uma variável definida na WORKING-STORAGE. Por exemplo: 77 WS-NM-PROGRAMA PIC X(8) VALUE NMPGM01A. nometransação O nome da transação deve possuir quatro caracteres. Pode ser identificado por um literal ou por uma variável, definida na WORKING-STORAGE. Por exemplo: 77 WS-NM-TRANSACAO PIC X(4) VALUE TRN1. nrodoitem O número do item pode ser um literal numérico ou ser representado por uma variável, definida como PIC S9(04) COMP VALUE +nnnn. posição A posição do cursor, na tela 3270, pode ser identificada por um literal, de quatro dígitos, ou por uma variável, definida na WORKING-STORAGE com o formato PIC S9(004) COMP. A posição do cursor é representada por um valor numérico sequencial que começa pela primeira posição da primeira linha e recebe o valor zero (0). A tela é definida por 24 linhas, com 80 caracteres cada uma. Por este motivo, a última posição da tela recebe o valor Esta numeração serve apenas para os terminais do tipo 3270 que são o caractere e não gráfico. tamanhoárea O tamanho da área pode ser identificado por um literal ou por uma variável, definida na WORKING-STORAGE. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 31

32 Reflexão Só é livre o homem que sabe dar ordens a si mesmo. Autor: Pitágoras Página deixada em branco

33 C I C S Introdução ao CICS 1 Este capítulo apresenta uma visão do CICS do ambiente e da sua estrutura, para suportar aplicações on-line com os seus módulos gerenciadores e suas tabelas de controle. Aborda a organização e o gerenciamento da memória, a administração: da comunicação dos terminais, dos acessos aos arquivos e da execução dos programas. O CICS é um ambiente composto por um conjunto de programas, chamados de módulos gerenciadores, de tabelas e blocos de controle. Os módulos gerenciadores controlam a comunicação com os terminais de vídeo e impressoras, por meio de rede local ou rêmora, a execução dos programas e os acessos aos dados que estão em tabelas e arquivos. Para viabilizar este ambiente, o CICS controla todos os programas que estão interagindo com os terminais, exibindo (mostrando) as telas e lendo os teclados, assim como todos os arquivos usados por estes programas. O CICS é um aplicativo, que é executado, com o objetivo de gerenciar as solicitações das aplicações e, deste modo, fornecer meios próprios para controlar as entradas e saídas de dados do sistema operacional garantindo a integridade dos dados para o alto volume de solicitações que podem ocorrer simultaneamente. Funciona como um sistema operacional e, dentro de seu ADRESS SPACE (Espaço de endereços virtuais do usuário para a execução de instruções e armazenamento de dados), carrega e controla todos os programas aplicativos de telas, os buffers de todos os arquivos abertos e compartilhados pelos programas aplicativos, além das suas tabelas próprias para gerenciar todo o conjunto. Reflexão Dar exemplos não é a melhor maneira de influenciar os outros. É a única. Autor: Desconhecido w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 33

34 O que é CICS O CICS (Customer Information Control System) é um produto (software, sistema) da IBM que é composto de vários módulos/programas de gerenciamento. É um sistema de dados e de comunicação de dados para rodar em equipamentos próprios e compatíveis. Este sistema permite que sejam transmitidos dados de um terminal para o computador, que estes dados sejam processados, acessem arquivos (podem ser também bancos de dados) e sejam, então, transmitidos de volta ao terminal de origem. Para este processamento, o sistema precisa usar um aplicativo de telecomunicações (por exemplo, VTAM, TCAM ou BTAM) e um ou mais dos seguintes métodos de acesso a arquivos: VSAM, BDAM, ISAM. Pode ser executado sob todos os sistemas da IBM (MVS, VSE, VM ou OS/2). Os programas podem ser transportados de um ambiente para outro com pouca ou mesmo nenhuma alteração. Existem, também, dois níveis de codificação: macro (MACRO LEVEL), similar ao ASSEMBLER, e COMMAND LEVEL, que é similar ao COBOL. É um produto (sistema, software) para manipular aplicações ON-LINE e é composto por um conjunto de programas (módulos gerenciadores) que faz a comunicação entre os programas da aplicação, o sistema operacional e o terminal de usuário. Ele possui a capacidade de suportar e controlar a comunicação de uma vasta rede que pode ser composta por centenas de terminais. Oferece as seguintes funções: Controlar, simultaneamente, a execução de aplicações, servindo vários usuários ao mesmo tempo (ON-LINE); sistema multi-usuário. Controlar a comunicação entre os terminais locais e os programas de aplicação, obtendo, assim, os dados solicitados pelo usuário. Controlar a abertura e o acesso aos arquivos e bancos de dados, em conjunto com os vários métodos de acessos fornecidos pela IBM. Facilitar a comunicação entre outros ambientes CICS, residentes no mesmo computador ou em computadores interligados.

35 C I C S Agora, ficará mais fácil imaginar que o CICS é um sistema operacional dentro do próprio sistema operacional. É um ambiente carregado, através da execução de um JOB, quando o sistema operacional é carregado, ou, quando for determinado. Na fase inicial (arranque) do CICS, são colocados em atividade todos os recursos (módulos gerenciadores) para que os programas da aplicação nunca abram um recurso e, sim, somente os utilize, por exemplo: programas, terminais, arquivos e impressoras. À atividade de dar carga ao ambiente dá-se o nome de IPL. Método de acesso VTAM Comunicação de dados (Data Comunications) é a transferência de dados entre um sistema e outros sistemas remotos. O VTAM é o responsável por enviar e receber dados dos gerenciadores de dados, como CICS e IMS, que cuidam das informações. O sistema de redes da IBM usa o SNA (System Network Architeture) como protocolo. O Mainfreme da IBM usa o software VTAM para controlar a rede. Mas o VTAM não é o único Software usado em SNA; os outros exemplos são o NCP (Network Control Program) e o CM/2 (Comunications Manager 2). Controladores A função dos controladores é ajudar a controlar o roteamento das mensagens de dados pela rede. Dois tipos são os exemplos: Controladores de comunicação; Controladores de terminais. Os controladores de comunicação ou CCP (Comunications Control Processor), também são conhecidos como Front End Processors ou somente Front Ends. São os dispositivos que controlam o recebimento e envio de mensagens de dados, inclusive as mensagens de confirmação de transferência destas mensagens. Neste processo de controle, o NCP é o Software e o CCP é o Hardware, mas todo dispositivo pode ser conhecido como NCP. Os controladores de terminais estão conectados aos Mainframes, NCP, impressoras e todos os dispositivos periféricos. Este controla o envio de mensagens, como para qual periférico vai a mensagem, etc. Os terminais podem ser dispositivos definidos para estarem conectados aos controladores de terminais, tem seu próprio software, chamado Microcode; o que dá acesso à rede SNA, é chamado de 'terminal burro'. Os 'terminais inteligentes' são PC's com software SNA instalados neles. Os Pc's podem ser os de plataforma OS/2 ou, ainda, Microsoft. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 35

36 O que é processamento ON-LINE Processamento ON-LINE, do ponto de vista do CICS, é o recebimento de informações (dados) do terminal, manipulação destas informações e, a seguir, o envio de uma mensagem de volta ao usuário. Tudo isto pode, normalmente, ser feito em questão de segundos. Neste tipo de transação, cada vez que o operador pressiona a tecla ENTER, o software de comunicação verifica se o terminal é válido. Isso é possível graças à tabela de controle de terminal (TCT). Podemos entender que as aplicações batch são diferentes das aplicações online, tendo em vista que cada uma trabalha em uma área específica. Dentro de sua região, o CICS, trabalha com várias aplicações simultaneamente, pois, trata-se de uma das suas características, a de ser multitarefas. Para que esses recursos sejam utilizados de maneira satisfatória, é preciso observar que um programa de aplicação não pode se comunicar diretamente com o sistema operacional; isso quem faz é o CICS. Devemos considerar também que o programa de aplicação não deve abrir ou fechar arquivos, porque o CICS executará essas funções no momento apropriado. Quanto a um programa COBOL, devemos considerar que o comando STOP RUN e o GOBACK são perigosos, porque, quando executados, o CICS será encerrado, fazendo com que toda a rede entre em OFF LINE. Nunca usar em um programa COBOL CICS as instruções STOP RUN e GOBACK. Para terminar um programa, é utilizado o comando RETURN. Toda aplicação On- Line deve retornar o controle para o CICS. Múltiplas execuções de um programa P r o g r a m a WORKING WORKING WORKING WORKING Terminal 1 Terminal 2 Terminal 3 Terminal 4

37 Como o programa é executado C I C S A execução do programa é orientada para dialogar com o usuário e, por isso, a construção da sua lógica de execução é influenciada pelo desenvolvimento do respectivo diálogo, de tal forma que o programa quase nunca será executado por inteiro, como no caso dos programas BATCH, mas, normalmente, cada passo do diálogo implicará somente na execução das instruções que atendem ao diálogo. O grupo de instruções que se executa num passo de diálogo denomina-se TAREFA, e a atuação do usuário que a desencadeia, chama-se TRANSAÇÃO. O programa só pode acessar (aceder) a informação através dos módulos de serviço do CICS. A comunicação se dá, através (mediante) de instuções denominadas de High Level Programming Interface o HLPI. O HLPI contém os chamados comandos CICS, que são sentenças no COBOL, dirigidas, especificamente, aos módulos de serviço e que têm a seguinte estrutura: EXEC CICS COMANDO END-EXEC O ponto não é necessário para terminar um comando dentro da estrutura EXEC. Como o programa é terminado Como o programa é executado dentro do CICS; é este quem supervisiona a sua execução. O programa pode, portanto, ser considerado como uma sub-rotina do CICS. Isto significa que, se é ao CICS a quem se pede a execução de um programa, também é ao CICS ao qual se informa de que a execução terminou. Por outras palavras, a finalização da execução de um programa faz-se, devolvendo o controle (controlo) ao CICS. Um programa CICS não termina nunca com STOP RUN; utiliza-se o comando: EXEC CICS RETURN END-EXEC w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 37

38 Regras para programa COBOL Um programa COBOL, que é executado sob o CICS, deve seguir algumas regas. São elas: Um módulo objeto não pode ser maior do que Bytes. A WORKING-STOTAGE SECTION não pode ter mais de 64 k. A LINKAGE SECTION (COMMAREA) não pode ter mais de 32 k. Não pode ser utilizado: Configuration Section, Input-Output Section e File Section. Quem gerencia os arquivos é o CICS, e não o programa de aplicação. Não se pode utilizar as instruções COBOL que solicitem serviço direto ao sistema operacional (SO). Portanto, é proibido o uso dos seguintes comandos: ACCEPT EXAMINE EXAMINE DISPLAY EXHIBIT EXHIBIT CLOSE STOP RUN STOP RUN OPEN INSPECT INSPECT READ STRING STRING WRITE TIME TIME REWRITE TRANSFORM TRANSFORM DELETE UNSTRING UNSTRING Funções do programa no ambiente Batch Vejamos algumas atividades executadas em ambientes Batch: O programa de aplicação abre e fecha os arquivos utilizados. O programa utiliza muito acesso sequencial, pouco acesso randômico nos arquivos. O programa de aplicação é o dono da partição. O programa gera relatórios extensos. O programa processa vários registros a cada rodada. (Processamento em Lote). O programa roda isolado, desde o início até o término; todos os recursos estão à sua disposição.

39 Funções do programa no ambiente On-Line Vejamos algumas atividades executads em ambientes CICS, On-Line: C I C S O CICS abre e fecha os arquivos. O CICS é cria, gerencia a partição. O programa possui acesso randômico, pouco acesso sequencial. O programa gera relatórios resumidos. O programa processa poucos registros a cada rodada. O programa roda, concorrentemente, com outros programas, desde o inicio até o término; todos os recursos estão sendo compartilhados. Compilação A compilação de um programa COBOL BATCH é composta de duas etapas: compilação e linkedição, e de um programa COBOLl CICS é composta de três etapas: translator, compilação e linkedição. T R A N S L A T O R C O M P I L A Ç Ã O L I N K E D I Ç Ã O Como entrar no ambiente CICS Em primeiro lugar, é preciso que o usuário (utilizador) abra uma seção de CICS no seu terminal. A conexão realiza-se, normalmente, por seleção de opção no painel do sistema TSO. Uma vez em seção, o CICS informa com uma mensagem de que está apto para admitir petições de execução (aceitar solicitações). Os códigos de transação escrevem-se sempre nas primeiras posições do terminal. Para posicionar o cursor ou apagar a tela, utiliza-se (emprega-se) a tecla CLEAR. Se o CICS, a que se conectou, requerer identificação, o primeiro programa que se deve executar é o programa de SIGN-ON cujo código de transação é CSSN. Este programa apresenta uma tela onde se deve informar (introduzir) os dados de acesso, usuário e senha: USERNAME e PASSWORD. Após a identificação do usuário, deve-se apagar a tela pressionando a tecla CLEAR e introduzir o código de transação que se deseja executar. Para sair do CICS, realizar a desconexão, é preciso limpar a tela com a tecla CLEAR e executar o programa cujo código de transação é CSSF, na forma de: CSSF LOGOFF, com isto, a seção do CICS termina, e o controle volta para a seção do TSO. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 39

40 Página deixada em branco

41 C I C S Estrutura do CICS Arquitetura do CICS O CICS não é um programa único, mas sim, um conjunto de módulos gerenciadores, independentes e de tabelas onde cada módulo exerce uma função específica. Também foi criado o conceito de Código de Transação. Segundo este conceito, os usuários do CICS não executam diretamente os programas escritos pelos programadores, em vez disso, solicitam a execução de um serviço, conhecido como transação (Transaction Code) que monta todo um complexo ambiente de controle e, só depois, é que são executados os programas de aplicação. MVS/ESA A p lic aç õ e s C IC S Sistemas operacionais OS/400 AIX OS/2 Os programas também não podem acessar diretamente os arquivos administrados pelo CICS. Para efetuar estes acessos, os programas devem executar o módulo File Control Program (FCP). Os módulos gerenciadores, para controlarem a comunicação com os terminais, impressoras, a execução dos programas e os acessos aos dados, precisam de tabelas. As tabelas são usadas para administrar os componentes dos: terminais, programas e arquivos; administrar as tarefas e os acessos aos dados que são solicitadas junto ao sistema operacional. Elas também servem para cadastrar os componentes que o ambiente CICS vai controlar, como terminais, arquivos e programas. Existem, também, os blocos de controle que são áreas que possuem informações, como localização do programa e situação da execução para ajudar os módulos gerenciadores, para administrar a comunicação do ambiente com os devidos componentes externos. A arquitetura do CICS está baseada na solicitação de um serviço (transação) e na execução de tarefas (TASK), através de programas de aplicação (programa COBOL, por exemplo). VSE Reflexão A ciência sem a religião é coxa, a religião sem a ciência é cega Autor: Albert Einstein w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 41

42 Uma visão da estrutura do CIC S O CICS é um ambiente complexo, repleto de módulos gerenciadores, tabelas de controle, áreas de administração de dados e processos em execução. Vejamos uma ilustração básica para se ter uma ideia de como os componentes se relacionam para montar o ambiente CICS. Memória do CICS O ambiente CICS tem a sua memória dividida em duas áreas: Núcleo gerenciador e, Área de trabalho (DSA) Reflexão A pessoa sábia está sempre ansiosa e pronta para aprender. Autor: Provérbios 18:15

43 C I C S Núcleo gerenciador O núcleo gerenciador é composto por módulos que gerenciam os terminais, as transações solicitadas, a execução das tarefas, a carga dos programas de aplicação, o acesso aos dados e a alocação de memória para isso tudo, e ainda conta com tabelas de controle que ajudam os módulos a gerenciar todas as atividades do CICS. Normalmente, os nomes dos programas gerenciadores começam pela sigla DFH. Por exemplo: DFHFCP. Os módulos de gerência são programas que executam todas as atividades do núcleo gerenciador. Cada módulo de gerência realiza uma função específica. Por exemplo, quando um programa de aplicação emite uma solicitação (executa uma transação) para consultar dados do cadastro de cliente, no arquivo de cliente, é o módulo FCP (File Control Programa) que efetua o acesso ao arquivo. Quando um programa de aplicação emite um pedido para enviar uma mensagem (dados) ao terminal, o módulo de gerência TCP (Terminal Control Programa) transfere os dados (mensagem) para o terminal (tela do usuário de onde veio a solicitação da transação). Os pedidos de I/O são feitos diretamente ao CICS, em vez de serem solicitados ao sistema operacional, como é feito normalmente, quando os programas estão no ambiente de processamento BATCH. No on-line, é desnecessário abrir arquivos, porque eles são abertos no momento da inicialização do ambiente, podendo, no entanto, serem abertos e fechados a qualquer momento por comandos específicos. Entre os módulos de controle, podemos citar alguns bastante importantes: FCP, KCP, PCP, SCP, TCP, TSP, DCP, ICP BMS, ISC FCP - File Control Program Controla todas as operações dos arquivos ISAM e VSAM. KCP - Task Control Program Controla o uso da CPU, dentro da partição do CICS e cria as tarefas. Após a solicitação de execução da transação, o módulo KCP, que possui a função de iniciar uma tarefa, para que seja possível processar a transação, verifica na tabela PCT se a identificação da transação solicitada é válida ou não. A tabela PCT contém uma definição para cada transação, que possa ser processada no sistema, como a identificação da transação e o nome do programa de aplicação que devem ser executados. Se uma identificação de transação, que foi solicitada a executar, estiver listada na tabela PCT, o módulo KCP cria uma tarefa para processar a mesma. A criação de uma tarefa envolve a obtenção e inicialização de uma área de Controle de Tarefa (TCA). w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 43

44 PCP - Program Control Program O módulo PCP é um programa gerenciador, responsável pela localização dos programas de aplicação e, se necessário for, carregá-los na memória para a sua execução e, só sai da memória, se nenhuma solicitação de execução estiver em andamento. Toda vez que existe uma solicitação do programa e o mesmo já está na memória, ele é executado com as novas áreas de controle, sem interferir no que já está em execução. O módulo PCP tem como funções: Verificar se o programa já está na memória do CICS, Transferir o controle do CICS para o programa de aplicação, Transferir o controle do programa de aplicação para o CICS, Transferir o controle de um programa de aplicação para outro programa de aplicação. Quando um programa de aplicação é solicitado para ser executado, o módulo PCP vai à tabela de controle PPT para verificar se o mesmo existe, e se existir, carrega o programa na memória e registra na tabela PPT, a localização do programa para que a próxima solicitação possa executar o mesmo programa, sem a necessidade de carregá-lo. O módulo PCP controla todas as tarefas solicitadas para o mesmo programa, usando um contador gravado na tabela de controle PPT. O contador é atualizado com o incremento do seu valor, toda vez que o programa de aplicação for solicitado a executar e se o mesmo já estiver carregado na memória. E toda vez que um programa terminar de executar, o contador é diminuído. Quando o valor do contador for zero, significa que o programa de aplicação não é mais necessário, o CICS libera a memória até que uma nova solicitação seja executada. SCP - Storage Control Program Controla a alocação e liberação da memória, na área de memória dinâmica do CICS (DSA). O SCP é o módulo de gerência que é usado por todos os outros módulos do CICS e programas de aplicação. TCP - Terminal Control Program O módulo TCP efetua a comunicação entre o programa, de aplicação que está sendo executado e o terminal conectado a este programa através da transação. As funções primárias deste módulo gerenciador são: POLLING ADDRESSING O módulo TCP efetua pesquisa na tabela TCT para validar a transação, porque cada terminal que interage com o ambiente é identificado por uma entrada única na tabela TCT (Terminal Control Table). A entrada é chamada de TCTTE. Quando os dados estiverem prontos para ser enviados para o terminal, uma indicação é posta na TCTTE. O módulo gerenciador, TCP, pesquisa a tabela de controle, TCT, periodicamente, e faz com que os dados sejam enviados para os respectivos terminais.

45 C I C S Quando o usuário solicita a execução de uma transação, através da digitação do código de identificação da transação num terminal, o módulo gerenciador, TCP, pede para o ambiente a iniciação de uma nova tarefa. Quando um operador entrar em uma identificação de transação, o CICS/VS inicia uma nova tarefa. A partir daí, todos os comandos de entrada e saída (I/O), encontrados durante a execução desta tarefa, serão endereçados, exclusivamente, para o terminal de onde entrou a identificação de transação. É a associação entre o terminal e a tarefa que permite que o operador escreva comandos de terminal em seu programa de aplicação sem identificar qual terminal será, realmente, usado, quando o programa for executado. Quando um terminal envia uma transação para o módulo TCP, a entrada é colocada numa área, chamada área de entrada e saída de terminal (TIOA). Esta área é adquirida dinamicamente pelo CICS, antes que o programa de aplicação correspondente seja carregado na memória. O TCP pede que o módulo SCP aloque a quantidade apropriada de memória. Uma vez que a memória foi reservada, o TCP move os dados (mensagem) de entrada para a TIOA. POLLING POLLING é o nome do gerenciador que tem a tarefa de checar, periodicamente, os terminais para verificar se há alguma entrada efetuada pelo usuário. Se existir, o módulo captura a tecla de função pressionada, retorna para a execução do programa ou inicia uma transação. ADDRESSING ADDRESSING é a checagem que o módulo efetua nos terminais para verificar se o mesmo está pronto para receber alguma mensagem (saída). TSP - Temporary Storage Program Gerencia a memória temporária, fornecendo recurso para armazenamento Intermediário. Permite a recuperação dos dados, na memória intermediária, por vários programas de aplicação. TDP - Transient Data Program Fornece um meio de armazenamento intermediário para que dados criados por uma ou mais tarefas sejam processados por outra. Os dados são gravados em destinos, definidos na DCT, e são processados de maneira sequencial. DCP - Dump Control Program Gerencia o DUMP (área de memória no momento do erro do programa) de qualquer tarefa no CICS. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 45

46 ICP - Interval Control Program Administra todos os serviços que estão atrelados à data da máquina. Por exemplo, executar uma tarefa, num determinado período de tempo. BMS - Basic Mapping Support Administra a exibição de mensagens em terminais, garantindo a independência em relação aos diversos dispositivos de saída. O BMS é uma área específica onde é definida a tela (mapa) de interação entre o usuário e o programa da aplicação. O BMS encarrega-se dos intercâmbios de informações com os terminais (ecrãs), juntamente com TCP. Obrigatoriamente, o mapa deve ser criado, através de macros do BMS em uma estrutura específica. ISC - Intercommunication Control Program Administra a comunicação entre os CICS, que podem estar residentes no mesmo computador ou em outro computador interligado.

47 C I C S Tabelas de controle O CICS gerencia e controla todas as atividades, e para isso ele usa tabelas para cadastrar terminais, transações, programas, arquivos e tarefas. As tabelas de controle definem o ambiente CICS. As tabelas estão, funcionalmente, atreladas aos módulos gerenciais. Por exemplo, todos os arquivos que podem ser acessados pelo CICS devem ter suas definições descritas na tabela FCT (File Control Table), para que possam ser compartilhados por todos os programas de aplicação, sem necessidade de qualquer ação por parte dos programas. Por este motivo, os arquivos não são definidos, no programa de aplicação, da mesma forma como são em programas BATCH. Principais tabelas: TCT, KCT, PCT, PPT, FCT FCT - File Control Table Tabela para controlar os arquivos sob o CICS (arquivos VSAM). A tabela FCT é administrada pelo módulo gerenciador FCP. PCT - Program Control Table Tabela de transação para controlar o uso dos programas. O código da transação é associado ao programa que será executado. A tabela PCT é administrada pelo módulo gerenciador KCP. PPT - Program Processing Table Tabela de cadastro dos programas para o gerenciamento da sua posição (endereço) na memória, quando da execução. A tabela PPT é administrada pelo módulo gerenciador PCP. TCT - Terminal Control Table Tabela para controlar os endereços dos terminais utilizados pelo CICS. A TCT mantém informações do tipo: características da linha de comunicação, tipos de terminais, dispositivos especiais, prioridades de terminal, sequência de POLLING e dados operacionais (tais como: indicação de que um determinado terminal está, temporariamente, inativo e que ele deve ser excluído da sequência do POLLING). TCT é administrada pelo módulo gerenciador TCP. KCT - Task Control Table Tabela para controlar os serviços ativos no CICS. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 47

48 Página deixada em branco

49 C I C S DSA - Dynamic Storage Area O DAS é uma área do CICS que representa a memória onde são controlados os dados temporários (dinâmicos) para acesso e atualização dos mesmos, durante a execução do programa de aplicação. Nesta área, são carregados os programas de aplicação, as áreas de trabalho (working storage section), as tabelas temporárias, os blocos de controle utilizados pela tarefa (Task) e pelo programa (EIB), os dados que saem e entram nos terminais e os dados que entram e saem dos arquivos. A memória está divida em três grupos: Blocos de controle, Área de dados interna do ambiente e Área de dados temporária. Blocos de controle Os blocos de controle possuem informações do sistema. Entre os blocos de controle, podemos citar: CSA, TCA, EIB CSA - Commom System Area A CSA é a principal área de controle do CICS. Contém informações gerais do sistema que será usado pelos vários módulos de gerência. TCA - Task Control Area A TCA é um bloco de controle que contém informações importantes e necessárias para administrar a execução da tarefa. É criada no momento em que a transação é iniciada e eliminada ao término de sua execução. Quando dois usuários executam o mesmo programa, são criadas duas tarefas distintas e cada uma vai ser identificada com um número chamado de TASKID. A TCA é um bloco de controle que dá acesso a todas as áreas de memória, obtidas em conexão com a tarefa. Ela também serve como o veículo de comunicação entre o programa de aplicação e os módulos de gerência do CICS. Uma vez criada uma TCA para uma tarefa, esta tarefa é ligada ao terminal requisitante, por meio de indicadores de localização armazenados tanto na TCA como na TCTTE. Em transação conversacional, haverá subsequentes mensagens de entrada. Estas mensagens são passadas para a tarefa como dados. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 4 9

50 EIB - Exec Interface Block EIB é uma área de controle da execução do programa. Nesta área estão informações pertinentes à tarefa que o programa, em execução, poderá precisar. Esta área é criada no momento em que uma tarefa é iniciada. Existe um EIB por tarefa. O programa pode acessar os dados, durante a sua execução, mas não pode alterá-los. A estrutura completa da EIB está definida no manual da IBM CICS Application Programmer's Reference Manual (Command Level). Da estrutura da área, podem-se citar alguns campos (variáveis) importantes: EIBTIME, EIBDATE, EIBTASKN, EIBTRNID, EIBTRMID EIBAID, EIBCALEN, EIBCPOSN, EIBRCODE, EIBRESP Para maiores detalhes, veja, em anexo, a estrutura do EIB e os códigos de retorno de algumas variáveis da EIB. EIBTIME Guarda a hora do início da tarefa no formato HHMMSS. Este campo pode ser atualizado durante a execução da tarefa, através do comando do CICS (EXEC CICS ASKTIME). EIBDATE Guarda a data do início da tarefa, no formato AADDD (formato Juliana). EIBTASKN Guarda o código numérico que representa a tarefa atribuída pelo CICS. EIBTRNID Guarda o código que identifica a transação, composto por quatro caracteres, numa variável, no formato de CHAR (04). EIBTRMID Guarda a identificação do terminal de onde foi solicitada a execução da transação. O código é composto por quatro caracteres, numa variável, no formato de CHAR (04). EIBAID Guarda um valor que corresponde à última tecla de função pressionada no terminal e gerenciada pelo CICS. Toda tecla de função possui um código correspondente. Este código está no formato hexadecimal, numa variável, no formato de CHAR (01). O ambiente fornece uma área (BOOK) onde se pode encontrar toda a definição das teclas de função, tratadas

51 C I C S pelo CICS. A área é a DFHAID e deve ser inserida na WORKING-STORAGE SECTION do programa, através do comando COPY. Exemplo: COPY DFHAID. No caso das teclas CLEAR, PA1, PA2, PA3, não ocorre transmissão de dados; isto significa que tudo o que for digitado, não chegará até o programa. EIBCALEN Guarda o tamanho da área de comunicação entre os programas, definida como DFHCOMMAREA. Quando esta variável estiver com o valor zero, significa que a área DFHCOMMAREA está vazia. Não foi passada para o programa. EIBRESP A variável EIBRESP contém o código de retorno da execução dos comandos CICS. EIBRCODE Para toda a execução de um comando, o CICS gera um código de retorno para identificar como foi a sua execução. Este código de resposta do CICS é guardado na variável do sistema, EIBRCODE. Possui sempre o retorno do último comando executado. A variável EIBRCODE contém o último código emitido pela função, requerida como resposta da tarefa, concluída pelo CICS. Seu formato e tipo é PIC X(6). Para uma resposta normal, este campo contém zeros hexadecimais (6 X'00').' O terceiro byte de EIBRCODE tem o mesmo valor que EIBRESP. Quando ilógico ou IOERR, ocorre durante operações com arquivo, informação adicional é fornecida no campo EIBRCODE, como se segue:.. xx xx xx xx.. BDAM response... xx VSAM return code..... xx VSAM error code. EIBCPOSN Guarda a posição do cursor na tela. A posição do cursor é representada por um valor numérico sequencial que começa pela primeira posição da primeira linha e recebe o valor zero (0). A tela é definida por 24 linhas, com 80 caracteres cada uma. Por este motivo, a última posição da tela recebe o valor Esta numeração serve apenas para os terminais do tipo 3270, a caractere, e não gráfico. Formato S9(4) COMP. Quando desejar saber o número da linha, deve-se fazer o seguinte: pegar o valor de EIBCPOSN e dividir por 80. Ao resultado da operação deve ser somado o valor um, e a parte inteira é o número da linha. Quando desejar saber o número da coluna, deve-se fazer o seguinte: pegar o valor de EIBCPOSN e dividir por 80. Ao resto da divisão, mais o valor um, é o número da coluna. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 51

52 Áreas de dados Interna O CICS possui áreas especificas para gerenciar as atividades de entrada e saída (I/O) em terminais, arquivos e informações da execução do programa. Áreas internas, temos: TIOA FIOA TIOA - Terminal I/O Área Esta é uma área especifica do terminal. É nela que são colocados os dados que devem ser transmitidos para o terminal e aqueles que são transmitidos do terminal. Obrigatoriamente, devem passar por esta área. É adquirida, dinamicamente, antes que o programa de aplicação correspondente seja carregado na memória. FIOA - File I/O Área Área de entrada e saída de arquivo. Área de dados temporária Quando um programa é executado, é criada uma área com a WORKING-STORAGE SECTION. Existem também áreas de dados temporários que podem ser criados para uso dos programas. Entre as áreas temporárias, temos: a TS e TD. Vamos somente a TS. TS - Temporary Storage A TS é uma área de armazenamento de dados temporários, criados pelo programa. Esta área permanece até que seja excluída pelo programa que a criou ou por outro. Quando dois usuários executam o mesmo programa, são criadas duas TS distintas e cada uma vai ser identificada por um código com oito (8) posições. Este é composto de: Código da transação com quatro (4) dígitos que fica na variável do sistema EIBTRNID, e pelo Código do terminal com quatro (4) dígitos que fica na variável do sistema EIBTRMID.

53 C I C S Memória Temporária O CICS oferece um recurso muito interessante para o tratamento de dados que é a chamada memória temporária. A memória temporária serve para armazenar dados, em forma de arquivo relacional para ser recuperado ou mantido em outro momento e por qualquer programa. Os dados colocados nesta área podem ser criados por uma transação para uso imediato ou posterior e, ainda, por outras transações. São conhecidos como QUEUEING ou FILAS. Esta área é criada, através de um comando do CICS e existe, até que outro comando a exclua. Esta área é muito utilizada, porque, através dela, podem-se armazenar dados onde outros programas podem acessar. Formato da Memória Temporária A memória temporária tem o comportamento igual ao de um arquivo relativo. Os dados podem ser gravados como se fossem registros e cada registro corresponde a uma posição. O tamanho do registro pode variar. Estes registros são armazenados pelo TSP (Temporary Storage Program), tanto na memória principal como na memória auxiliar (disco), dependendo de como o recurso foi definido, no tempo de geração do sistema. O programa de aplicação pode especificar o meio de armazenagem física a ser usado. Cada registro recebe um nome com até oito caracteres, pelo qual ele é identificado. O registro é definido pelo programa, no momento da sua criação. Podem existir vários registros com o mesmo nome, porque o que vai diferenciar é a posição do mesmo, já que o conjunto dos registros gravados pode ser visto como uma tabela interna, indexada pelo número da linha que ocupa na tabela. A identificação dos registros de dados da memória temporária deve ser única, porque podem existir várias tarefas, executadas ao mesmo tempo do mesmo programa. Um modo de criar uma identificação única é incluir a identificação do terminal como parte da identificação dos dados. Isto pode ser feito, porque cada tarefa está associada a um terminal diferente. O registro de memória temporária pode ser recuperado de forma sequencial, como a leitura sequencial de um arquivo, ou pelo número da sua posição. Para gravar uma TS, usa-se o comando WRITEQ TS QUEUE. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 53

54 Controle de terminal O controle do terminal é feito pelo módulo de gerenciador TCP (Terminal Control Program). Ele é o responsável pela comunicação entre o ambiente e o terminal e viceversa, controlando todos os dados que entram e saem do terminal. Se o terminal for validado positivamente, é solicitado ao módulo SCP que aloque a quantidade apropriada de memória e, em seguida, os dados de entrada serão movimentados para a respectiva área do terminal. O terminal que interagir com o ambiente deve estar cadastrado na tabela TCT (Terminal Control Table), com uma única área de identificação, chamada de TCTTE. É a partir das teclas de função pressionadas, no terminal, que o módulo gerenciador de terminal identifica a solicitação de uma ação. Receber dados do terminal Periodicamente, o TCP verifica na tabela TCT se o terminal emitiu algum comando. Se houver algum comando, os dados de entrada são colocados numa área, chamada área de entrada e saída de terminal (TIOA). Estes dados serão movimentados para a área de trabalho do programa, assim que ele for executado. Para transferir dados de um terminal para o programa em execução, utiliza-se o comando RECEIVE. Enviar dados para o terminal Quando o programa enviar dados para o terminal, os mesmos são transferidos para a TIOA e uma indicação é colocada na TCTTE. Como, periodicamente, a TCP verifica a TCT, a solicitação é executada e os dados são transferidos para o terminal. Para transferir dados do programa para o terminal, utiliza-se o comando SEND. Tecla de função como comando, DFHAID O CICS trata somente as teclas ENTER, CLEAR e as de função; ele as interpreta como uma solicitação de serviço, vinda de um terminal. As teclas de função estão declaradas no INCLUDE DFHAID. As teclas de função podem ser: PA1... PA3, PF1... PF24. A variável DFHAID contém as declarações de variáveis, inicializadas com os valores definidos em hexadecimal, correspondente a cada tecla reconhecida pelo CICS. Formato PIC X(1). Veja estrutura do DFHAID no anexo.

55 C I C S Controle de programa O controle de execução do programa é feito pelo módulo de gerenciador PCP (Program Control Program) que é responsável pela sua localização e execução, e administra a passagem do controle do CICS para o programa e vice-versa. É também, através do PCP, que é transferido o controle de um programa para outro programa, através da execução dos comandos: LINK e XCTL. Na execução, o módulo gerenciador PCP usa a tabela PPT (Processing Program Table). O módulo PCP tem como funções: Verificar se o programa já está na memória, Transferir o controle do CICS para o programa de aplicação, Transferir o controle do programa de aplicação para o CICS, Transferir o controle do programa de aplicação para outro programa. Chamar um programa e retornar Quando um programa em execução precisa chamar a execução de outro programa, e que depois o controle volte para o programa chamado, utiliza-se o comando LINK. E para que o programa chamado passe o controle para o programa chamador, utiliza-se o comando RETURN. Chamar um programa e não retornar Quando um programa em execução precisa chamar a execução de outro programa e que depois o controle não volte para o programa chamado, utiliza-se o comando XCTL. Nesta situação, quando o programa chamado terminar a sua execução, e for executado o comando RETURN, o controle passará para o CICS ou para o último programa que executou o comando LINK, da mesma sequência. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 55

56 Controle de arquivo O controle de arquivo é necessário para arquivos de dados e não para tabela relacional (DB2, por exemplo). Este controle é efetuado pelo gerenciador FCP (File Control Program) que tem a função de administrar todos os acessos aos arquivos. O FCP usa os métodos de acesso da IBM, utilizados em arquivos do tipo VSAM, e não manipula arquivos sequenciais. Os arquivos devem estar cadastrados na tabela FCT (File Control Table). O gerenciador permite: Ler um registro (READ) Atualizar um registro (REWRITE) Incluir um registro (WRITE) Excluir um registro que um arquivo VSAM / KSDS (DELETE) Liberar o controle exclusivo (UNLOCK) Os arquivos, depois de cadastrados na tabela, são abertos, quando o ambiente CICS é inicializado (IPL), e fechados, quando o CICS é finalizado.

57 Acesso ao arquivo VSAM C I C S O VSAM (Virtual Storage Access Method) é um dos tipos de arquivos que podem ser acessados por aplicações sob CICS. Uma aplicação CICS lê e grava dados em um arquivo VSAM, na forma de registros individuais. Cada requisição de leitura e gravação é feita através de comandos "COMMAND LEVEL". O CICS suporta acesso para os seguintes tipos de arquivos VSAM: Key Sequenced Data Set (KSDS); Entry Sequenced Data Set (ESDS); Relative Record Data Set (RRDS). O KSDS é o mais comumente utilizado e possui estrutura de "INDEX" e "DATA". Os demais tipos (ESDS e RRDS) possuem apenas estrutura da "DATA". O VSAM organiza os dados em áreas chamadas CA (Control Area), que, por sua vez, são subdivididas em áreas menores, chamadas CI (Control Interval). A unidade de transferência de dados é sempre o CI. Isso significa dizer que, quando uma aplicação lê um registro VSAM, todo o CI onde se encontra o registro é trazido para a memória. Devido a essa característica de transferência de dados, quando da criação de um CLUSTER VSAM, é importante levar em consideração o tipo de acesso que esse arquivo irá sofrer para definir o tamanho ideal de CI/CA. Em geral, acessos diretos (informando a chave) têm uma performance melhor com CI menores (4K a 8K), e acessos sequenciais, ao contrário, são mais eficientes com CI maiores (12K a 32K). Portanto, em um ambiente on-line, o acesso mais adequado para arquivos VSAM é aquele, predominantemente, direto (com chave), evitando-se grandes leituras sequenciais e inserções em massa, que, além de causarem grande número de I/O físicos, prende os Cis, impossibilitando acessos concorrentes. Outro aspecto a ser considerado é se o arquivo irá ou não sofrer inserções e qual a característica das mesmas (se aleatória ou apenas no final do arquivo). Isso implica na utilização ou não do FREE SPACE (quando KSDS) a ser definido para o arquivo. FREE SPACE é a quantidade de espaço que será deixado livre no CI/CA em tempo de carga do arquivo. Esse espaço livre é usado pelo VSAM para fazer inserções de registros, no meio do arquivo, com a finalidade de evitar as ocorrências de SPLIT (SPLIT é a "quebra" de um CI ou CA, quando não há mais espaço para colocar o registro inserido). Os SPLITs só ocorrem em arquivos KSDS. O processo interno que o VSAM utiliza para fazer um SPLIT é bastante pesado, portanto, deve-se evitar ao máximo a sua ocorrência, seja através de parâmetros (FREE SPACE, tamanho de CI/CA), ou por uma utilização mais adequada do arquivo. Fica claro, portanto, que, no ambiente CICS, a ocorrência de SPLITs é ainda menos desejada, pois ela ocasiona degradação do ambiente, uma vez que o CICS aguarda o VSAM terminar o seu processo de SPLIT (CA SPLIT) para poder processar qualquer outro acesso a arquivos. Logo, se a aplicação possui essa característica de grandes inserções, devem-se avaliar outras formas alternativas de armazenamento de dados (ESDS, Banco de Dados...) que, provavelmente, oferecem alternativas melhores do que o VSAM KSDS. Também deve ser avaliado o tipo de compartilhamento (SHARE) necessário para o arquivo, pois a integridade de acesso depende do parâmetro SHAREOPTION. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 57

58 Os valores de SHAREOPTION são: Permitir vários lendo ou um atualizando. Permitir vários lendo e um atualizando. Permitir vários lendo e atualizando (enqueue p/ aplicação). Permitir vários lendo e atualizando (inv lida buffer). SHAREOPTION 3 e 4 devem, sempre que possível, ser evitados, pois não é garantida a integridade pelo método de acesso (o enqueue dos registros fica por responsabilidade da aplicação). No caso da opção 4 (que invalida o buffer), o CICS efetua I/O físico para todo acesso a registro, isto é, não há bufferização de dados. Para o CICS, um arquivo VSAM pode ser recuperável ou não. O CICS garante a integridade de arquivos VSAM-KSDS, através do recurso chamado BACKOUT. Quando uma transação ABENDa (fim anormal) ou quando há uma queda do CICS, no momento em que um VSAM está sendo atualizado, a rotina de BACKOUT desfaz as alterações que foram feitas até o último SYNCPOINT. Deve-se, portanto, considerar o momento adequado na aplicação para se emitir o SYNCPOINT (normalmente ao término de uma LUW). Lembrar que alguns comandos geram implicitamente um SYNCPOINT, como o RETURN (inclusive RETURN TRANSID), e TERMINATE PSB (aplicações DL/I). Arquivos ESDS não permitem BACKOUT. Alternativamente, é possível marcar, logicamente, o registro como excluído (deletado) e, posteriormente, (através de procedimento BATCH), excluí-lo do arquivo. Para garantir a integridade e prevenir acessos concorrentes, o CICS e o VSAM usam o recurso de EXCLUSIVE CONTROL. O CICS serializa, coloca em fila, solicitações de UPDATEs por ENQUEUE, na chave do registro. O VSAM serializa por ENQUEUE, no CI (CONTROL INTERVAL). Desta forma, nenhuma transação pode atualizar um registro, no mesmo CI em que outro está sendo atualizado. O EXCLUSIVE CONTROL do VSAM permanece até a requisição ser completada. Por exemplo, em uma operação de UPDATE, o EXCLUSIVE começa no READ com UPDATE e termina com o REWRITE. Para um arquivo VSAM não recuperável, o EXCLUSIVE CONTROL do CICS termina também, nesse momento, mas, para um arquivo recuperável, ele permanece ativo até a TASK terminar ou emitir um SYNCPOINT. EXCLUSIVE CONTROL é, frequentemente, responsável por situações de DEADLOCK interno de transação, além de causar WAITs em outras transações que, eventualmente, estejam precisando fazer acesso àquele registro ou CI. Portanto, a transação DEVE, assim que possível, liberar o EXCLUSIVE CONTROL. Ao analisarmos as possibilidades de utilização do VSAM, vale lembrar que ele é um Método de Acesso e não um Gerenciador de Banco de Dados. Reflexão A vingança nos torna igual ao inimigo; o perdão faz-nos superior a ele. Autor: desconhecido

59 C I C S Transação Uma transação pode ser considerada como sendo uma unidade de processamento (composto por um ou mais programas de aplicação), iniciada por um único pedido de execução, sempre através de um terminal. Uma transação pode, ainda, necessitar da execução de uma ou mais tarefas para realizar o seu processamento completo. A transação deve estar cadastrada na tabela PCT (Program Control Table) e o seu nome deve ser definido por quatro (4) caracteres e deve estar associada a um único programa de aplicação que deve estar cadastrado na tabela PPT (Processing Program Table). Uma transação tem sua execução iniciada pelo terminal. O processamento de uma transação é iniciado, quando o operador digitar o código, no terminal. É possível executar uma mesma transação em dois ou mais terminais concorrentes, sem causar nenhum conflito porque o CICS atribui um número para cada tarefa. As áreas de controle de transação são únicas por terminal e são criadas quando solicitada a sua execução, pela primeira vez, e eliminada ao término da execução do programa associado à transação. Tome-se como exemplo de transação: Consultar o saldo num caixa eletrônico Transferir um valor da conta corrente para uma aplicação financeira Incluir pedido Para cada execução existe uma interface específica para as seguintes atividades: Aceitar os dados, quando estes estejam prontos para serem transmitidos do terminal ou para o mesmo. Controlar o terminal que solicitou a tarefa. Executar o programa apropriado para executar a tarefa. Controlar o compartilhamento dos recursos do ambiente. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 59

60 Tarefa (TASK) Uma tarefa é, na verdade, uma área de controle chamada de bloco de controle (TCA, Task Control Área) dentro da DAS (Dynamic Storage Area) que liga a atividade da solicitação ao terminal e faz todo o controle entre o programa e os módulos de gerenciamento do ambiente. Também é criada uma área chamada de bloco de interface de execução (EIB) que possui dados para a execução do programa e a sua situação. Uma tarefa pode ser executada por diversas transações ao mesmo tempo, porque a workingstorage section do programa é criada uma para cada transação. Cada tarefa (task) é enumerada sequencialmente, de modo que não existirão possibilidades de confusões nos processamentos. Cada tarefa possui uma identificação própria, composta por um número sequencial ascendente, conhecido como TASKID. As instruções do programa (divisão procedure division do COBOL) são compartilhadas por todas as tarefas. As áreas referentes às procedure division, às WORKING-STORAGE SECTION e às áreas criadas para o gerenciamento das tarefas, estão localizadas numa área específica do CICS chamada de DAS (Dynamic Storage Area).

61 C I C S Visão do fluxo da transação A execução de uma transação envolve vários procedimentos encadeados juntamente com áreas de controle do processamento de todos os programas de aplicação (programa aplicativo) e seus dados. Vejamos, de forma resumida, como é o fluxo de execução de uma transação. Passo 1 - Recepcionar a solicitação Quando uma transação é solicitada, duas informações devem constar: Identificação da transação e os, Dados a serem processados. Após a solicitação da transação, o módulo gerenciador de terminal (TCP, Terminal Control Program) recebe a solicitação e valida se o terminal está cadastrado na tabela. Se estiver cadastrado, é solicitada ao módulo SCP (Storage Control Program) que seja reservada uma área, com memória suficiente para colocar os dados numa área específica, chamada de TIOA Passo 2 - Validar a transação Depois de recepcionada a transação, a mesma é validada pelo módulo gerenciador (KCP, Task Control Program). A transação deve estar cadastrada na tabela PCT (Program Control Table). Se a transação estiver cadastrada, uma tarefa é criada. Esta tarefa é, na verdade, uma área de controle (TCA, Task Control Area), criada na DAS (Dynamic Storage Area) que liga a atividade solicitada ao terminal e faz todo o controle entre o programa de aplicação e os módulos gerenciadores do CICS. Também é criada uma área chamada de bloco de interface de execução (EIB) que possui dados para a execução do programa de aplicação e a sua situação. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 61

62 Passo 3 - Validar programa Após a criação da tarefa, é solicitada a execução do programa de aplicação que está cadastrado na tabela PPT (processing Program Table) e associado à transação, através do módulo PCP (Program Control Program) que o seleciona para ser executado. A execução é feita pelo módulo EIP (Execute Interface Programa) que interpreta os comandos e coloca o resultado da execução na EIB. Após a execução do programa de aplicação, são formatados os dados que são colocados na área de entrada e saída do terminal. Passo 4 - Retornar ao terminal Depois que os dados são formatados na área específica do terminal, é passado o controle para o TCP que envia os dados para o terminal e termina a transação. Neste momento, os recursos adquiridos são liberados e o terminal fica disponível para a execução de outra transação.

63 Passos do fluxo da transação Vejamos, em detalhes, o resumo do fluxo de execução da transação, na sua sequência: C I C S 1. O usuário informa (digita), no terminal de vídeo, os 4 caracteres do código da transação que deseja executar e pressiona a tecla ENTER ou uma PF. 2. O módulo de gerenciamento de terminais TCP (Terminal Control Program) lê a entrada e armazena na tabela TCT (Terminal Control Table), e chama o módulo de gerenciamento de memória SCP, solicitando a alocação de uma área de memória para o terminal (TIOA). O SCP aloca a área necessária e devolve o controle para o TCP. 3. O TCP move a mensagem de entrada (os dados da tela) para a TIOA e passa o comando para o módulo gerenciador de tarefas KCP. 4. O KCP verifica, na tabela de transações PCT, se o código de transação recebido é válido. Se for válido, ele cria uma tarefa para processar esta transação e chama o SCP, solicitando a alocação de uma área de memória para a nova tarefa, a TCA (Task Control Area). Uma vez criada uma TCA para a tarefa, esta tarefa é ligada ao terminal requisitante, por meio de indicadores de localização, armazenados na própria TCA e na TCTTE, e é também criada a área do bloco de controle EIB. 5. Neste ponto, o KCP chama o módulo de gerenciamento de programas (PCP), passando para o mesmo o nome de programa, associado com a transação, encontrado na PCT. 6. O PCP faz uma leitura da PPT para verificar se o programa já se encontra carregado em memória. 7. O PCP consulta sua tabela PCT (Processing Control Table) que associa o código da transação com o programa de aplicação que deve ser executado e faz uma leitura da PPT para verificar se o programa já se encontra carregado em memória. Se ainda não estiver, carrega o mesmo na REGION do CICS e inicia a sua execução e cria uma cópia da WORKING-STORAGE para a nova tarefa. Caso o programa já esteja na memória apenas é criada uma cópia da WORKING-STORAGE para a nova tarefa. 8. No início de sua execução, o programa executa um comando CICS que pede ao módulo TCP para mover os dados da tela armazenada na tabela TCP para os campos de saída da tela, definidos na sua WORKING-STORAGE. 9. O programa de aplicação executa sua lógica, usando os campos recebidos na WORKING- STORAGE. 10. Para acessar arquivos, o programa de aplicação emite uma chamada para o módulo gerenciador FCP (File Control Program) e para executar o comando de acesso ao arquivo solicitado pelo aplicativo e devolve os resultados. O módulo FCP usa a tabela FCT (File Control Table) que contém a descrição e o estado atual de todos os arquivos controlados pelo CICS. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 63

64 11. Terminado o processamento dos dados, o programa de aplicação copia os resultados para os campos de saída da tela em sua WORKING-STORAGE. Em seguida, o programa aplicativo emite um comando CICS para solicitar ao módulo TCP que copie os dados de saída da tela da WORKING-STORAGE do programa para a entrada correspondente, na tabela TCT, e transmita para o terminal do usuário. 12. Para encerrar a transação, o programa aplicativo emite um comando para o PCP (Processing Control Program), que toma as medidas necessárias para o término do programa, e apaga o código da transação da tabela TCT. Todo comando EXEC CICS, emitido pelo programa de aplicação, é interceptado pelo módulo de interface de execução (EIP) que analisa o comando e chama o módulo responsável por sua execução. Por exemplo, os comandos de acesso a arquivos são passados para o FCP, que faz uso da tabela de arquivos (FCT) para executar a função solicitada pelo comando. O FCP também solicita ao SCP a alocação de uma área de memória para transferência dos dados entre o arquivo e o programa de aplicação. Esta área é a File Input Output Area (FIOA). Além dos serviços realizados pelos vários módulos de gerência do CICS, este mantém também um acompanhamento de certos dados que o programa de aplicação pode necessitar, durante a execução, tais como o número da tarefa, data, hora, etc. Estes dados são registrados em uma área de memória à qual o programa tem acesso apenas para leitura, o EIB (Execution Interface Block). Modelo concorrente de uma mesma transaçã o O modelo concorrente é uma grande vantagem do ambiente CICS. Imagine que existem muitos terminais e em todos eles o usuário solicita a execução da mesma transação, simultaneamente. O que acontece? 1. A PROCEDURE DIVISION do programa é carregada uma única vez. 2. Cada solicitação de execução executa o programa e cria uma cópia da área de WORKING-STORAGE do programa para cada uma das tarefas. Reflexão Ao matar seus demônios, cuidado para não destruir o que há de melhor em você. Autor: Nietzche

65 C I C S Tipos de transação As transações, dentro de um ambiente CICS, podem ser síncronas ou assíncronas, dependendo de estarem ou não associadas a um terminal. As transações síncronas podem ser classificadas em: não conversacionais, conversacionais e pseudo-conversacionais, em função do tipo de diálogo entre o programa e o terminal. Transação não conversacional A transação não conversacional processa uma única entrada, a transação digitada no terminal, responde e encerra (devolve o controle para o CICS). Numa transação não conversacional, nunca acontece uma segunda entrada através do terminal; portanto, não há um diálogo real. A transação inicia sua execução, prende o terminal enquanto espera o resultado e, quando a transação terminar, o terminal é liberado junto com os outros recursos. Transação conversacional A transação conversacional é a implementação, um diálogo real, porque ao receber cada entrada do terminal, o CICS responde e aguarda a nova resposta, vinda do terminal. Neste tipo de transação, o terminal, a memória e todos os recursos utilizados ficam presos pela transação até o seu final. A transação conversacional resume-se no envio de dados do CICS para um terminal C I C S Envia (através de mapa ou tela) e do terminal para o CICS. SEND MAP Entre a tarefa de enviar e Recebe receber dados, uma conexão é criada e a instrução é RECEIVE MAP executada, prendendo todos os recursos do ambiente envolvidos, para realizar a solicitação, até que o usuário pressione alguma tecla de função (PF KEY: PF, PA ou ENTER ou CLEAR). Durante o período de espera, a transação é considerada "em uso" pelo CICS e, com isso, todos os recursos necessários para a execução do programa ficam sendo usados e retidos até que termine a solicitação (a transação). O envio de dados do ambiente para o terminal é feito pelo comando SEND MAP e do terminal para o ambiente (programa) é RECEIVE MAP. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 65

66 Se durante a execução de um programa, outro usuário solicitar a execução do mesmo, o CICS carrega uma nova cópia na memória. Este processo pode levar a memória a se esgotar e causar grandes danos e pode até o CICS cair (sair do ar). Transação pseudoconversacional A transação pseudoconversacional comporta-se da mesma maneira que na conversacional; o que muda é a maneira de programar a sequência dos comandos e de como o programa deve encerrar o seu processamento. Este tipo de transação pressupõe que o programa solicite ao ambiente o que deseja realizar e termina aí o vínculo com o próprio ambiente. O ambiente executa a solicitação e, ao término da mesma, envia o resultado para o respectivo terminal. Entre a solicitação ao ambiente e o retorno das informações, podem ser feitas quantas solicitações forem necessárias e, por diversos usuários, que o ambiente atenderá a todas elas e responderá com toda a atenção, sem que o usuário precise aguardar. Por exemplo: quando é executada a transação para consultar os dados do cadastro do cliente, o programa correspondente é executado e os recursos do CICS são acionados; uma tela, em branco, é apresentada ao usuário para que ele insira o código do cliente a ser consultado. Após a exibição da tela, a execução do programa é interrompida e o ambiente fica esperando uma nova tecla de função para que a tarefa possa ser recomeçada. Toda vez que uma solicitação (transação) é executada, todos os recursos utilizados são liberados, ficando ativas somente as áreas de controle da transação e as tabelas de dados correspondentes. Numa transação pseudoconversacional, a lógica do programa termina de executar um passo e a transação fica em estado de espera com a liberação da memória e dos recursos utilizados, dispondo os mesmos para que o ambiente possa utilizá-los novamente, após a exibição da mensagem no terminal ao usuário. Por isso é importante que a lógica do programa esteja preparada para continuar do mesmo ponto que parou anteriormente e, assim, sucessivamente, até que termine a execução de toda a lógica do programa. O CICS interpreta as teclas de função como uma ordem de execução vinda de um terminal. As teclas de função podem ser: o ENTER, o PF3, entre outras. Quando o usuário pressionar uma tecla de função após a exibição da tela, o próprio programa deve terminar a execução da tarefa com a emissão de um comando específico, que será tratado mais adiante, informando ao CICS que deve executar novamente o programa associado à transação. É neste momento que a execução do programa deve recomeçar pela primeira linha escrita na PROCEDURE DIVISION e com os dados vindos do terminal. Que comando e como será feito isso, será visto mais adiante.

67 C I C S Diagrama pseudoconversacional C I C S PROGRAMA Pressiona Função Recebe RECEIVE MAP Inicia e termina Exibe mensagem Envia Inicia e SEND MAP termina Vantagens da transação pseudoconversacional O CICS por si só pode ser pouco relevante, mas, quando aplicado o método de desenvolvimento chamado de programação pseudoconversacional ou reentrante, aí ele vira um excelente, e até imbatível, ambiente para aplicações ON-LINE REAL-TIME onde podem existir centenas de usuários, solicitando a mesma funcionalidade ao mesmo tempo. Neste caso, o CICS executa todas elas como se fossem ao mesmo tempo e retorna o resultado em segundos, garantindo a integridade dos dados. O que precisa para isso é aplicar o conceito de programação reentrante, na criação do programa que rodam sob o ambiente CICS. Conceitos da execução pseudoconversacional Para que o programa possa utilizar os princípios da transação pseudoconversacional, é preciso elaborar uma lógica própria na sua estrutura de programação para garantir que a resposta ao negócio seja a esperada. Para melhor entendimento, vamos analisar a estrutura básica de um programa que efetua uma consulta simples e direta dos dados, em alguma base de dados, e exibe numa tela. Neste caso, o programa solicita um código do cadastro e recebe o nome, por exemplo. Para que o programa possa exibir o nome, é preciso efetuar vários passos que vamos identificar como sendo as fases da execução. Os passos aqui apresentados não têm a ver com a quantidade de fases (ciclos da lógica). Os passos estão ligados à quantidade de vezes que o usuário solicita tarefas ao programa. As fases aqui mencionadas para este exemplo são: w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 67

68 como objetivo apresentar a tela ao usuário. Primeira fase: a primeira fase tem como objetivo validar o código do cliente e obter os respectivos dados para apresentar ao usuário. Passo 1 - Obter transação No primeiro passo, a transação ainda não existe e o objetivo é criar a transação e executar, pela primeira vez, o programa, para que seja apresentada a tela ao usuário. No primeiro passo, a transação ainda não existe e o usuário digita no terminal o nome da transação TRN1. Após a digitação, o módulo gerenciador de terminal captura a solicitação e começa a executar as atividades associadas. Após receber a mensagem do terminal e identificar a transação, as áreas da transação e da tarefa são criadas. Após a criação das áreas da tarefa e da transação, o programa é localizado, carregado e executado. Nesta primeira execução, o programa tem como objetivo montar o mapa (tela), enviar para o respectivo terminal e aguardar que o usuário digite algum dado. Passo 2 - Obter dados do cliente - Cliente não existe O segundo passo tem como objetivo receber o código do cliente e obter seus dados que representam a fase UM deste exemplo.

69 C I C S Após a execução, pela primeira vez, do programa, o objetivo do fluxo é executar a fase UM que tem como objetivo validar o código do cliente e obter os dados do dele. No caso deste segundo passo, é que o usuário digita um código inválido ou não digita nada. Neste caso, o programa executa a primeira fase e retorna a mensagem de CÓDIGO INVÁLIDO. Passo 3 - Obter dados do cliente - Cliente existe O terceiro passo tem o mesmo objetivo do passo dois. Realizar a fase UM do programa. Uma fase pode ser executada quantas vezes forem necessárias, até que seja atingido o objetivo. Após a execução do segundo passo, que executou a fase UM do programa, o passo três é uma repetição do passo dois, porque a fase um foi executada, mas, não foi atingida com sucesso. Normalmente, uma fase é alcançada, quando a fase anterior foi realizada com sucesso, isto é, atingiu o objetivo do pedaço da lógica. Neste caso, o passo TRÊS é executado com o código do cliente igual a 21. Neste caso, o passo três é executado com sucesso e o objetivo da lógica é atingido. Os dados do cliente são apresentados para o usuário. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 69

70 Página deixada em branco

71 C I C S Fluxo da transação pseudoconversacional Neste item, é apresentado o fluxo da solicitação, no contexto da programação com a apresentação da sequência da lógica e seus comandos. Os passos e fases são as mesmas apresentadas no fluxo pseudoconversacional. Passo 1 - Obter transação No primeiro passo, a transação ainda não existe e o objetivo é criar a transação e executar, pela primeira vez, o programa, para que seja apresentada a tela ao usuário. TRN1 Validar TRN1 CICS No primeiro passo, a transação ainda não existe e o usuário digita, no terminal, o nome da transação TRN1. Após a digitação, o módulo gerenciador de terminal captura a solicitação e termina aí a ligação do terminal com o ambiente. Neste momento, o CICS começa a executar as atividades associadas para o recebimento da mensagem do terminal, para identificar a transação e para criar a transação, a tarefa e as áreas correspondentes. CODIGO: NOME..: ESTADO: - DIGITE O CODIGO Transação encontrada CICS Programa DFHCOMMAREA Se 1ª Fase Processamento SEND DFHCOMMAREA RETURN TRANSID Após a criação das áreas da tarefa e da transação, o programa é localizado, carregado e executado. Para executar o programa, é passada para ele uma área de dados que pode ser transferida do CICS ou de outro programa, chamada de DFHCOMMAREA. Nesta primeira execução, o programa tem como objetivo montar o mapa (tela), enviar para o respectivo w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 71

72 terminal e aguardar que o usuário digite algum dado. Para isso, é preciso efetuar os seguintes pontos da lógica: o primeiro executa procedimentos específicos da lógica; aqui é representado pelo recebimento da área de dados, vinda do terminal ou de uma área interna de dados. O segundo ponto da lógica é enviar o mapa, pela primeira vez, para o terminal, através do comando SEND. E o terceiro ponto, e último, é a execução do comando RETURN. Este comando sempre vai ser o último a ser executado, no final de cada fase. Tem como objetivo terminar o programa sem eliminar a transação. Passo 2 - Obter dados do cliente - Cliente não existe O segundo passo tem como objetivo receber o código do cliente e obter seus dados que representam a fase um deste exemplo. CODIGO: 12 NOME..: ESTADO: - Validar código CICS AGUARDAR... Após a execução, pela primeira vez, do programa, o objetivo do fluxo é executar a fase UM que tem como objetivo validar o código do cliente e obter os dados do dele. No caso deste segundo passo, é que o usuário digita um código inválido ou não digita nada e o ambiente capta a solicitação e aí começa a execução, e a conexão do terminal com o CICS é desfeita. Agora é por conta e risco do CICS. CODIGO: 12 NOME..: ESTADO: - CODIGO INVALIDO Código inválido CICS Programa DFHCOMMAREA Se 1ª Fase Processamento SEND DFHCOMMAREA RETURN TRANSID Após a primeira execução do programa, o mesmo fica na memória para não ser necessária a sua leitura. Com isso, o CICS garante agilidade e espaço para o programa. Para executar o programa, e toda vez que o mesmo ocorre, é passada para ele uma área de dados que pode ser transferida do CICS ou de outro programa, chamada de DFHCOMMAREA. Nesta execução, o objetivo é executar a parte da lógica apelidada de

73 C I C S FASE 1. Para executar a fase UM, é preciso efetuar os seguintes pontos da lógica: o primeiro executa procedimentos específicos da lógica; aqui é representado pela consistência dos dados de entrada e, logo a seguir, obter os dados do cliente. O segundo ponto da lógica é enviar os respectivos dados para o terminal, através do comando SEND. E o terceiro ponto, e último, é a execução do comando RETURN. Este comando sempre vai ser o último a ser executado, no final de cada fase. Tem como objetivo terminar o programa sem eliminar a transação. Neste caso, o programa executa a primeira fase e retorna a mensagem CÓDIGO INVÁLIDO. Passo 3 - Obter dados do cliente - Cliente existe O terceiro passo tem o mesmo objetivo do passo dois. Realizar a fase um do programa. Uma fase pode ser executada quantas vezes forem necessárias, até que seja atingido o objetivo. CODIGO: 21 NOME..: ESTADO: - Validar código CICS AGUARDAR... Após a execução do segundo passo que executou a fase UM do programa, o passo três é uma repetição do passo dois, porque a fase um foi executada, mas não foi atingida com sucesso. Normalmente, uma fase é alcançada, quando a fase anterior foi realizada com sucesso, isto é, atingiu o objetivo da lógica. No caso deste terceiro passo, o usuário informa um código válido. Após o usuário pressionar uma tecla de função, o ambiente capta a solicitação e aí começa a execução e a conexão do terminal com o CICS é desfeita. Agora é por conta e risco do CICS. CODIGO: 21 NOME..: VANESSA ESTADO: RJ - RIO CONSULA COM SUCESSO Código encontrado CICS Programa DFHCOMMAREA Se 1ª Fase Processamento SEND DFHCOMMAREA RETURN TRANSID Após a primeira execução do programa, o mesmo fica na memória para não ser necessária a sua leitura. Com isso o CICS garante agilidade e espaço para o programa. Para executar o programa, e toda vez que o mesmo ocorre, é passada para ele uma área de dados que pode ser transferida do CICS ou de outro programa, chamada de DFHCOMMAREA. Nesta w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 73

74 execução, o objetivo é executar a parte da lógica, apelidada de FASE 1, a mesma do passo dois. Para executar a fase UM, é preciso efetuar os seguintes pontos da lógica: o primeiro executa procedimentos específicos da lógica; aqui é representado pela consistência dos dados de entrada, e logo a seguir, obter os dados do cliente. O segundo ponto da lógica é enviar os respectivos dados para o terminal, através do comando SEND. E o terceiro ponto, e último, é a execução do comando RETURN. Este comando sempre vai ser o último a ser executado, no final de cada fase. Tem como objetivo terminar o programa sem eliminar a transação. Neste caso, o programa executa a primeira fase e retorna a mensagem de CONSULTA COM SUCESSO. Após a execução completa de toda a lógica, o programa deve providenciar para que o programa possa, na sua próxima execução, começar pela fase UM de novo. A execução da FASE 1, nos passos dois e três, foi somente porque, no passo dois, a lógica não foi plenamente atendida, o que é diferente, neste ponto, onde a lógica é plenamente atendida e, por isso, o programa deve recomeçar a execução da sua lógica pela fase UM. Área de comunicação (DFHCOMMAREA) Para que o programa possa ser executado por fases, é preciso garantir que os dados que vão ser recebidos e devolvidos possam ficar íntegros e preservados, até que todo o processo tenha terminado. Para isso, é preciso utilizar a área de comunicação do CICS chamada de DFHCOMMAREA, e que fica ativa, até que o programa, que vai receber a área efetivamente, tenha recebido. É somente nesta área, que os dados são passados do CICS para o programa, de programa para programa e do programa para o CICS. No programa, ela é definida na LINKAGE SECTION. Vejamos algumas observações: Os dados de DFHCOMMAREA devem ser movidos para a WORKING-STORAGE SECTION, se interessa transmitir todos, ou alguns, no próximo retorno ao CICS, já que o parâmetro COMMAREA do comando faz referência a um item de WORKING. Na COMMAREA guardam-se não só dados numéricos e alfanuméricos, mas também indicadores que possam servir para canalizar a execução, quando o CICS reexecutar o programa. A COMMAREA é específica da sessão utilizador-programa e o CICS cria e gerencia, automaticamente. O parâmetro LENGTH é obrigatório. Em cada retorno ao CICS, pode variar-se o tamanho (longitude) dos dados a guardar da forma que mais convenha. Quando um programa é executado, o CICS devolve o tamanho dos dados no campo EIBCALEN do EIB. O valor deste campo é zero, na primeira vez que se executa o programa, ou se no comando RETURN TRANSID não se especificar a COMMAREA. A DFHCOMMAREA pode subdividir-se em níveis da forma que mais convenha. Os níveis de identificativo e de longitude podem ser quaisquer, exceto o nível 88.

75 Exemplo de DFHCOMMAREA C I C S * * * ÁREA DE COMUNICACAO DO PROGRAMA * * * LINKAGE SECTION. 01 DFHCOMMAREA. 03 LK-AREA-RECEBIDA-PROGRAMA. 05 FASE PIC X(001). 05 CODIGO PIC 9(004). O5 NOME PIC X(020). Fluxo reentrante O conceito do fluxo reentrante diz que o programa deve ser executado quantas vezes forem necessárias para concluir a lógica do negócio da respectiva funcionalidade. Isto quer dizer que o programa sempre vai ser executado pela primeira linha da PROCEDURE DIVISION, isto é, sempre é iniciado o seu processo de execução. A sua execução é considerada como se fosse a primeira vez, mas, para que o processamento seja encadeado, deve ser controlado, o que aqui identificamos como fases da execução. Quando o programa é executado, pela primeira, o sistema carrega a variável de controle, chamada de EIBTRNID, com o código da transação que está associada ao programa e, com isto, significa que o programa vai ser executado, pela primeira vez; esta é a primeira fase da execução. Primeira fase Nesta primeira fase, o programa tem como objetivo apresentar a tela onde solicita que o usuário informe o código a ser pesquisado para obter o nome. Primeira Fase Receber área de comunicação Identificar a fase Exibir a tela Terminar a execução Por que o programa exibe a tela e termina a execução? Desta forma o CICS libera os recursos da máquina para que os mesmos não fiquem presos, até que o usuário decida efetuar a interação com o programa. Como é feito isso no CICS? É utilizado o comando RETURN para passar o controle do programa para o CICS. Neste caso, o CICS fica aguardando que seja emitida uma tecla de função do terminal correspondente da transação. O comando RETURN solicita ao CICS que seja executada a transação, e a variável de controle do sistema EIBTRNID não possui mais o código da transação. Com isso, identificase que não é mais a primeira execução do programa, a primeira fase. O comando RETURN w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 75

76 informa ao CICS o nome da transação que deve ser executada, mas que o mesmo já foi executado outras vezes e por isso já existe área de controle e de dados do programa. Segunda fase Na segunda fase, o programa tem como objetivo receber os dados do terminal e processar toda a lógica necessária para obter o nome e apresentá-lo no terminal. Para receber os dados da tela (no CICS chama-se mapa), utiliza-se o comando do CICS RECEIVE que recebe a área de dados do respectivo mapa do CICS. Depois de receber os dados do mapa, é Segunda Fase Receber área de comunicação Receber a tela Identificar a fase Executar a respectiva lógica Exibir a tela Terminar a execução executada a respectiva fase que, neste exemplo, é obter o nome e apresentá-lo na tela para, em seguida, terminar a execução do programa, passando o controle para o CICS, com a identificação de que vai retornar à fase primeira fase. Retorno à primeira fase Como neste exemplo, somente são necessárias duas fases para executar, integralmente, o objetivo da funcionalidade solicitada; o programa é executado novamente, mas iniciando na primeira fase. E, assim, sucessivamente, até que seja solicitado o término da execução.

77 C I C S Questionário Introdução ao CICS 1. O que é uma transação? A. Pode ser acionada através de um terminal. B. Executa somente um programa de aplicação. C. Considerada como uma unidade de processamento. D. Nenhuma das opções. 2. Que atribuições possui o módulo FCP (File Control Program)? A. Controlar todas as operações dos arquivos ISAM e VSAM. B. Localizar programas, carregá-los na memória e executá-los. C. Administrar todos os serviços que estão atrelados à data da máquina. D. Nenhuma das opções. 3. CICS é um ambiente que está organizado com base em: A. Módulos gerenciadores. B. Tabelas de controle C. Áreas de administração de dados e processos em execução. D. Todas as opções. 4. Como um programa CICS deve ser encerrado? A. Com o comando STOP RUN. B. Com o comando RETURN GOBACK. C. Com o comando GOBACK RETURN. D. Nenhuma das opções. 5. Um programa que é executado sob o CICS: A. Não precisa fechar, mas precisa abrir o arquivo. B. Não precisa abrir nem fechar arquivo. C. Precisa abrir e fechar arquivo. D. Nenhuma das opções. 6. Qual o módulo gerenciador responsável pela criação da tarefa? A. KCP - Task Control Program. B. PCP - Program Control Program. C. FCP - File Control Program. D. SCP - Storage Control Program. w w w. c a r l o s c a m p o s i n f o. c o m P á g i n a 77

CICS. Customer Information Control System. Carlos J E de Campos. G u i a d e R e f e r ê n c i a. S e g u n d a e d i ç ã o S ã o P a u l o 2 0 1 3

CICS. Customer Information Control System. Carlos J E de Campos. G u i a d e R e f e r ê n c i a. S e g u n d a e d i ç ã o S ã o P a u l o 2 0 1 3 Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas e Pensamentos D e s e n v o l v i m e n t o C O B O L M a i n f r a m e G u

Leia mais

DB2. IBM DATABASE For COBOL. Carlos J E de Campos. G u i a d e R e f e r ê n c i a

DB2. IBM DATABASE For COBOL. Carlos J E de Campos. G u i a d e R e f e r ê n c i a Carlos J E de Campos DB2 IBM DATABASE For COBOL Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas e Pensamentos D e s e n v o l v i m e n t o C O B O L M a i n f r a m e G u i a d e R e f

Leia mais

DB2. IBM DATABASE For COBOL. Carlos J E de Campos. G u i a d e R e f e r ê n c i a. S e g u n d a e d i ç ã o S ã o P a u l o 2 0 1 3

DB2. IBM DATABASE For COBOL. Carlos J E de Campos. G u i a d e R e f e r ê n c i a. S e g u n d a e d i ç ã o S ã o P a u l o 2 0 1 3 Carlos J E de Campos DB2 IBM DATABASE For COBOL Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas e Pensamentos D e s e n v o l v i m e n t o C O B O L M a i n f r a m e G u i a d e R e f

Leia mais

SISTEMA DE COMUNICAÇÃO DO SISTEMA INTEGRADO DE ADMINISTRAÇÃO DE SERVIÇOS GERAIS - COMUNICA. Manual do Usuário

SISTEMA DE COMUNICAÇÃO DO SISTEMA INTEGRADO DE ADMINISTRAÇÃO DE SERVIÇOS GERAIS - COMUNICA. Manual do Usuário SISTEMA DE COMUNICAÇÃO DO SISTEMA INTEGRADO DE ADMINISTRAÇÃO DE SERVIÇOS GERAIS - COMUNICA Manual do Usuário Título SISTEMA DE COMUNICAÇÃO DO SISTEMA INTEGRADO DE ADMINISTRAÇÃO DE SERVIÇOS GERAIS - COMUNICA

Leia mais

CICS Resumo. Acerca deste resumo: Introdução (1-2) Arquitectura (3-4)

CICS Resumo. Acerca deste resumo: Introdução (1-2) Arquitectura (3-4) CICS Resumo Acerca deste resumo: Este é o resumo da matéria estudada para apresentar o sistema IBM CICS, o monitor transaccional mais utilizado. Cada secção diz respeito a um conjunto de acetatos que são

Leia mais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais Sistema Operacional Processo e Threads Introdução a Processos Todos os computadores modernos são capazes de fazer várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador pode

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 4 SUPORTE AO SISTEMA OPERACIONAL Prof. Luiz Gustavo A. Martins Sistema Operacional (S.O.) Programa responsável por: Gerenciar os recursos do computador. Controlar a execução

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

DOCUMENTO DE REQUISITOS

DOCUMENTO DE REQUISITOS DOCUMENTO DE REQUISITOS ID documento: Data: / / Versão : Responsável pelo documento: ID Projeto: HISTÓRICO DE REVISÕES Data de criação/ atualização Descrição da(s) Mudança(s) Ocorrida(s) Autor Versão do

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Evolução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Introdução Componentes de um sistema computacional Conceituação Características desejáveis Organização

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

Instalação do IBM SPSS Modeler Server Adapter

Instalação do IBM SPSS Modeler Server Adapter Instalação do IBM SPSS Modeler Server Adapter Índice Instalação do IBM SPSS Modeler Server Adapter............... 1 Sobre a Instalação do IBM SPSS Modeler Server Adapter................ 1 Requisitos de

Leia mais

Para que o NSBASIC funcione corretamente em seu computador, você deve garantir que o mesmo tenha as seguintes características:

Para que o NSBASIC funcione corretamente em seu computador, você deve garantir que o mesmo tenha as seguintes características: Cerne Tecnologia www.cerne-tec.com.br Conhecendo o NSBASIC para Palm Vitor Amadeu Vitor@cerne-tec.com.br 1. Introdução Iremos neste artigo abordar a programação em BASIC para o Palm OS. Para isso, precisaremos

Leia mais

Ambiente de Programação dos Painéis de Operação. Incon Eletrônica Ltda. Rua Alfeo Ambrogi, 735 CEP 13570-540 São Carlos SP

Ambiente de Programação dos Painéis de Operação. Incon Eletrônica Ltda. Rua Alfeo Ambrogi, 735 CEP 13570-540 São Carlos SP Ambiente de Programação dos Painéis de Operação Incon Eletrônica Ltda. Rua Alfeo Ambrogi, 735 CEP 13570-540 São Carlos SP Índice 1)Introdução...2 2)Instalação do Oppe...3 3)Descrição do OPPE...4 3.1 Selecionar

Leia mais

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola SO - Conceitos Básicos Introdução ao Computador 2010/01 Renan Manola Definição de SO É uma camada de software que opera entre o hardware e os programas aplicativos voltados ao usuário final. É uma estrutura

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

Manual do Usuário. Sistema Financeiro e Caixa

Manual do Usuário. Sistema Financeiro e Caixa Manual do Usuário Sistema Financeiro e Caixa - Lançamento de receitas, despesas, gastos, depósitos. - Contas a pagar e receber. - Emissão de cheque e Autorização de pagamentos/recibos. - Controla um ou

Leia mais

Manual de referência do Device Storage Manager

Manual de referência do Device Storage Manager Manual de referência do Device Storage Manager Avisos sobre direitos autorais e marcas comerciais Copyright 2003 Hewlett-Packard Development Company, L.P. É proibida a reprodução, adaptação ou tradução

Leia mais

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo 4 PROCESSOS Os primeiros sistemas operacionais permitiam que apenas um processo fosse executado por vez. Dessa maneira, este processo tinha todo o sistema computacional a sua disposição. Os atuais sistemas

Leia mais

O cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada.

O cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada. Editor de Ladder para VS7 Versão Teste O editor de ladder é um software de programação que permite que o VS7 e o µsmart sejam programados em linguagem de contatos. Esse editor está contido na pasta Público

Leia mais

Notas de Aplicação. Introdução à MMI Geração II. HI Tecnologia. Documento de acesso público

Notas de Aplicação. Introdução à MMI Geração II. HI Tecnologia. Documento de acesso público Notas de Aplicação Introdução à MMI Geração II HI Tecnologia Documento de acesso público ENA.00047 Versão 1.01 abril-2008 HI Tecnologia Introdução à MMI Geração II Apresentação Esta nota de aplicação foi

Leia mais

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010) SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010) OBJETIVO GERAL Este trabalho possui o objetivo de exercitar a lógica de programação dos alunos do Terceiro ano do Curso de BSI e também desenvolver

Leia mais

CONFORTO COM SEGURANÇA CONFORTO COM SEGURANÇA. 0 P27070 - Rev

CONFORTO COM SEGURANÇA CONFORTO COM SEGURANÇA. 0 P27070 - Rev P27070 - Rev. 0 1. RESTRIÇÕES DE FUNCIONAMENTO RECEPTOR IP ÍNDICE 1. Restrições de Funcionamento... 03 2. Receptor IP... 03 3. Inicialização do Software... 03 4. Aba Eventos... 04 4.1. Botão Contas...

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

Introdução aos Sistemas

Introdução aos Sistemas Introdução Introdução aos Sistemas Operacionais 1 2 3... n Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Compilador Editor de texto Browser Programas

Leia mais

Manual do Usuário CFCWeb BA

Manual do Usuário CFCWeb BA ÍNDICE Acesso ao sistema... 2 Tela Principal... 3 Cadastro de Candidatos... 5 Agenda Teórico... 6 Agenda Prático... 7 Consulta Agendamentos do Candidato por Serviço... 9 Cadastro de Grade Horária... 10

Leia mais

Guia Técnico da Solução TEF Discado/Dedicado

Guia Técnico da Solução TEF Discado/Dedicado Guia Técnico da Solução TEF Discado/Dedicado INTERFACE E AMBIENTE Versão - 09/2007 OBJETIVO OBJETIVO O Guia Técnico da Solução TEF Discado/Dedicado foi elaborado para apoiar a integração de Aplicativos

Leia mais

Apresentação. Rio de Janeiro, 19 de fevereiro de 2002 Waldemar Celes

Apresentação. Rio de Janeiro, 19 de fevereiro de 2002 Waldemar Celes Apresentação A disciplina de Estruturas de Dados (ED) está sendo ministrada em sua nova versão desde o segundo semestre de 1998. Trata-se da segunda disciplina de informática oferecida no curso de Engenharia

Leia mais

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1 Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB

PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB Sumep Julho/2006 PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB Objetivo

Leia mais

Estruturando um aplicativo

Estruturando um aplicativo Com o Visual FoxPro, é possível criar facilmente aplicativos controlados por eventos e orientados a objetos em etapas. Esta abordagem modular permite que se verifique a funcionalidade de cada componente

Leia mais

Realização de Estimativas utilizando Análise de Pontos de Função

Realização de Estimativas utilizando Análise de Pontos de Função CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA DISCIPLINA: ENGENHARIA DE SOFTWARE PROFESSOR(A): MONALESSA PERINI BARCELLOS CÓDIGO: INF281 EMAIL: MONALESSA@INF.UFES.BR Realização de Estimativas utilizando

Leia mais

CONHECENDO O AMBIENTE VIRTUAL DE APRENDIZAGEM Moodle - Learning Management System Versão 1.3

CONHECENDO O AMBIENTE VIRTUAL DE APRENDIZAGEM Moodle - Learning Management System Versão 1.3 CONHECENDO O AMBIENTE VIRTUAL DE APRENDIZAGEM Moodle - Learning Management System Versão 1.3 Este tutorial não tem como finalidade esgotar todas as funcionalidades do Ambiente, ele aborda de forma prática

Leia mais

Banco de Dados Microsoft Access: Criar tabelas

Banco de Dados Microsoft Access: Criar tabelas Banco de Dados Microsoft Access: Criar s Vitor Valerio de Souza Campos Objetivos do curso 1. Criar uma no modo de exibição Folha de Dados. 2. Definir tipos de dados para os campos na. 3. Criar uma no modo

Leia mais

Manual do Usuário ZKPatrol1.0

Manual do Usuário ZKPatrol1.0 Manual do Usuário ZKPatrol1.0 SOFTWARE Sumário 1 Introdução de Funções... 3 1.2 Operação Básica... 4 1.3 Seleção de idioma... 4 2 Gerenciamento do Sistema... 5 2.1 Entrar no sistema... 5 2.2 Sair do Sistema...

Leia mais

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas

Leia mais

1.2 Tipos de Sistemas Operacionais

1.2 Tipos de Sistemas Operacionais 1.2 Tipos de Operacionais Tipos de Operacionais Monoprogramáveis/ Monotarefa Multiprogramáveis/ Multitarefa Com Múltiplos Processadores 1.2.1 Monoprogramáveis/Monotarefa Os primeiros sistemas operacionais

Leia mais

Fundamentos de Sistemas Operacionais. Sistema de Arquivos. Prof. Edwar Saliba Júnior Março de 2007. Unidade 03-002 Sistemas de Arquivos

Fundamentos de Sistemas Operacionais. Sistema de Arquivos. Prof. Edwar Saliba Júnior Março de 2007. Unidade 03-002 Sistemas de Arquivos Sistema de Arquivos Prof. Edwar Saliba Júnior Março de 2007 1 Objetivos Facilitar o acesso dos usuários ao conteúdo dos arquivos; Prover uma forma uniforme de manipulação de arquivos, independente dos

Leia mais

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos Banco de Dados Microsoft Access: Criar tabelas Vitor Valerio de Souza Campos Objetivos do curso 1. Criar uma tabela no modo de exibição Folha de Dados. 2. Definir tipos de dados para os campos na tabela.

Leia mais

Processamento de Transação

Processamento de Transação Processamento de Transação Banco de Dados II 3ª Série Transações Introdução a Transações Propriedades ACID Controle de Concorrência e Restauração Recuperação da Transação COMMIT de duas fases Estado da

Leia mais

SisLegis Sistema de Cadastro e Controle de Leis

SisLegis Sistema de Cadastro e Controle de Leis Sistema de Cadastro e Controle de Leis Desenvolvido por Fábrica de Software Coordenação de Tecnologia da Informação Pág 1/22 Módulo: 1 Responsável: Desenvolvimento Ti Data: 01/11/2012 Versão: 1.0 Empresa:

Leia mais

Tutorial 122 CP DUO Inversor WEG (RS485 Protocolo MODBUS - DUO Master)

Tutorial 122 CP DUO Inversor WEG (RS485 Protocolo MODBUS - DUO Master) Tutorial 122 CP DUO Inversor WEG (RS485 Protocolo MODBUS - DUO Master) Este documento é propriedade da ALTUS Sistemas de Informática S.A., não podendo ser reproduzido sem seu prévio consentimento. Altus

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

CAPÍTULO 6 COMUNICAÇÃO SERIAL

CAPÍTULO 6 COMUNICAÇÃO SERIAL CAPÍTULO 6 COMUNICAÇÃO SERIAL DEIXADO INTENCIONALMENTE EM BRANCO ÌNDICE 1 COMUNICAÇÃO SERIAL... 5 1.1 - Enviar um arquivo do Proteo... 6 1.2 - Receber um arquivo No Proteo... 9 1.3 - Verificando resultados

Leia mais

SISTEMA COOL 2.0V. (Certificado de Origen On Line) MANUAL DO USUÁRIO

SISTEMA COOL 2.0V. (Certificado de Origen On Line) MANUAL DO USUÁRIO SISTEMA COOL 2.0V (Certificado de Origen On Line) MANUAL DO USUÁRIO ÍNDICE Pré-requisitos para utilização do sistema....2 Parte I Navegador...2 Parte II Instalação do Interpretador de PDF...2 Parte III

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

Treinamento GVcollege Módulo Administrador de Programas e Sistemas

Treinamento GVcollege Módulo Administrador de Programas e Sistemas Treinamento GVcollege Módulo Administrador de Programas e Sistemas AVISO O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio.

Leia mais

ARQUIVOS. Os arquivos criados em meios magnéticos poderão ser acessados para leitura e escrita na forma seqüencial, direta ou indexada.

ARQUIVOS. Os arquivos criados em meios magnéticos poderão ser acessados para leitura e escrita na forma seqüencial, direta ou indexada. Texto retirado e adaptado da apostila A Linguagem Pascal, disponível no site http://www.portaldaprogramacao.com (autor: desconhecido) ARQUIVOS Anteriormente, foi estudado o conceito de tabelas em memória

Leia mais

Capítulo 7 O Gerenciador de Arquivos

Capítulo 7 O Gerenciador de Arquivos Capítulo 7 O Gerenciador de Arquivos Neste capítulo nós iremos examinar as características da interface do gerenciador de arquivos Konqueror. Através dele realizaremos as principais operações com arquivos

Leia mais

Excel 2010 Modulo II

Excel 2010 Modulo II Excel 2010 Modulo II Sumário Nomeando intervalos de células... 1 Classificação e filtro de dados... 3 Subtotais... 6 Validação e auditoria de dados... 8 Validação e auditoria de dados... 9 Cenários...

Leia mais

Sistema Integrado de Automação Módulo TECHMANAGER Versão 1.0.0.77 (serial)

Sistema Integrado de Automação Módulo TECHMANAGER Versão 1.0.0.77 (serial) SOLUÇÕES EM TECNOLOGIA Sistema Integrado de Automação Módulo TECHMANAGER Versão 1.0.0.77 (serial) Manual de Usuário TECHNEXT (2012) 1 de 28 SOLUÇÕES EM TECNOLOGIA Página Sumário 1. Sobre o Techmanager...

Leia mais

Versão 1.6. Guia do Usuário v.1.0. Tecnologia XyzmoSIGNificant

Versão 1.6. Guia do Usuário v.1.0. Tecnologia XyzmoSIGNificant Versão 1.6 Guia do Usuário v.1.0 Tecnologia XyzmoSIGNificant 1 SUMÁRIO INTRODUÇÃO... 3 CAPÍTULO I...4 1. CARACTERÍSTICAS DA SOLUÇÃO... 4 Autenticação... 4 Segurança... 4 Auditável... 4 Perfil de Usuários...

Leia mais

Sistemas Operacionais

Sistemas Operacionais 7 Sistemas Operacionais 7.1 Fundamentos da ciência da computação Cengage Learning Objetivos 7.2 Compreender o papel do sistema operacional. Compreender o processo de inicialização para carregar o sistema

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,

Leia mais

PROVA DE CONHECIMENTOS ESPECÍFICOS PROFESSOR II INFORMÁTICA

PROVA DE CONHECIMENTOS ESPECÍFICOS PROFESSOR II INFORMÁTICA 17 PROVA DE CONHECIMENTOS ESPECÍFICOS PROFESSOR II INFORMÁTICA QUESTÃO 21 Analise as seguintes afirmativas sobre as ferramentas disponíveis no Painel de Controle do Microsoft Windows XP Professional, versão

Leia mais

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual Algoritmos: Lógica para desenvolvimento de programação de computadores Autor: José Augusto Manzano Capítulo 1 Abordagem Contextual 1.1. Definições Básicas Raciocínio lógico depende de vários fatores para

Leia mais

Padrões de Contagem de Pontos de Função

Padrões de Contagem de Pontos de Função Padrões de Contagem de Pontos de Função Contexto Versão: 1.0.0 Objetivo O propósito deste documento é apresentar os padrões estabelecidos para utilização da técnica de Análise de Pontos de Função no ambiente

Leia mais

TRABALHANDO COM ARQUIVOS ENTRADAS/SAÍDAS (I/O) DE DADOS

TRABALHANDO COM ARQUIVOS ENTRADAS/SAÍDAS (I/O) DE DADOS livrof90_v5 2007/3/1 10:27 page 41 #1 CAPÍTULO2 TRABALHANDO COM ARQUIVOS ENTRADAS/SAÍDAS (I/O) DE DADOS Neste capítulo você encontrará: 2.1 Introdução.................. 41 Arquivo................. 42 2.2

Leia mais

MANUAL DE CONFIGURAÇÃO

MANUAL DE CONFIGURAÇÃO MANUAL DE CONFIGURAÇÃO CONTMATIC PHOENIX SUMÁRIO CAPÍTULO I APRESENTAÇÃO DO ACESSO REMOTO... 3 1.1 O que é o ACESSO REMOTO... 3 1.2 Como utilizar o ACESSO REMOTO... 3 1.3 Quais as vantagens em usar o PHOENIX

Leia mais

Modo Estrutura é o ambiente de definição e estruturação dos campos, tipos de dados, descrição e propriedades do campo.

Modo Estrutura é o ambiente de definição e estruturação dos campos, tipos de dados, descrição e propriedades do campo. Unidade 02 A- Iniciando o Trabalho com o ACCESS: Criar e Salvar um Banco de Dados Acessar o ACCESS Criar e Salvar o Banco de Dados Locadora Encerrar o Banco de Dados e o Access Criando um Banco de Dados

Leia mais

LÓGICA. Programação Estruturada. Carlos J E de Campos. G u i a d e R e f e r ê n c i a

LÓGICA. Programação Estruturada. Carlos J E de Campos. G u i a d e R e f e r ê n c i a Carlos J E de Campos LÓGICA Programação Estruturada Algoritmos, Lógicas de Conceitos Lógicos Pseudocódigo, Fluxograma, Macro fluxo e DHF Exemplos e Pensamentos D e s e n v o l v i m e n t o C O B O L M

Leia mais

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger O controle da entrada e saída (E/S ou I/O, input/output) de dados dos dispositivos é uma das funções principais de um sistema operacional.

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

Leia mais

LASERTECK SOFTECK MANUAL DO USUÁRIO

LASERTECK SOFTECK MANUAL DO USUÁRIO LASERTECK SOFTECK MANUAL DO USUÁRIO 2013 SUMÁRIO 1 INTRODUÇÃO... 3 2 REQUISITOS DO SISTEMA... 3 3 INSTALAÇÃO... 3 4 COMO COMEÇAR... 3 5 FORMULÁRIOS DE CADASTRO... 4 6 CADASTRO DE VEÍCULO... 6 7 ALINHAMENTO...

Leia mais

NETALARM GATEWAY. Manual do Usuário

NETALARM GATEWAY. Manual do Usuário Índice 1. Introdução...3 2. Requisitos Mínimos de Instalação...3 3. Instalação...3 4. Inicialização do Programa...5 5. Abas de Configuração...6 5.1 Aba Serial...6 5.2 Aba TCP...7 5.2.1 Opções Cliente /

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

Guia de atualização passo a passo do Windows 8 CONFIDENCIAL 1/53

Guia de atualização passo a passo do Windows 8 CONFIDENCIAL 1/53 Guia de passo a passo do Windows 8 CONFIDENCIAL 1/53 Índice 1. 1. Processo de configuração do Windows 8 2. Requisitos do sistema 3. Preparações 2. 3. usando 4. usando o DVD de 5. usando o DVD de 6. 1.

Leia mais

Tutorial 160 CP FBs - Elipse Scada (RS232 Protocolo MODBUS)

Tutorial 160 CP FBs - Elipse Scada (RS232 Protocolo MODBUS) Tutorial 160 CP FBs - Elipse Scada (RS232 Protocolo MODBUS) Este documento é propriedade da ALTUS Sistemas de Informática S.A., não podendo ser reproduzido sem seu prévio consentimento. Altus Sistemas

Leia mais

Usuários. Aplicativos e programas dos usuários. Kernel gerenciamento de processos, memória, sistema de arquivos, I/O, etc.

Usuários. Aplicativos e programas dos usuários. Kernel gerenciamento de processos, memória, sistema de arquivos, I/O, etc. 1 1.0 Kernel O kernel (núcleo) representa o coração do Sistema Operacional. Atribuições do kernel: - gerenciamento dos arquivos em disco; - inicializar programas e executá-los; - alocar e gerenciar memória

Leia mais

Curso de Iniciação ao Access Basic (I) CONTEÚDOS

Curso de Iniciação ao Access Basic (I) CONTEÚDOS Curso de Iniciação ao Access Basic (I) CONTEÚDOS 1. A Linguagem Access Basic. 2. Módulos e Procedimentos. 3. Usar o Access: 3.1. Criar uma Base de Dados: 3.1.1. Criar uma nova Base de Dados. 3.1.2. Criar

Leia mais

Manual Sistema WEB 1

Manual Sistema WEB 1 Manual Sistema WEB 1 APRESENTAÇÃO Nosso site na internet é o www.tercred.com.br onde apresentamos um pouco da nossa história, nossos produtos, a rede credenciada e outros serviços. Para acessar o Sistema

Leia mais

Manual de utilização do STA Web

Manual de utilização do STA Web Sistema de Transferência de Arquivos Manual de utilização do STA Web Versão 1.1.7 Sumário 1 Introdução... 3 2 Segurança... 3 2.1 Autorização de uso... 3 2.2 Acesso em homologação... 3 2.3 Tráfego seguro...

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

Introdução a Computação

Introdução a Computação Sistemas Operacionais: Software Oculto Introdução a Computação Sistemas Operacionais Serve como um intermediário entre o hardware e os softwares aplicativos. Sistema Operacional Software de sistemas Kernel

Leia mais

Guia do Usuário. idocsscan v.2.1.14

Guia do Usuário. idocsscan v.2.1.14 Guia do Usuário idocsscan v.2.1.14 2013 BBPaper_Ds - 2 - Sumário Introdução... 5 Instalação... 7 Inicializando a aplicação... 12 Barras de acesso e informações... 13 Teclas de atalho... 14 Barra de Ferramentas...

Leia mais

Ambiente Virtual de Aprendizagem C.S.G. M anual do Professor

Ambiente Virtual de Aprendizagem C.S.G. M anual do Professor Ambiente Virtual de Aprendizagem C.S.G. M anual do Professor Sumário Pré-requisitos para o Moodle... Entrar no Ambiente... Usuário ou senha esquecidos?... Meus cursos... Calendário... Atividades recentes...

Leia mais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais 1º Estudo Dirigido Capítulo 1 Introdução aos Sistemas Operacionais 1. Defina um sistema operacional de uma forma conceitual correta, através de suas palavras. R: Sistemas Operacionais são programas de

Leia mais

MANUAL. Recurso QChat

MANUAL. Recurso QChat MANUAL Recurso QChat Publicação: Dezembro / 2011 Versão oficial Qualitor Advanced: 6.50.00 Versão oficial Qualitor Start: 1.00.06 Revisão: 02 Cópia oficial Sumário Recurso Chat do Qualitor NOVIDADES DA

Leia mais

Conectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org

Conectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org Conectando Bancos de Dados Microsoft Access no BrOffice.org Base fornecido pelo Projeto de Documentação do BrOffice.org Índice 1 Introdução...2 1.1 Versão... 2 1.2 Licenciamento...2 1.3 Mensagem do Projeto

Leia mais

Sistemas Operacionais 3º bimestre. Dierone C.Foltran Jr. dcfoltran@yahoo.com

Sistemas Operacionais 3º bimestre. Dierone C.Foltran Jr. dcfoltran@yahoo.com Sistemas Operacionais 3º bimestre Dierone C.Foltran Jr. dcfoltran@yahoo.com Sistema de Arquivos (1) Todas as aplicações precisam armazenar e recuperar informações. Considerações sobre os processos: Espaço

Leia mais

Tutorial: Abrindo Vídeos e Medindo Comprimentos no ImageJ

Tutorial: Abrindo Vídeos e Medindo Comprimentos no ImageJ 1 1. Introdução Tutorial: Abrindo Vídeos e Medindo Comprimentos no ImageJ O ImageJ é um software livre (freeware) que pode ser obtido gratuitamente no site http://rsb.info.nih.gov/ij/. Esse software é

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: sergio.nunes@fe.up.pt web: www.fe.up.pt/~ssn Sumário Definição

Leia mais

INSTALAÇÃO E OPERAÇÃO DO MILLENIUM III

INSTALAÇÃO E OPERAÇÃO DO MILLENIUM III INSTALAÇÃO E OPERAÇÃO DO MILLENIUM III 2014 1 Partes para fixação retráteis 2 Terminais da alimentação 3 Display LCD 4 Terminais de entrada 5 Teclas A e B 6 Teclas de navegação 7 Cartucho para a colocação

Leia mais

Manual de Transferência de Arquivos

Manual de Transferência de Arquivos O Manual de Transferência de Arquivos apresenta a ferramenta WebEDI que será utilizada entre FGC/IMS e as Instituições Financeiras para troca de arquivos. Manual de Transferência de Arquivos WebEDI Versão

Leia mais

CA File Master Plus for IMS r8.5

CA File Master Plus for IMS r8.5 FOLHA DE PRODUTOS CA File Master Plus for IMS CA File Master Plus for IMS r8.5 O CA File Master Plus for IMS é um produto de gerenciamento de dados do z/os que oferece recursos avançados para o IMS Database

Leia mais

Versão: 08/04/2013 Atualizado em: 10/07/2013

Versão: 08/04/2013 Atualizado em: 10/07/2013 Versão: 08/04/2013 Atualizado em: 10/07/2013 NoMe - Novo Mercado CETIP Conteúdo Introdução ao NoMe... 1 Conhecendo o Produto... 2 Acesso ao NoMe... 3 Como acessar o NoMe... 4 Atualização de Senha e Código

Leia mais

AVISO. O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio.

AVISO. O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio. AVISO O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio. Nenhuma parte desta publicação pode ser reproduzida nem transmitida

Leia mais

1. NOÇÕES BÁSICAS... 1.1. Iniciando o Excel... 1.1.1. Abrindo o Excel... 1.1.2. Encerrando o Excel... 1.2. A tela do Excel 7.0... 1.2.1.

1. NOÇÕES BÁSICAS... 1.1. Iniciando o Excel... 1.1.1. Abrindo o Excel... 1.1.2. Encerrando o Excel... 1.2. A tela do Excel 7.0... 1.2.1. 1. NOÇÕES BÁSICAS... 1.1. Iniciando o Excel... 1.1.1. Abrindo o Excel... 1.1.2. Encerrando o Excel... 1.2. A tela do Excel 7.0... 1.2.1. Partes da tela do Excel... Barra de fórmulas... Barra de status...

Leia mais

Chamadas de Sistema e Processo

Chamadas de Sistema e Processo Andrique Amorim www.andrix.com.br professor@andrix.com.br Chamadas de Sistema e Processo Estrutura do Computador Sistemas Operacionais Estrutura do Computador Sistemas Operacionais Modos de Acesso ao S.O.

Leia mais

Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br

Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br Índice Como acessar o Moodle Editando seu PERFIL Editando o curso / disciplina no Moodle Incluindo Recursos

Leia mais

1 - O que é o Conectividade Social? 03. 2 - Qual a configuração mínima para instalar o programa?... 04

1 - O que é o Conectividade Social? 03. 2 - Qual a configuração mínima para instalar o programa?... 04 Conteúdo 1 - O que é o Conectividade Social? 03 2 - Qual a configuração mínima para instalar o programa?... 04 3 - O que é necessário para instalar o Conectividade Social?.... 05 4 - Como faço para executar

Leia mais

4 Criação de macros e introdução à linguagem VBA

4 Criação de macros e introdução à linguagem VBA 4 Criação de macros e introdução à linguagem VBA Vinicius A. de Souza va.vinicius@gmail.com São José dos Campos, 2011. 1 Sumário Tópicos em Microsoft Excel 2007 Introdução à criação de macros...3 Gravação

Leia mais

Introdução à Programação de Computadores

Introdução à Programação de Computadores 1. Objetivos Introdução à Programação de Computadores Nesta seção, vamos discutir os componentes básicos de um computador, tanto em relação a hardware como a software. Também veremos uma pequena introdução

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

2 Um Primeiro Programa em C

2 Um Primeiro Programa em C 2 Um Primeiro Programa em C Ronaldo F. Hashimoto, Carlos H. Morimoto e José A. R. Soares OobjetivodessaaulaéintroduzirvocêàlinguagemCemambienteLinux,primeiramentemostrandoasua estrutura, e a seguir com

Leia mais