36
Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas e Pensamentos Desenvolvimento COBOL Mainframe Guia de Referência Segunda edição São Paulo 2013

CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

Embed Size (px)

Citation preview

Page 1: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

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

2 0 1 3

Page 2: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

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.

2013

Todos os direitos desta obra pertencem a

Carlos J E de Campos

www.carloscamposinfo.com

Page 3: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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

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

Page 4: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

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 .

Page 5: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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

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 1969. 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

Page 6: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

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 www.carloscamposinfo.com, ou entre em contato através do e-mail do autor: [email protected].

Reflexão

“Muitos homens iniciaram uma nova era na sua vida a partir da leitura de um livro”.

Autor: Henry Thoreau

Page 7: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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

Formação de especialista COBOL 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.

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.

Page 8: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

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

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

Tirar dúvidas

Praticar exercícios

Apresentar Solução

Consolidar Exercícios

Rever conceitos

Page 9: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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

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 www.icpdug.org.br ou utilize o e-mail [email protected].

Reflexão

“Em algum lugar, algo incrível está esperando para ser descoberto.”

Autor: Carl Seagan

Page 10: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

Página deixada em branco

Page 11: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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 1 1

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 ........................................................................................... 11

Notação utilizada ................................................................................ 27

Como codificar subparâmetros ............................................................... 29

coluna .......................................................................................... 29

linha ............................................................................................ 29

literal .......................................................................................... 29

nomeáreadatahora ........................................................................... 29

nomeáreadedados ........................................................................... 29

nomeáreadomapaO .......................................................................... 29

nomeáreadomapaI ........................................................................... 29

nomeáreadoregistro ......................................................................... 30

nomearquivo .................................................................................. 30

nomecampo ................................................................................... 30

nomechavearquivo ........................................................................... 30

nomecondiçãoerro ........................................................................... 30

nomedeflinhats ............................................................................... 30

nomefilats ..................................................................................... 30

Page 12: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

nomemapset .................................................................................. 30

nomemapa .................................................................................... 31

nomeparagrafo ............................................................................... 31

nomeprograma ............................................................................... 31

nometransação ............................................................................... 31

nrodoitem ..................................................................................... 31

posição ......................................................................................... 31

tamanhoárea .................................................................................. 31

Introdução ao CICS .............................................................................. 33

O que é CICS .................................................................................. 34

Método de acesso VTAM .................................................................... 35

Controladores ............................................................................. 35

O que é processamento ON-LINE .......................................................... 36

Múltiplas execuções de um programa .................................................... 36

Como o programa é executado ............................................................ 37

Como o programa é terminado ............................................................ 37

Regras para programa COBOL .............................................................. 38

Funções do programa no ambiente Batch ............................................... 38

Funções do programa no ambiente On-Line ............................................. 39

Compilação .................................................................................... 39

Como entrar no ambiente CICS ............................................................ 39

Estrutura do CICS ............................................................................ 41

Arquitetura do CICS ...................................................................... 41

Uma visão da estrutura do CICS ........................................................ 42

Memória do CICS .......................................................................... 42

Núcleo gerenciador .......................................................................... 43

FCP - File Control Program .............................................................. 43

KCP - Task Control Program ............................................................ 43

PCP - Program Control Program ........................................................ 44

SCP - Storage Control Program ......................................................... 44

TCP - Terminal Control Program ....................................................... 44

TSP - Temporary Storage Program ..................................................... 45

Page 13: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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 1 3

TDP - Transient Data Program .......................................................... 45

DCP - Dump Control Program ........................................................... 45

ICP - Interval Control Program ......................................................... 46

BMS - Basic Mapping Support ........................................................... 46

ISC - Intercommunication Control Program .......................................... 46

Tabelas de controle ......................................................................... 47

FCT - File Control Table ................................................................. 47

PCT - Program Control Table ........................................................... 47

PPT - Program Processing Table ....................................................... 47

TCT - Terminal Control Table .......................................................... 47

KCT - Task Control Table ................................................................ 47

DSA - Dynamic Storage Area ............................................................... 49

Blocos de controle ........................................................................ 49

Áreas de dados Interna .................................................................. 52

Área de dados temporária .............................................................. 52

Memória Temporária ........................................................................ 53

Formato da Memória Temporária ...................................................... 53

Controle de terminal ........................................................................ 54

Receber dados do terminal ............................................................. 54

Enviar dados para o terminal ........................................................... 54

