
















































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Curso de CISC para computadores mainframe da IBM.
Tipologia: Manuais, Projetos, Pesquisas
1 / 88
Esta página não é visível na pré-visualização
Não perca as partes importantes!

















































































Capa
Capa
Costomer Information Control System
1
A aplicação fica tempo integral na memória do CICS, todos os recursos (acessos a bases, tabelas internas ao programa, memória, etc) estão presos à aplicação até esta sair de execução, em outras palavras, registros presos para UPDATES (VSAM), HOLD (SQL) e memórias estão indisponíveis para outras aplicações, podendo provocar uma fila de espera para aqueles recursos ou aguardando memória, acarretando um gasto de tempo e memória do CICS. Seu uso não é recomendado.
A aplicação passa pela memória do CICS, solicita os recursos de memória e bases de dados (UPDATE, HOLD) e após executá-los, libera-os, como tudo isso acontece muito rápido os recursos não ficam indisponíveis à outros aplicativos,
Transação Programa^ Processa Programa Dados
Aplicação
acontece muito rápido os recursos não ficam indisponíveis à outros aplicativos, não dando tempo para enfileiramento das aplicações. Seu uso é extremamente recomendado.
CICS
Transação Dados
Programa (^) Processa
Amarra a transação ao terminal
Retira o programa da memória
6
Reutilização de programa Toda aplicação no CICS é por natureza reentrante , isto quer dizer, a cada vez que a aplicação for chamada para ser executada, o CICS verifica se ela está na memória, desta forma o CICS não carrega mais uma cópia da aplicação, somente fazendo uma cópia da área de trabalho à ser usada no novo serviço.
Este conceito é muito importante, podemos passar parâmetros entre aplicações principais ou subprogramas pela área de comunicação do CICS. Esta área é chamada de COMMAREA , que é a elisão de COMMUM AREA em inglês, que nos aplicativos encontraremos com o nome de DFHCOMMAREA, seu
Transação
Transação
Programa (^) Processa
Amarra a transação ao terminal
Faz cópia da área de trabalho
Dados
Dados
Aplicação
que nos aplicativos encontraremos com o nome de DFHCOMMAREA, seu tamanho máximo é 32K.
CICS
Programa
Envia Commarea
Retorna Commarea
Armazena a Commarea no CICS
7
Sinaliza que o sistema já esta em processamento, à partir daí um programa pode passar controle à outro.
Digita Dados
Carrega o programa na memória
Envia tela
Programa está na memória?
Faz cópia da área de WORK
Visão Lógica
Transação está na TCT?
Programa está na PCT?
Amarra a transação do programa ao terminal e armazena commarea
Registra o término do serviço na KCT
9
Envia msg de erro
Abre um serviço e registra-o na KCT
BMS – Basic Map Suport No CICS a entrada de dados pode ser uma tela (MAP). No começo quando foi inventado o CICS, as telas eram codificadas dentro das aplicações, dando um trabalho imenso, pois os atributos, campos fixos e variáveis se misturavam ao fonte do programa. Foi quando surgiu a ideia de desvincular a tela da aplicação principal, desenhando e compilando as mesmas, gerando a tela física (EXECUTÁVEL) e a tela lógica (BOOK), onde esta combinação foi chamada de BMS (Basic Map Support). Quando fazemos uma tela BMS, é gerado um fonte na linguagem escolhida após a compilação , e se olharmos o fonte veremos que a cada variável terão campos auxiliares, tais como: Um campo BINÁRIO [S9(04) COMP] com o mesmo nome da variável e terminado em “L”, que representa o TAMANHO do campo digitado. Um campo CHAR [X(01)] com o mesmo nome da variável e terminado em “A”, que será o ATRIBUTO do campo. Um campo CHAR com o mesmo nome da variável e terminado em “I”, que será o
Um campo CHAR com o mesmo nome da variável e terminado em “O”, que será o campo da tela de SAIDA , que redefine o campo de ENTRADA.
Gera book de variáveis Na MAPLIB
Compilador BMS
Gera executável na LOADLIB
10
Parâmetros MAPA : Nome do mapa subordinado ao mapa grupo (Máximo 7 caracteres) DFHMDI : Define o início do mapa COLUMN : Indica a coluna no qual a tela será inicializada. NEXT: no caso de haver mais de um mapa no grupo de mapas, este mapa começará na coluna seguinte ao último mapa exibido na tela, poderá também ser um número inteiro entre 01 à 80. LINE : Indica a linha no qual a tela será inicializada. NEXT: no caso de haver mais de um mapa no grupo de mapas, este mapa começará na linha seguinte ao último mapa exibido na tela, poderá também ser um número inteiro entre 01 à 24. SIZE : Tamanho do mapa em linhas e colunas, que podem assumir os valores 01 à 24 para as linhas e 01 à 80 para as colunas.
**1...5...10...15...20...25...30...35...40...45...50...55...60...65...70..
MAPA DFHMDI COLUMN=COLUNA, X LINE=LINHA, X SIZE=(LINE,COLUNA)**
Parâmetros: DFHMDF : Define a área de dados, podendo ser uma constante (sem nome) ou uma variável (com nome). LENGTH : Tamanho do campo. POS : Posição relativa que o campo ocupa no mapa, onde as coordenadas XX , YY são respectivamente linhas e colunas. INITIAL : Conteúdo inicial que o campo conterá, não deverá ultrapassar o tamanho do campo. ATTRB : Atributos iniciais que o campo poderá conter, estes valores poderão ser: ASKIP = Não aceita digitação, o campo é pulado NORM = Não brilhante UNPROT = Desprotegido PROT = Não aceita digitação, mas o cursor posicionará nele FSET = MDT ligado (MODIFY DATA TAG) o campo mesmo não sendo digitado
**1...5...10...15...20...25...30...35...40...45...50...55...60...65...70..
DFHMDF LENGTH=05, X POS=(01,02), X INITIAL=‘MFS’, X ATTRB=(ASKIP,NORM)**
pelo operador será transmitido para o programa. DRK = Escondido BRT = Brilhante IC = Indica que o cursor estará neste campo quando exibido a primeira vez, desde que não seja modificado pelo programa. NUM = Campo de digitação numérico
Observação As constantes são definidas sem nome, servem de instruções somente para o mapa físico do BMS (executável).
13
Parâmetros Cada mapa grupo deverá conter um finalizador, este indicará para o compilador BMS o termino do grupo de mapas de dados. GRUPMAP: Nome do grupo de mapas (O mesmo que iniciou o grupo) DFHMSD : TYPE=FINAL, indica o final do mapa grupo END : Final da codificação do BMS.
**1...5...10...15...20...25...30...35...40...45...50...55...60...65...70..
GRUPMAT DFHMSD TYPE=FINAL END**
1...5...10...15...20...25...30...35...40...45...50...55...60...65...70...75... 1 TELC??0 MENU PRINCIPAL 19/02/2009 17: 2 ------------------------------------------------------------------------------- 3 4 5 OPCAO 6 --------------------------------- 7 8 01 – INCLUSAO DO ALUNO 9 10 02 – ALTERACAO DO ALUNO 11 12 03 – EXCLUSAO DO ALUNO 13 14 04 – CONSULTA ALUNO 15 16 17 18 19 OPCAO: XX 20 21 22 ------------------------------------------------------------------------------- 23 ENTER = PROCESSA F3/CLEAR = SAIDA 24 MSG: ________________________________________________________________________
Exercícios de BMS
Descrição das variáveis da tela
1. DATASIS: Variável de 10 posições protegidas (pulada). 2. HORASIS: Variável de 5 posições protegidas (pulada). 3. OPCAO: Variável de 2 posições digitadas. 4. MENS: Variável de 70 posições protegidas (pulada).
16
Codificação do Mapa de Menu 2/
**1...5...10...15...20...25...30...35...40...45...50...55...60...65...70.. *------------------------------ LINHA 08 ------------------------------ DFHMDF LENGTH=22, X POS=(08,26), X INITIAL='01 – INCLUSAO DO ALUNO', X ATTRB=(ASKIP,NORM) *------------------------------ LINHA 10 ------------------------------ DFHMDF LENGTH=23, X POS=(10,26), X INITIAL='02 – ALTERACAO DO ALUNO', X ATTRB=(ASKIP,NORM) *------------------------------ LINHA 12 ------------------------------ DFHMDF LENGTH=22, X POS=(12,26), X INITIAL='03 – EXCLUSAO DO ALUNO', X ATTRB=(ASKIP,NORM) ------------------------------ LINHA 14 ------------------------------ DFHMDF LENGTH=32, X POS=(14,26), X INITIAL='04 – CONSULTA DE ALUNO', X ATTRB=(ASKIP,NORM) ------------------------------ LINHA 19 ------------------------------ DFHMDF LENGTH=06, X POS=(19,20), X INITIAL='OPCAO:', X ATTRB=(ASKIP,BRT)
Exercícios de BMS
**ATTRB=(ASKIP,BRT) *-------------- OPCAO DFHMDF LENGTH=02, X POS=(19,27), X ATTRB=(UNPROT,NUM,FSET,IC) -------------- DFHMDF LENGTH=01, X POS=(19,30), X ATTRB=(ASKIP) ------------------------------ LINHA 22 ------------------------------ DFHMDF LENGTH=78, X POS=(22,02), X INITIAL='-----------------------------------------------X -------------------------------', X ATTRB=(ASKIP,BRT)
18
Codificação do Mapa de Menu 3/
**1...5...10...15...20...25...30...35...40...45...50...55...60...65...70.. *------------------------------ LINHA 23 ------------------------------ DFHMDF LENGTH=07, X POS=(23,02), X INITIAL='ENTER =', X ATTRB=(ASKIP,NORM) *-------------- DFHMDF LENGTH=08, X POS=(23,10), X INITIAL='PROCESSA', X ATTRB=(ASKIP,BRT) *-------------- DFHMDF LENGTH=10, X POS=(23,19), X INITIAL='F3/CLEAR =', X ATTRB=(ASKIP,NORM) -------------- DFHMDF LENGTH=05, X POS=(23,30), X INITIAL=’SAIDA', X ATTRB=(ASKIP,BRT) ------------------------------ LINHA 24 ------------------------------ DFHMDF LENGTH=04, X POS=(24,02), X INITIAL='MSG:', X ATTRB=(ASKIP,BRT)
Exercícios de BMS
**ATTRB=(ASKIP,BRT) -------------- MENS DFHMDF LENGTH=70, X POS=(24,07), X ATTRB=(ASKIP,BRT) ---------------------------------------------------------------------- TELC??0 DFHMSD TYPE=FINAL END
19