Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Parte 1
Tecnologia
Agenda
Parte 1 9 Introduo ao Progress 9 Movimentao dos Dados 9 Manipulando os Dados 9 Blocos 9 Localizando Registros 9 Variveis 9 Processamento Condicional Parte 2 9 Frames 9 Includes 9 Relatrios 9 Programao Orientada a Eventos
Agenda
9 Widgets 9 Tipos de Widgets 9 Menus 9 Tabelas Temporrias (TEMP-TABLE) Parte 3 9 Procedures 9 Compartilhamento de Dados 9 Importao e Exportao de Dados 9 Tratamento de Erros 9 Transaes 9 Bloqueio de Registro 9 Funes
Introduo ao Progress
INTRODUO AO PROGRESS
Introduo ao Progress
9 Completo ambiente de desenvolvimento de aplicaes. 9 composto por: Sistema Gerenciador de Banco de Dados Relacional. Linguagem de 4a. Gerao. Ferramentas de Programao.
Benefcios
FLEXVEL
ABERTO
COMPLETO
Benefcios
9 Flexvel Assegura portabilidade das aplicaes em outras plataformas. 9 Aberto Suporta o padro industrial. Assegura opes de desenvolvimento heterogneo. 9 Completo Permite construo de grandes aplicaes. Produz solues Client/Server.
Componentes Lgicos
9 Base de Dados Tabela Registro Campo ndice
Componentes Lgicos
Cliente
Empresa
Banco
= Base Dados
Registro
Nome
Campo
ndice
10
Componentes Fsicos
.BI
.DB .LG
.LK
11
Componentes Fsicos
.DB
.BI
12
Componentes Fsicos
.LG
LOG: Contm as referncias dos usurios, hora de entrada, sada e programas acessados (histrico).
.LK
13
Componentes da Linguagem
9 Blocos 9 Declaraes 9 Funes 9 Operadores 9 Variveis 9 Expresses 9 Smbolos especiais 9 Elementos da interface com o usurio (atributos e mtodos 9 Eventos
14
Tipo Character
Formato x(8) Aceita: A Alfabetico ! Maiusculas >>>,>>9 Aceita: z espao 9 mostra 0 >>>,>>9.99
Exemplo x(40) > string alfanumrica AAA-9999 > MCZ-9283 !x(10) > STRING ALFANUMRICA >>>,>>9 > 1.500 999,999 > 001.500 zzz,zz9 > 1.500 >>>,>>9.99 > 1.500,45 999,999.99 > 001.500,45 zzz,zz9.99 > 1.500,45 Yes No 12/31/9999
Integer
Decimal
15
16
BUFFER TELA
17
Movimentando Dados
BASE DE DADOS
BUFFER REGISTRO
BUFFER TELA
18
Movimentando Dados
BASE DE DADOS
BUFFER REGISTRO
BUFFER TELA
ENTRADA USURIO
19
20
21
Manipulando os Dados
MANIPULANDO OS DADOS
22
Insert
9 Cria um novo registro no banco, permite que o usurio faa alteraes e atualiza as informaes no banco. 9 Executa as aes de CREATE, DISPLAY, PROMPT-FOR e ASSIGN. 9 Ex.: INSERT customer.
23
Create
9 Cria um novo registro no banco, inicializa com os valores defaults (padros) e deixa uma cpia do registro no buffer de registro. 9 Ex.: CREATE customer.
24
Update
9 Mostra os valores, permite ao usurio alterar e atualiza os dados no banco. 9 Executa as aes de DISPLAY, PROMPT-FOR e ASSIGN. 9 Ex.: UPDATE customer.
25
Display
9 Mostra os valores na Tela. 9 Move os dados do Buffer de Registro para o Buffer de Tela. 9 Os dados devem sempre ter sido previamente movidos para o Buffer de Registro. 9 Ex.: DISPLAY customer.
DISP customer.cust-num.
26
Set
9 Permite que o usurio altere as informaes e atualiza o banco de dados. 9 Executa as aes de PROMPT-FOR e ASSIGN. 9 Ex.: SET customer.
SET customer.name.
27
Prompt-For
9 Solicita uma entrada de dados ao usurio e disponibiliza no buffer de tela. 9 Ex.: PROMPT-FOR customer.cust-num.
FIND customer WHERE customer.cust-num = INPUT customer.cust-num NO-ERROR. IF AVAILABLE customer THEN DISPLAY customer EXCEPT customer.comments WITH 1 COLUMN.
28
Assign
9 Atualiza a informao no Banco de Dados. 9 Copia os dados do buffer de tela para seus respectivos campos e/ou variveis no buffer de registro. 9 Ex.: DEF VAR i-cust-num AS integer NO-UNDO.
29
Delete
9 Elimina um registro do buffer de registro e do banco de dados. 9 Os dados devem sempre ter sido previamente movidos para o Buffer de Registro. 9 Ex.: REPEAT:
30
Quadro de Comandos
31
Observe a Movimentao
insert customer.
create customer. update customer. create customer. display customer. prompt-for customer. assign customer.
32
Quadro de Comandos
33
Laboratrio 1
LABORATRIO 1
Exerccio disponvel no material de apoio
34
Blocos
BLOCOS
35
Tipos de Blocos
9 REPEAT 9 FOR EACH 9 DO 9 PROCEDURES 9 TRIGGERS
36
Repeat
9 Lao (repetio) automtico. Continua a interagir at encontrar um END-ERROR ou outra condio de trmino definida pelo usurio. 9 Ex:
37
For Each
9 L um registro a cada interao do bloco e copia os dados do banco para o buffer de registro. 9 Ex:
38
Do
9 Individualiza um grupo de comandos dentro de um bloco simples. 9 Ex: FOR EACH customer: DISPLAY customer.cust-num. IF credit-limit > 15000 THEN DO: UPDATE customer.name customer.address. MESSAGE "Registro Alterado". END. END.
39
NEXT LEAVE
9 Ex: FOR EACH customer:
DISPLAY customer.cust-num. IF credit-limit > 15000 THEN NEXT. IF credit-limit = 10000 THEN LEAVE. UPDATE customer.name customer.address. END.
40
Laboratrio 2
LABORATRIO 2
Exerccio disponvel no material de apoio
41
Localizando Registros
LOCALIZANDO REGISTROS
42
Find
9 Busca apenas um registro em uma tabela.
WHERE customer.credit-limit > 15000 NO-ERROR. IF AVAILABLE customer THEN DISPLAY customer WITH 1 COLUMN.
43
Where
9 Limita os registros a serem mostrados em uma leitura de uma determinada tabela. 9 Ex: FOR EACH customer
NOT AND OR
< <=
44
Using
9 Substitui o WHERE, utilizando o dado informado no buffer de tela. 9 Ex: REPEAT WITH 1 COLUMN:
PROMPT-FOR customer.cust-num. FIND customer USING customer.cust-num. DISPLAY customer. END. WHERE customer.cust-num = INPUT customer.cust-num
45
Of
9 Substitui o WHERE, utilizando o ndice para fazer o relacionamento entre tabelas. 9 Ex: FIND FIRST customer.
46
By
9 Usa-se a opo BY para classificao de registros por um campo no indexado. 9 Ex: FOR EACH customer
47
Use-Index
9 A opo USE-INDEX permite que voc escolha qualquer ndice definido para selecionar registros. 9 Ex: FOR EACH customer USE-INDEX name:
48
Begins
9 Verifica se a 1 expresso inicia com a 2 expresso. 9 Utiliza um ndice caso exista. 9 Ex: FOR EACH customer WHERE customer.name BEGINS S: DISPLAY customer.cust-num customer.name customer.phone. END.
49
Matches
9 Compara uma expresso do tipo caracter com um padro e retorna o valor verdadeiro se a expresso for atendida. 9 No utiliza ndice. 9 Ex: FOR EACH customer
50
Contains
9 Faz a busca por determinada palavra ou combinao delas, em atributos do tipo word-index. 9 Ex: FOR EACH item
51
Buffer
9 Funciona como um espelho da tabela. 9 Ex: DEFINE BUFFER bf-cliente FOR customer.
FIND FIRST customer. UPDATE customer.cust-num customer.name. FIND bf-cliente WHERE bf-cliente.cust-num = customer.cust-num. DISPLAY bf-cliente.name bf-cliente.phone. UPDATE customer.address.
52
Query
9 Pesquisa agrupada de registro do banco de dados. 9 Exemplos: Definir a query:
53
Get
9 Retorna um registro de uma query previamente aberta. 9 Ex:
54
55
Laboratrio 3
LABORATRIO 3
Exerccio disponvel no material de apoio
56
Variveis
VARIVEIS
57
Variveis
9 Ex.: DEFINE VARIABLE nome-variavel
58
Message
9 Envia uma mensagem para a tela. 9 Sintaxe:
MESSAGE texto [ UPDATE variavel ] [ VIEW-AS ALERT-BOX [ QUESTION | INFORMATION | WARNING | ERROR ] ] [ BUTTONS YES-NO | YES-NO-CANCEL | OK | OK-CANCEL | RETRY-CANCEL ] [ TITLE ttulo ].
59
Exemplo: Message
DEF VAR l-resp AS logical INITIAL no NO-UNDO. MESSAGE Confirma Atualizao? UPDATE l-resp VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO TITLE Atualizao de Dados.
60
Laboratrio 4
LABORATRIO 4
Exerccio disponvel no material de apoio
61
Processamento Condicional
PROCESSAMENTO CONDICIONAL
62
Processamento Condicional
SIM ENCONTROU?
NO
ALTERA INFORMAES
ADICIONA NOVO
63
Processamento Condicional: IF
IF expression THEN comando. ELSE DO: comando. comando. BLOCO comando. END.
64
CASE expression: WHEN value THEN comando. WHEN value THEN DO: bloco. END. WHEN value THEN comando. OTHERWISE DO: bloco. END. END CASE.
65
Laboratrio 5
LABORATRIO 5
Exerccio disponvel no material de apoio
66
Agradecimento
Obrigada!
universidade@datasul.com.br http://universidade.datasul.com.br
Este material de propriedade da DATASUL S.A., sendo proibida a sua reproduo em qualquer meio, total ou parcial, sem aprovao por escrito. Todos os direitos esto reservados. A informao contida aqui confidencial e no pode ser utilizada fora da empresa ou das franquias que fazem parte da nossa rede, no podendo ser divulgada para clientes, parceiros ou outra empresa ou indivduo sem o prvio consentimento de um diretor da DATASUL S.A. As opinies expressas aqui esto sujeitas a modificao sem aviso prvio.
67