Tecla de função como comando, DFHAID ............................................ 54

Controle de programa ....................................................................... 55

Chamar um programa e retornar ...................................................... 55

Chamar um programa e não retornar ................................................. 55

Controle de arquivo ......................................................................... 56

Acesso ao arquivo VSAM ................................................................. 57

Transação ..................................................................................... 59

Tarefa (TASK) ............................................................................. 60

Visão do fluxo da transação ............................................................ 61

Passos do fluxo da transação ........................................................... 63

Modelo concorrente de uma mesma transação ..................................... 64

Tipos de transação ........................................................................... 65

Page 14: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

Transação não conversacional .......................................................... 65

Transação conversacional ............................................................... 65

Transação pseudoconversacional ...................................................... 66

Fluxo da transação pseudoconversacional ............................................... 71

Área de comunicação (DFHCOMMAREA) .............................................. 74

Fluxo reentrante .......................................................................... 75

Questionário .................................................................................. 77

Mapa ............................................................................................... 79

Considerações sobre um mapa ............................................................ 79

Independência de equipamento ........................................................... 80

Independência de formato ................................................................. 80

Protocolo 3270 ............................................................................... 80

Como construir um mapa ................................................................... 81

Construção de um mapa .................................................................... 81

Composição de um programa BMS ........................................................ 81

MAPSET ........................................................................................ 82

Compilação de um mapa ................................................................... 83

Estrutura da linha de um mapa ............................................................ 83

Composição do atributo de um campo ................................................... 83

Tipo de proteção do campo ............................................................. 83

Tipo de conteúdo do campo ............................................................ 85

Brilho do campo. ......................................................................... 85

Tag de modificação ...................................................................... 85

Compilação de um mapa ................................................................... 86

Estrutura da linha de um mapa ............................................................ 86

Definindo mapa para ser interpretado pelo BMS ....................................... 87

Mapa físico ................................................................................. 87

Definindo um grupo e mapas – MAPSET ............................................... 87

Macro DFHMSD ............................................................................ 87

Definindo uma tela ....................................................................... 91

Macro DFHMDI ............................................................................. 91

Definindo áreas dentro de um mapa .................................................. 93

Page 15: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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 1 5

Macro DFHMDF ............................................................................ 93

Indicador de campo MDT ................................................................ 96

Como o COBOL identifica um campo do BMS............................................ 99

Como é a definição de um campo ..................................................... 99

Posição do cursor na tela .................................................................. 101

Identificar a posição do cursor ........................................................ 101

Direcionar a posição do cursor ........................................................ 101

Bloco DFHBMSCA ............................................................................ 102

Exemplo de definição do mapa MAPA01A............................................... 103

Definição BMS do mapa MAPA01A ..................................................... 103

Definição da estrutura do mapa MAPA01A para o COBOL ........................ 104

Questionário ................................................................................. 105

Comandos ........................................................................................ 107

Comandos do CICS .......................................................................... 107

Comand Level ................................................................................ 108

Restrições no COBOL ....................................................................... 108

Grupos dos comandos ...................................................................... 109

Comandos de tratamento de terminal ............................................... 109

Comandos de tratamento de mapa (BMS) ........................................... 109

Tratamento de arquivo (FILE CONTROL) ............................................ 109

Tratamento de cursor (BROWSE)...................................................... 110

Tratamento de programas (PROGRAM CONTROL) .................................. 110

Tratamento de armazenamento temporário (TS) .................................. 110

Tratamento de erro (ABEND CODE)................................................... 110

Tratamentos diversos ................................................................... 111

Estrutura de comando .................................................................. 111

Terminar programa - Comando RETURN ................................................ 111

Sintaxe ..................................................................................... 112

Parâmetro TRANSID ..................................................................... 112

Parâmetro COMMAREA .................................................................. 112

Parâmetro LENGTH ...................................................................... 112

Condição de exceção ................................................................... 112

Page 16: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

Comandos de tratamento de terminal .................................................. 113

Comando SEND TEXT ....................................................................... 114

Sintaxe ..................................................................................... 114

Parâmetro FROM ......................................................................... 114

Parâmetro LENGTH ...................................................................... 114

Parâmetro CURSOR ...................................................................... 114

Parâmetro FREEKB ....................................................................... 114

Parâmetro ERASE ........................................................................ 114

Condição de exceção ................................................................... 114

Exemplo do comando SEND TEXT ..................................................... 115

Comando RECEIVE ........................................................................... 116

Sintaxe ..................................................................................... 116

Parâmetro INTO .......................................................................... 116

Parâmetro SET ........................................................................... 116

Parâmetro LENGTH ...................................................................... 116

Condição de exceção ................................................................... 117

Programa exemplo do comando RECEIVE ............................................ 118

Questionário ................................................................................. 119

Comandos de tratamento de mapa ...................................................... 121

Comando SEND MAP ........................................................................ 122

Sintaxe ..................................................................................... 122

Parâmetro MAP ........................................................................... 122

Parâmetro MAPSET ...................................................................... 122

Parâmetro FROM ......................................................................... 122

Parâmetro ERASE ........................................................................ 122

Parâmetro CURSOR ...................................................................... 123

Parâmetro DATAONLY ................................................................... 123

Parâmetro MAPONLY .................................................................... 123

Parâmetro FREEKB ....................................................................... 123

Condição de exceção ................................................................... 123

Programa exemplo do comando SEND MAP ......................................... 124

Comando RECEIVE MAP ..................................................................... 125

Page 17: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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 1 7

Sintaxe ..................................................................................... 125

Parâmetro MAP ........................................................................... 125

Parâmetro MAPSET ...................................................................... 125

Parâmetro INTO .......................................................................... 125

Parâmetro SET ........................................................................... 125

Parâmetro LENGTH ...................................................................... 126

Condição de exceção ................................................................... 126

Programa exemplo do comando RECEIVE MAP ...................................... 127

Questionário ................................................................................. 129

Comandos de tratamento de arquivo .................................................... 131

Massa de teste para os comandos de tratamento de arquivo ....................... 132

Definição do arquivo AGENDA ............................................................ 132

JCL para criar o arquivo AGENDA ........................................................ 132

Comando WRITE ............................................................................. 133

Sintaxe ..................................................................................... 133

Parâmetro FROM ......................................................................... 133

Parâmetro RIDFLD ....................................................................... 133

Parâmetro LENGTH ...................................................................... 133

Parâmetro KEYLENGTH ................................................................. 133

Condição de exceção ................................................................... 133

Programa exemplo do comando WRITE .............................................. 134

Comando READ .............................................................................. 135

Sintaxe ..................................................................................... 135

Parâmetro INTO .......................................................................... 135

Parâmetro RIDFLD ....................................................................... 135

Parâmetro EQUAL ........................................................................ 135

Parâmetro GTEQ ......................................................................... 135

Parâmetro LENGTH ...................................................................... 135

Parâmetro UPDATE ...................................................................... 135

Condição de exceção ................................................................... 136

Programa exemplo do comando READ ............................................... 136

Comando REWRITE .......................................................................... 137

Page 18: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

Sintaxe ..................................................................................... 137

Parâmetro FROM ......................................................................... 137

Parâmetro LENGTH ...................................................................... 137

Condição de Exceção.................................................................... 137

Programa exemplo do comando REWRITE ........................................... 138

Comando DELETE............................................................................ 139

Sintaxe ..................................................................................... 139

Parâmetro RIDFLD ....................................................................... 139

Parâmetro KEYLENGTH ................................................................. 139

Parâmetro GENERIC ..................................................................... 139

Parâmetro NUMREC ..................................................................... 139

Condição de exceção ................................................................... 139

Programa exemplo do comando DELETE............................................. 140

Comando UNLOCK ........................................................................... 141

Sintaxe ..................................................................................... 141

Condição de exceção ................................................................... 141

Questionário ................................................................................. 143

Comandos de BROWSE (cursor) .............................................................. 145

Introdução .................................................................................... 145

Pesquisa por BROWSE ...................................................................... 146

Considerações para arquivos VSAM ...................................................... 146

Procedimentos de uma pesquisa por BROWSE ......................................... 146

Estabelecimento de posição ........................................................... 147

Pesquisa de registros .................................................................... 147

Término do BROWSE .................................................................... 147

Atualização de registros no BROWSE ................................................. 147

Massa de teste para os comandos do BROWSE...................................... 148

Comando STARTBR .......................................................................... 149

Sintaxe ..................................................................................... 149

Parâmetro RIDFLD ....................................................................... 149

Parâmetro KEYLENGTH ................................................................. 149

Parâmetro GENERIC ..................................................................... 149

Page 19: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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 1 9

Parâmetro EQUAL ........................................................................ 149

Parâmetro GTEQ ......................................................................... 150

Condição de exceção ................................................................... 150

Exemplificação do comando STARTBR ............................................... 150

Comando READNEXT ........................................................................ 151

Sintaxe ..................................................................................... 151

Parâmetro INTO .......................................................................... 151

Parâmetro RIDFLD ....................................................................... 151

Parâmetro KEYLENGTH ................................................................. 151

Parâmetro UPDATE ...................................................................... 151

Condição de exceção ................................................................... 152

Exemplificação do comando READNEXT ............................................. 152

Comando READPREV ........................................................................ 153

Sintaxe ..................................................................................... 153

Parâmetro INTO .......................................................................... 153

Parâmetro RIDFLD ....................................................................... 153

Parâmetro KEYLENGTH ................................................................. 153

Parâmetro UPDATE ...................................................................... 153

Condição de exceção ................................................................... 153

Exemplificação do comando READPREV ............................................. 154

Comando ENDBR ............................................................................. 155

Sintaxe ..................................................................................... 155

Condição de Exceção.................................................................... 155

Exemplificação do comando ENDBR .................................................. 155

Comando RESETBR .......................................................................... 157

Sintaxe ..................................................................................... 157

Parâmetro INTO .......................................................................... 157

Parâmetro RIDFLD ....................................................................... 157

Parâmetro KEYLENGTH ................................................................. 157

Parâmetro GENERIC ..................................................................... 158

Parâmetro UPDATE ...................................................................... 158

Condição de exceção ................................................................... 158

Page 20: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

Exemplificação do comando RESETBR ............................................... 158

Exemplo de como construir um BROWSE ............................................... 159

Cenário - Listar contatos ............................................................... 159

Macrofluxo e DHF do programa ....................................................... 159

Fluxograma ............................................................................... 160

Fluxograma - outros níveis ............................................................. 160

Exemplo de BROWSE - TCICSD1A (Conversacional) ................................ 163

Questionário ................................................................................. 167

Comandos de tratamento de armazenamento Temporário (TS) ....................... 169

Como montar o nome da TS ............................................................... 169

Comando WRITEQ TS ....................................................................... 171

Sintaxe ..................................................................................... 171

Parâmetro QUEUE ....................................................................... 171

Parâmetro FROM ......................................................................... 171

Parâmetro LENGTH ...................................................................... 171

Parâmetro ITEM .......................................................................... 171

Parâmetro REWRITE ..................................................................... 171

Condição de exceção ................................................................... 172

Exemplo do comando WRITEQ TS ..................................................... 172

Comando READQ TS ......................................................................... 173

Sintaxe ..................................................................................... 173

Parâmetro QUEUE ....................................................................... 173

Parâmetro INTO .......................................................................... 173

Parâmetro ITEM .......................................................................... 173

Parâmetro NEXT ......................................................................... 173

Condição de exceção ................................................................... 173

Exemplo do comando READ TS ........................................................ 174

Comando DELETEQ TS ...................................................................... 175

Sintaxe ..................................................................................... 175

Parâmetro QUEUE ....................................................................... 175

Condição de Exceção.................................................................... 175

Exemplificação do comando DELETEQ TS ........................................... 175

Page 21: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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 2 1

Questionário ................................................................................. 177

Comandos de chamada de programa ....................................................... 179

Comando LINK ............................................................................... 181

Sintaxe ..................................................................................... 181

Parâmetro PROGRAM .................................................................... 181

Parâmetro COMMAREA .................................................................. 181

Parâmetro LENGTH ...................................................................... 181

Condição de exceção ................................................................... 181

Exemplo do comando LINK - Chamador .............................................. 182

Exemplo do comando LINK - Chamado ............................................... 183

Comando XCTL .............................................................................. 185

Sintaxe ..................................................................................... 185

Parâmetro PROGRAM .................................................................... 185

Parâmetro COMMAREA .................................................................. 185

Parâmetro LENGTH ...................................................................... 185

Condição de exceção ................................................................... 185

Exemplo do comando LINK - Chamador .............................................. 186

Exemplo do comando XCTL - Chamado e chamador ............................... 187

Exemplo do comando XCTL - Chamado .............................................. 188

Comandos de tratamento de erro ........................................................... 189

Introdução .................................................................................... 189

Comando HANDLE ABEND .................................................................. 191

Sintaxe ..................................................................................... 191

Parâmetro PROGRAM .................................................................... 191

Parâmetro LABEL ........................................................................ 191

Parâmetro CANCEL ...................................................................... 192

Parâmetro RESET ........................................................................ 192

Comando para término anormal da Task (ABEND) ................................. 192

Condição de exceção ................................................................... 192

Comando IGNORE CONDITION ............................................................. 193

Sintaxe ..................................................................................... 193

Exemplo de utilização do IGNORE CONDITION...................................... 193

Page 22: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

Códigos de erro de transação ............................................................. 194

Comando HANDLE CONDITION ............................................................ 195

Sintaxe ..................................................................................... 195

Exemplo de utilização do HANDLE CONDITION ..................................... 195

Questionário ................................................................................. 197

Comandos de tratamento de diversos ...................................................... 199

Como formatar data e hora ............................................................... 199

Comando BIF DEEDIT ....................................................................... 201

Sintaxe ..................................................................................... 201

Parâmetro FIELD ......................................................................... 201

Parâmetro LENGTH ...................................................................... 201

Exemplificação do comando BIF DEEDIT ............................................. 202

Exemplo do comando BIF DEEDIT ..................................................... 202

Comando ASSIGN ............................................................................ 203

Sintaxe ..................................................................................... 203

Parâmetro ABCODE ...................................................................... 203

Parâmetro PROGRAM .................................................................... 203

Parâmetro ABPROGRAM ................................................................ 204

Parâmetro USERID ....................................................................... 205

Parâmetro USERNAME ................................................................... 205

Parâmetro APPLID ....................................................................... 205

Comando FORMATTIME ..................................................................... 207

Parâmetro YYMMDD ..................................................................... 207

Sintaxe ..................................................................................... 207

Parâmetro DATESEP ..................................................................... 207

Parâmetro TIMESEP ...................................................................... 207

Parâmetro ABSTIME ..................................................................... 208

Parâmetro DATE ......................................................................... 208

Parâmetro DATEFORM .................................................................. 208

Parâmetro FULLDATE ................................................................... 208

Parâmetro DDMMYY ..................................................................... 208

Parâmetro DDMMYYYY .................................................................. 208

Page 23: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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 2 3

Parâmetro YYYYMMDD .................................................................. 208

Parâmetro YYYYDDMM .................................................................. 208

Parâmetro YYDDMM ..................................................................... 209

Parâmetro MMDDYY ..................................................................... 209

Parâmetro YYDDD........................................................................ 209

Exemplificação do comando FORMATTIME – Obter data .......................... 210

Exemplificação do comando FORMATTIME – Obter hora .......................... 210

Exemplo de ASKTIME e FORMATTIME ................................................. 211

Comando HANDLE AID ...................................................................... 212

Sintaxe ..................................................................................... 212

ANYKEY .................................................................................... 212

Exemplo de utilização do HANDLE AID ............................................... 212

Comando SYNCPOINT ROLLBACK ......................................................... 213

Sintaxe ..................................................................................... 213

Comando ASKTIME .......................................................................... 214

Sintaxe ..................................................................................... 214

Parâmetro ABSTIME ..................................................................... 214

Exemplificação do comando ASKTIME ................................................ 214

Questionário ................................................................................. 215

Programação pseudoconversacional ........................................................ 217

Pontos de conversão da lógica pseudoconversacional ................................ 218

Primeiro ponto – Divisão da lógica em partes ...................................... 218

Segundo ponto – Identificação da fase de execução .............................. 218

Terceiro ponto – Início e término de execução da fase ........................... 218

Quarto ponto – Início da execução do programa ................................... 218

Quinto ponto – Primeira execução .................................................... 218

Sexto ponto – Saída da execução ..................................................... 219

Exemplo de programa pseudoconversacional .......................................... 219

Cenário – Listar contatos ............................................................... 220

DHF do programa ........................................................................ 220

Fluxograma ............................................................................... 221

Fluxograma - outros níveis ............................................................. 221

Page 24: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

Pseudocódigo ............................................................................. 222

Exemplo de programa de BROWSE - PCICSE1A ..................................... 224

Exemplo de programa de paginação ................................................. 229

Constuindo sistemas ON-LINE ................................................................ 235

Massa de testes para os sistemas ON-LINE.............................................. 236

MER - Modelo de Entidade Relacional para testes ................................. 236

Definição dos depósitos ................................................................ 236

Massa de dados para os sistemas ON-LINE .......................................... 236

Criar arquivos e tabelas para os sistemas ON-LINE ................................ 238

Incluir massa de dados para os sistemas ON-LINE ................................. 240

Sistema - Menu de sistemas ............................................................... 243

Cenário: Menu de sistemas............................................................. 243

Funcionalidade: Menu de sistemas ................................................... 243

Sistema - Cadastro de alunos ............................................................. 253

Cenário: Cadastro de alunos ........................................................... 253

Funcionalidade: Menu do cadastro de aluno ........................................ 253

Funcionalidade: Incluir aluno.......................................................... 262

Funcionalidade: Alterar aluno ......................................................... 280

Funcionalidade: Excluir aluno ......................................................... 289

Funcionalidade: Listar alunos ......................................................... 296

Funcionalidade: Listar alunos com média ........................................... 304

Funcionalidade: Listar cursos do aluno .............................................. 317

Sistema - Cadastro de notas .............................................................. 325

Cenário: Cadastro de notas ............................................................ 325

Funcionalidade: Menu do cadastro de notas ........................................ 325

Funcionalidade: Incluir nota ........................................................... 326

Funcionalidade: Consultar nota ....................................................... 326

Funcionalidade: Alterar nota .......................................................... 327

Funcionalidade: Excluir nota .......................................................... 327

Funcionalidade: Listar notas dos cursos do aluno ................................. 328

Sistema - Cadastro de cursos ............................................................. 329

Cenário: Cadastro de cursos ........................................................... 329

Page 25: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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 2 5

Funcionalidade: Menu do cadastro de cursos ....................................... 329

Funcionalidade: Incluir curso .......................................................... 330

Funcionalidade: Consultar curso ...................................................... 330

Funcionalidade: Alterar curso ......................................................... 331

Funcionalidade: Excluir curso ......................................................... 331

Funcionalidade: Listar cursos.......................................................... 332

Sistema - Cadastro de estados ............................................................ 333

Cenário: Cadastro de estados ......................................................... 333

Funcionalidade: Menu do cadastro de estados ..................................... 333

Funcionalidade: Incluir estado ........................................................ 334

Funcionalidade: Consultar estado .................................................... 334

Funcionalidade: Alterar estado ....................................................... 335

Funcionalidade: Excluir estado ....................................................... 335

Funcionalidade: Listar estados ........................................................ 336

Comandos ON-LINE ............................................................................. 337

CEMT I PRO ................................................................................... 337

CEMT SET PROG ............................................................................. 337

CEMT SET TASK .............................................................................. 338

CEMT SET TRANS ............................................................................ 338

CEMT SET TERM ............................................................................. 339

CSSN ........................................................................................... 339

CSMT .......................................................................................... 339

Parâmetro NEW .......................................................................... 339

CEMT SET FILE ............................................................................... 340

CECI ........................................................................................... 341

CEDF ........................................................................................... 342

CMAC .......................................................................................... 342

Anexos ............................................................................................ 343

Boas práticas ................................................................................. 343

Bloco DFHBMSCA ............................................................................ 345

Estrutura do EIB ............................................................................. 347

Bloco DFHAID ................................................................................ 348

Page 26: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

Tabela de códigos EIBRESP ................................................................ 349

Tabela de códigos EIBFN ................................................................... 350

Tabela de condições de exceção ......................................................... 353

Tabela de condição de exceção por comando ......................................... 355

Definições e termos ........................................................................ 360

Abreviaturas ................................................................................. 365

Respostas dos questionários............................................................... 367

Bibliografia ...................................................................................... 369

Outras obras do autor ......................................................................... 371

Page 27: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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 2 7

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

....|....1....|....2....|....3....|....4....|....5....|....6....|....7..

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

Page 28: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

Página deixada em branco

Page 29: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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 2 9

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.

Page 30: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

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).

Page 31: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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 1

nomemapa

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 1920. 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.

Page 32: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

Página deixada em branco

Reflexão

“Só é livre o homem que sabe dar ordens a si mesmo.”

Autor: Pitágoras

Page 33: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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 3

Introdução ao CICS

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

1

Page 34: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

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.

Page 35: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

C I C S

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 5

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.

Page 36: CICS - PerSe - Publique-se - Publicar seu livro agora ... · Carlos J E de Campos CICS Customer Information Control System Comandos, Sintaxe, Regras e Procedimentos Exemplos de programas

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 on-line, 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

WORKING

Terminal 1

P r o g r a m a

WORKING WORKING WORKING

Terminal 2

Terminal 3

Terminal 4