Sistemas de Gestão de Bases de Dados. 3º ano Informática de Gestão. Manual de Oracle Developer/2000



Documentos relacionados
Aplicações de Escritório Electrónico

MICROSOFT POWERPOINT

Ambiente de trabalho. Configurações. Acessórios

Microsoft PowerPoint 2003

Os elementos básicos do Word

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

O AMBIENTE DE TRABALHO DO WINDOWS

Sistema Operativo em Ambiente Gráfico

Conceitos importantes

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira

Relatório SHST

COMPETÊNCIAS BÁSICAS EM TIC NAS EB1

Tecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico

Banco de Dados BrOffice Base

Sistema GPB Gestão de Pombais

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

Aplicações de Escritório Electrónico

Microsoft Windows. Aspectos gerais

LeYa Educação Digital

Tarefa Orientada 2 Criar uma base de dados

Formador: Carlos Maia

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

WINDOWS. O Windows funciona como um Sistema Operativo, responsável pelo arranque do computador.

Tarefa Orientada 1 A interface do Powerpoint

Word 1 - Introdução Principais recursos do word A janela de documento Tela principal

Oficina de Construção de Páginas Web

Tarefa 18: Criar Tabelas Dinâmicas a partir de Listas de Excel


EXCEL TABELAS DINÂMICAS

PRIMAVERA EXPRESS: Funcionalidades do Produto

5 - Se o documento estiver completo, com os campos totalmente inseridos e com o aspecto que pretende, poderá guardá-lo.

GERADOR DE RELATÓRIOS WINREPORT VERSÃO 2.0. Conteúdo

APOSTILA WORD BÁSICO

Criar um formulário do tipo Diálogo modal ; Alterar a cor de fundo de um formulário; Inserir botões de comando e caixas de texto;

MANUAL DE UTILIZADOR Aplicativo: Análise do Estudo da Lição da Escola Sabatina. 0. INTRODUÇÃO ARRANQUE DO APLICATIVO Início...

Microsoft Office FrontPage 2003

Administração da disciplina

Manipulação de Células, linhas e Colunas

Iniciação à Informática

Aplicações de Escritório Electrónico

MICROSOFT WORD George Gomes Cabral

Sistema Protocolo, Tramitação e Arquivamento de Processos Manual do Usuário

PROGRAMAÇÃO Microsoft WINDOWS XP

Informática Básica. Microsoft Word XP, 2003 e 2007

Utilizar o Microsoft Offi ce OneNote 2003: Iniciação rápida

Escola Superior de Tecnologias e Gestão Instituto Politécnico de Portalegre MS EXCEL. Fevereiro/ Portalegre

Ministério Público. Guia de Consulta Rápida

Aleph Manual de utilização do módulo de circulação e empréstimos

OBJECTIVO Aplicação de fórmulas

ZSRest. Manual Profissional. Comandos Rádio X64. V2011-Certificado

Transição de POC para SNC

CADERNOS DE SOCIOMUSEOLOGIA Nº

Folha de Cálculo Introdução à Folha de Cálculo

Seu manual do usuário EPSON LQ-630

Arranque do FrontOffice

Referências de tarefas de comunicação do Sametime

FICHEIROS COM EXEMPLOS

Manual do Spectacle. Boudhayan Gupta Boudhayan Gupta Tradução: André Marcelo Alvarenga

Gerente de Tecnologia: Ricardo Alexandre F. de Oliveira Marta Cristiane Pires M. Medeiros Mônica Bossa dos Santos Schmid WORD 2007

SISTEMA DE INFORMAÇÃO DAS PARTICIPAÇÕES DO ESTADO

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

QualiQuantiSoft Versão 1.3c

Painel de Navegação Para ver o Painel de Navegação, prima CTRL+F. Pode arrastar os cabeçalhos dos documentos neste painel para reorganizá-los.

Bases de Dados. Lab 1: Introdução ao ambiente

❶ No Sistema Gênesis, na Aba ESTOQUE

Centro de Competência Entre Mar e Serra. Guia

Microsoft PowerPoint. Prof. Rafael Vieira

Menu Utilitários. Atualização do Banco de Dados Atualização e organização dos arquivos existentes

Manual da AGENDA GRACES 2011

Migrar para o Access 2010

Criação de Páginas Web - MS Word 2000

Aplicações de Escritório Electrónico

Oficina de Construção de Páginas Web

Fórmulas e Funções 7

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Referencial do Módulo B

Google Sites. A g r u p a m e n t o C a m p o A b e r t o /

Tarefa Orientada 6 Edição de Dados

Pesquisa e organização de informação

Ministério das Finanças Instituto de Informática. Departamento de Sistemas de Informação

CICLO DE APERFEIÇOAMENTO PROFISSIONAL DOS SERVIDORES MUNICIPAIS DE MARICÁ- RJ EDITOR DE TEXTO - WORD

Neste tutorial irá criar uma animação simples com base num desenho do Mechanical Desktop.

Como incluir artigos:

Configuração do Ambiente de Trabalho


Manual Sistema de Autorização Online GW

Aplicações de Escritório Electrónico

Manual GMI-Gabinete de Manutenção Informática

GUIA DE CRIAÇÃO DE APRESENTAÇÕES MICROSOFT POWER POINT

ZS Rest. Manual Avançado. Menus. v Certificado

Serviço Técnico de Informática. Curso Básico de PowerPoint

Módulo de Administração de Utilizadores

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

POS significa Point of Sale Posto de Venda um local onde ocorre uma transação financeira, por exemplo,

Aleph Manual de utilização do Módulo de Catalogação

Domine o Word Professor: Rafael Henriques. Ano Lectivo 2010/2011

Microsoft Word INTRODUÇÃO

Manual de Utilização. Site Manager. Tecnologia ao serviço do Mundo Rural

Tutorial: criação de uma Ficha de Voluntário online

Transcrição:

Sistemas de Gestão de Bases de Dados 3º ano Informática de Gestão Manual de Oracle Developer/2000 Elaborado por Cristina Maria Rodrigues Leitão (Prof. Adjunta) ESGS, 2001

Indíce Introdução...2 Antes de começar...2 I. Oracle Forms...3 Como entrar no Forms...3 Criar blocos com o Assistente de Blocos...4 Criar telas com o Assistente para Disposição de Ecrã...7 Executar uma ficha...11 Fichas com vários blocos...11 Utilização de Triggers...14 Lista de triggers existentes...16 Introdução manual de itens...17 Introdução manual de itens da base de dados...18 Menus...19 Configuração do Oracle Developer 2000...23 Janelas MDI...24 Blocos Mestre/Detalhe...25 Listas de Valores...29 Trigger Post-Query...32 Mais sobre itens...33 Trigger Pre-Query...34 Comandos de navegação...38 Introdução de Barra de Ferramentas...41 II. Oracle Reports...42 Como entrar no Reports...42 Criar um novo relatório...43 Modelo de dados...49 Modelo de Disposição no Ecrã...52 Relatórios com parâmetros...56 III. Reports e Forms...58 Ligar o Forms ao Reports...58 Utilizar parâmetros enviados pelo Forms...60 Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 1

Introdução O Developer 2000 da Oracle é um conjunto de ferramentas que pode ser usado para gerar as aplicações de cliente. Aos interfaces gerados para as aplicações de cliente dá-se o nome de forms ou fichas. Os vários forms são úteis para a introdução de dados e todos os tipos de requisições de dados feitas pelo utilizador. No âmbito do cliente, é importante dispor também de ferramentas para gerar relatórios, além de outras úteis ao desenvolvimento de aplicações de cliente. O Developer 2000 é um package que inclui a ferramenta Forms 6 para gerar forms e o Reports 6 para gerar relatórios. O Oracle Forms 6 é uma linguagem orientada a objectos, através da definição dos objectos e orientada a eventos, através da programação de triggers. A maior dificuldade no desenvolvimento de aplicações em Forms 6 está em entender todas as regras que fazem disparar cada trigger, mas uma vez ultrapassado este problema, é possível controlar todos os aspectos no comportamento das aplicações com bastante facilidade. O Oracle Reports 6 possui características que permitem desenvolver relatórios de alta qualidade em pouco tempo. A forma de implementar os relatórios é bastante facilitada, exigindo pouca programação. O programador pode optar por escolher um tipo de relatório por defeito, ou desenhá-lo ele através de cliques com o rato na sua folha de desenho. Antes de Começar Será necessário preparar a sua conta para poder efectuar os exercícios deste manual. No SQL Plus entre na sua conta e execute o ficheiro tabelas_scott. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 2

I. Oracle Forms Como entrar no Forms Ligue o oracle em Start Database se estiver a utilizar Personal Oracle Entre na aplicação Oracle Developer Forms Builder Para efectuar e ligação à base de dados seleccione no menu Ficheiro a opção Ligar e introduza os dados da sua conta. Efectue a ligação utilizando o nome, password e base de dados da sua conta. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 3

Criar blocos com o Assistente de Blocos Um bloco de dados está normalmente ligado a uma tabela da base de dados e faz parte de uma ficha. Clique em cima da palavra blocos e depois no botão caixa de dialogo. e irá aparecer a seguinte Nesta caixa de dialogo seleccione a primeira opção para utilizar o assistente de blocos. Seleccione novamente a primeira opção (tabela ou vista) e clique no botão Seguinte. Clique no botão percorrer para seleccionar a tabela ou vista da base de dados. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 4

Seleccionar a tabela emp. Seleccione os atributos: empno, job, hiredate, sal e comm. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 5

Na próxima caixa de dialogo opte por terminar o bloco (Apenas criar o bloco). Pode verificar no Navegador de objectos que já tem um bloco com o nome EMP. Clique no (+) para expandir o bloco EMP. Irá verificar que pode introduzir triggers directamente no bloco ou em cada um dos seus itens (atributos). Os triggers são blocos em linguagem PL/SQL associados aos objectos do Forms. Para visualizar as propriedades do bloco ou dos seus atributos clique com o rato duas vezes em cima do objecto que pretende ver as propriedade ou clique no botão direito do rato e seleccione Paleta de Propriedades. Abra a Paleta de Propriedades do item EMPNO. Verifique e tente entender as propriedades definidas para este item. Utilize a Ajuda se necessário. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 6

Criar telas com o Assistente para Disposições no Ecrã Verifique que não existem ainda telas criadas. Clique em cima do bloco EMP e clique depois no botão direito do rato que desencadeará o seguinte menu: Seleccione a opção Assistente para Disposições no Ecrã. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 7

Seleccione Tela Nova e Contéudo e depois prima o botão Seguinte. Agora seleccione todos os itens do bloco EMP e determine o seu tipo na opção tipo de item. Neste caso todos os itens serão do tipo texto. Estes são todos os itens que irá visualizar na tela. Clique no botão Seguinte. Defina as etiquetas (labels) que iram aparecer na sua tela. Deixe os valores da altura e largura dos itens como estão e clique no botão seguinte. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 8

Irá agora ter que optar por um estilo de disposição: Ficha ou Tabular. Seleccione o tipo de disposição Ficha e prima o botão Seguinte. No proximo ecrã introduza os dados apresentados na imagem seguinte e prima depois na tecla seguinte. Prima o botão terminar e irá entrar no editor de telas onde poderá alterar a disposição dos itens. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 9

Dentro deste editor poderá introduzir vários tipos de objectos como pode verificar. Tente explorar os vários objectos e as várias funcionalidades deste editor. Altere a disposição e/ou etiquetas dos itens para que fiquem mais acessíveis para o utilizador. Feche a janela do Editor de Telas para visualizar novamente o Navegador de Objectos. Irá verificar que foi criada uma nova tela. Clique duas vezes em cima da nova tela e irá entrar novamente no Editor de Telas. Saia novamente para o Navegador de Objectos. Através do menu Ficheiro/Guardar, grave agora a sua ficha dando_lhe o nome EXEMPLO_MANUAL. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 10

Executar uma ficha Clique uma vez em cima da sua ficha (neste caso será o MODULE1). Clique em cima de (executar ficha) ou seleccione a opção do menu Programa/Executar Ficha. Tente explorar as várias opções do menu utilizado por defeito pelo Forms. Fichas com vários blocos Exercício: Agora crie na mesma ficha um novo bloco DEPT referente à tabela DEPT. Este bloco deverá incluir todos os atributos da tabela DEPT. Opte por Junção Automática de Blocos quando lhe for pedia a definição de blocos Mestre Detalhe. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 11

Após a criação do bloco ente no Assistente para Disposições no Ecrã. Introduza o bloco numa tela nova de conteúdo. Seleccione todos os itens e desta vez seleccione a disposição tabular. Introduza posteriormente os dados apresentados na figura seguinte. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 12

Após a entrada no editor de telas vai verificar que a disposição agora é tabular e pode visualizar 20 registos de cada vez. Execute agora a ficha. Irá verificar que cada vez que executar esta ficha, esta irá sempre entrar no bloco DEPT ignorando agora o bloco EMP. Grave novamente a sua ficha. Altere os nomes das telas para empregados e departamentos respectivamente. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 13

Utilização de Triggers Em cima da palavra Triggers (depois de EXEMPLO_MANUAL) clique no botão. Seleccione o trigger WHEN-NEW-FORM-INSTANCE. Este trigger será desencadeado cada vez que é executado uma nova ficha. Introduza o seguinte comando em PL/SQL: GO_BLOCK posiciona o cursor no respectivo bloco. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 14

Outros comandos GO: GO_FORM posiciona o posiciona o cursor na respectiva ficha; GO_ITEM - posiciona o cursor no respectivo objecto (atributo); GO_RECORD - posiciona o cursor no respectivo registo. Clique no botão Compilar. Se não existirem erros clique no botão Fechar. Execute a ficha. Verifique que quando é executa a ficha, o bloco EMP fica logo activo, visto o trigger WHEN-NEW-FORM-INSTANCE estar a ser executado com o comando GO_BLOCK( EMP ); Outra alternativa: SHOW_VIEW( EMPREGADOS ); - para apresentar a tela EMPREGADOS. HIDE_VIEW esconde a respectiva tela. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 15

Lista de triggers existentes Delete-Procedure Function Key Triggers Insert-Procedure Key-Fn Key-Others Lock-Procedure On-Check-Delete-Master On-Check-Unique On-Clear-Details On-Close On-Column-Security On-Commit On-Count On-Delete On-Dispatch-Event On-Error On-Fetch On-Insert On-Lock On-Logon On-Logout On-Message On-Populate-Details On-Rollback On-Savepoint On-Select On-Sequence-Number On-Update Post-Block Post-Change Post-Database-Commit Post-Delete Post-Form Post-Forms-Commit Post-Insert Post-Logon Post-Logout Post-Query Post-Record Post-Select Post-Text-Item Post-Update Pre-Block Pre-Commit Pre-Delete Pre-Form Pre-Insert Pre-Logon Pre-Logout Pre-Popup-Menu Pre-Query Pre-Record Pre-Select Pre-Text-Item Pre-Update Query-Procedure Update-Procedure User-Named When-Button-Pressed When-Checkbox-Changed When-Clear-Block When-Create-Record When-Custom-Item-Event When-Database-Record When-Form-Navigate When-Image-Activated When-Image-Pressed When-List-Activated When-List-Changed When-Mouse-Click When-Mouse-DoubleClick When-Mouse-Down When-Mouse-Enter When-Mouse-Leave When-Mouse-Move When-Mouse-Up When-New-Block-Instance When-New-Form-Instance When-New-Item-Instance When-New-Record-Instance When-Radio-Changed When-Remove-Record When-Tab-Page-Changed When-Timer-Expired When-Validate-Item When-Validate-Record When-Window-Activated When-Window-Closed When-Window-Deactivated When-Window-Resized Para mais informações sobre cada um destes triggers consulte o manual de referência Forms 60 ou a Ajuda. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 16

Introdução manual de items Entre dentro do bloco EMP em cima da palavra items clique no botão. Irá aparecer um novo item numerado. Modifique o seu nome para botão1 e clique duas vezes em cima do mesmo para abrir a Paleta de Propriedades. Altere a propriedades tipo de item para botão de opção, etiqueta para Departamentos e tela para EMPREGADOS. Verifique todas as propriedades na Paleta de Propriedades dos itens e tente entender o significado de cada uma delas. Em caso de dúvidas utilize as ajudas, manuais ou peça auxilio ao professor da cadeira. No trigger WHEN-BUTTON-PRESSED do item BOTAO1 introduza o seguinte código: Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 17

Agora entre na tela EMPREGADOS e arraste o botão na tela de forma a ficar numa posição com estética. Execute a ficha. Exercício: Introduza no bloco DEPT um botão para entrar no bloco EMP. Introdução manual de itens da base de dados Na tela de EMPREGADOS introduza um novo item de texto através do botão altere o seu nome para MGR. e Na Paleta de Propriedades do item MGR efectue as seguintes alterações: Tipo de Dados: Número Tipo de item: item de texto Tela: EMPREGADOS Item da base de dados: sim Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 18

Menus Adicione um novo menu através da opção do menu Fichero/Novo/Menu ou do botão. Altere o nome do módulo do menu para MENU_SCOTT. Clique duas vezes em cima do menu para entrar no editor de menus. Crie um menu igual ao da figura seguinte utilizando as ferramentas da barra de ferramentas localizada no topo do editor de menus. - estes botões criam níveis de menus para baixo e para a direita respectivamente. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 19

No navegador de objectos pode verificar que criou um menu com a seguinte estrutura: Só será possível introduzir código nos itens do menu e não nos objectos hierarquicamente a cima. Clique duas vezes em cima do item empregados e introduza o seguinte código em PL/SQL: No item departamentos introduza o seguinte código: Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 20

OPEN_FORM abre a respective ficha. Ao abrir a ficha o controlo do programa é determinado pela ficha exemplo_manual, então será necessário entrar no bloco que se pretende. A solução é criar uma variável global (neste caso a variável menu). Se :global.menu for 1, então entra no bloco EMP. Se :global.menu for 2, então entra no bloco DEPT. Este controlo será efectuado no trigger WHEN-NEW-FORM-INSTANCE da ficha EXEMPLO_MANUAL através do seguinte código: Introduza o código da figura anterior efectuado no trigger WHEN-NEW-FORM-INSTANCE da ficha EXEMPLO_MANUAL. Uma variável global permanece na memória mesmo que se mude de ficha. O seu sintaxe é o seguinte: :GLOBAL.nome_da_variavél Não é necessária a sua declaração, basta inicializa-la. Será sempre necessário introduzir código em todos os itens na última hierarquia da árvore de todos os menus. Introduza o seguinte código no item sair para sair do programa: Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 21

Como ainda não tem fichas criadas para os restantes itens do menu introduza um nome temporário de uma ficha. Nos restantes itens introduza o seguinte código: Grave a ficha (menu) MENU_SCOTT. Crie uma nova ficha com o nome EXEMPLO_MENU. Dentro da ficha EXEMPLO_MENU crie um bloco manualmente e introduza-lhe um item de nome BOTAO1. Na propriedade etiqueta do item BOTAO1 introduza Sair. Introduza o seguinte código para o item BOTAO1: Crie uma nova tela com nome TELA_INICIAL. Altere a propriedade tela no BOTAO1 para TELA_INICIAL. Entre no Editor de Telas e crie a seguinte tela: Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 22

Clique duas vezes em cima do módulo EXEMPLO_MENU para entrar na paleta de propriedades para alterar as propriedades do módulo menu para MENU_SCOTT. Grave o menu e efectue a sua compilação através da opção do menu Ficheiro/Administração/Compilar ficheiro. Grave e compile todas as outras fichas que já criou. Execute a ficha EXEMPLO_MENU clicando em cima do seu nome e no botão ou através da opção do menu Programa/Executar Ficha. Configurações do Oracle e Developer 2000 Para efectuar qualquer configuração relativamente ao Oracle ou ferramentas dodeveloper 2000 entre no REGEDIT do WINDOWS em HOT_KEY_LOCAL_MACHINE / SOFTWARE / Oracle. Para não referir as directorias das fichas e dos menus entre no REGEDIT do WINDOWS e adicione a directoria do seu trabalho no registo HOT_KEY_LOCAL_MACHINE / SOFTWARE / Oracle / FORMS60_PATH. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 23

Janelas MDI Maximize a janela MDI de EXEMPLO_MENU como MDI introduzindo o seguinte código no trigger PRE-FORM da mesma ficha: Modifique o nome da janela que foi automaticamente criada para JANELA1. Altere a propriedade Janela de Consola no paleta da ficha para JANELA1. Altere as seguintes propriedades da JANELA1: Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 24

Blocos Mestre/Detalhe Através do Forms pode-se fazer a ligação entre dois blocos através das suas chaves primárias e forasteiras. No seguinte exemplo irá ser criada uma ficha onde se pode visualizar todos os empregados de cada departamento. Crie uma nova ficha com o nome EMP_DEPT; Introduza um bloco com todos os atributos da tabela DEPT (com a disposição tabular); Crie um bloco para a tabela EMP com os seguintes atributos; No próximo ecrã clique em Criar Relação e opte por Junção Automática de Blocos; Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 25

Note que o Forms criou a seguinte Condição de Junção: chave forasteira chave primária EMP.DEPTNO = DEPT.DEPTNO Bloco pai Seleccione uma disposição tabular com as seguintes propriedades para o bloco empregados: Execute agora a ficha e efectue algumas consultas aos departamentos. Deverá obter um ecrã como o que está apresentado na figura seguinte. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 26

A Condição de Junção poderia ter sido criada manualmente após a criação dos dois blocos criando uma nova relação. E posteriormente definindo as suas propriedades na paleta de propriedades. Verifique as propriedades da relação DEPT_EMP. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 27

Introduza o comando para aceder à ficha EMP_DEPT no item Consultas_Menu/EmpregadosDepartamentos do menu MENU_SCOTT. Grave e compile o menu e todas as fichas que foram alteradas. Execute agora a mesma ficha EMP_DEPT através da ficha EXEMPLO_MANUAL. Exercício: Desenvolva as fichas e código apropriado para que a opção do menu CONSULTAS_MENU/EMPREGADOS/MANAGER possa ser executada. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 28

Listas de Valores Na ficha EXEMPLO_MANUAL, introduza um nome item NOME_MGR no bloco EMP tela EMPREGADOS na propriedade item da base de dados introduza Não. Introduza também um novo botão BOT_LOV no bloco EMP tela EMPREGADOS com as propriedades apresentadas na figura seguinte. A sua tela deverá agora ter o seguinte visual: Na ficha EXEMPLO_MANUAL introduza uma nova Lista de Valores (LOV). Utilize o Assistente para LOVs. Seleccione Novo grupo de registo baseado numa consulta. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 29

Introduza o seguinte código na Instrução de Consulta SQL: Seleccione ambas as colunas para o LOV; Para a coluna EMPNO clique no botão procurar item de retorno e seleccione EMP.MGR; Para a coluna ENAME clique no botão procurar item de retorno e seleccione EMP.NOME_MGR; Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 30

Introduza o seguinte código no botão BOT_LOV do bloco EMP: Entre na paleta de propriedades do item MGR e defina as propriedades com os valores que se apresentam na seguinte figura: Execute a ficha. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 31

Faça um query à Ficha, e erá verificar que o nome do chefe não será preenchido. Trigger Post-Query O trigger Post-Query permite, após um query, preencher valores que não pertencem à mesma tabela que os outros valores do bloco. No trigger Post-Query do bloco EMP da ficha EXEMPLO_MANUAL introduza o seguinte código: Select ENAME into :EMP.NOME_MGR from EMP where EMPNO=:EMP.MGR; Execute novamente a ficha e faça um query ao bloco EMP. Irá verificar que o valor do nome do chefe já é preenchido através do trigger Post-Query. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 32

FORD Mais sobre itens No bloco DEPT da ficha EXEMPLO_MANUAL introduza o item TOTAL_DEP. Altere as seguintes propridades do item TOTAL_DEP: Tipo de dados: Número Item da base de dados: Não Tela: DEPARTAMENTOS No trigger Post-Query do bloco DEPT da ficha EXEMPLO_MANUAL introduza o seguinte código: Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 33

A tela DEPARTAMENTOS deverá ficar com a seguinte disposição: Execute novamente a ficha e faça um query ao bloco DEPT. Irá verificar que o valor do total dos salários dos departamentos é preenchido através do trigger Post-Query. Trigger Pre-Query Através do trigger Pre-Query pode atribuir valores aos itens. Estes valores iram ser utilizados como valores de pesquisa na execução de um query. Abra as ficha EMP_DEPT e introduza um item do tipo botão no bloco DEPT. Introduza o seguinte código para este botão: Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 34

Estes comandos iram abrir uma nova ficha que apresentará dados estatísticos de cada departamento. Os próximos passos irão dar instruções para a criação desta nova ficha. Crie uma nova ficha com o nome ESTATISTICA_DEP e com o bloco DEPT contendo itens ligados à tabela DEPT: DEPTNO, DNAME e LOC. A sua disposição deverá ser do tipo ficha. Coloque os itens deste bloco na tela ESTATISTICA. Na Paleta de Propriedades da ficha ESTATISTICA_DEP ponha a nulo o módulo do menu. Introduza, ainda, para o bloco DEPT os seguintes itens: Total_Sal Tipo de dados: Número Item da base de dados: Não Tela: ESTATISTICA Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 35

Perc_Sal Tipo de dados: Número Item da base de dados: Não Tela: ESTATISTICA Max_Sal Tipo de dados: Número Item da base de dados: Não Tela: ESTATISTICA Pelo facto do bloco DEPT ser só utilizado para consultas altere as seguintes propriedades na Paleta de Propriedades: O aspecto visual da tela ESTATISTICA deverá ser o seguinte: Atribua as seguintes propriedades à janela utilizada pela ficha ESTATISTICA_DEP: Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 36

No trigger Pre-Query do bloco DEPT introduza o seguinte código: No trigger Post-Query do bloco DEPT introduza o seguinte código: X number; begin Select sum(sal) into :TOTAL_SAL where DEPTNO=:ESTATISTICA_DEP.DEPTNO; Select sum(sal) into X from DEPT; Select sum(sal)/x into :PERC_SAL where DEPTNO=:GLOBAL.DEPTNO; Select max(sal) into MAX_SAL from DEPT where DEPTNO=:GLOBAL.DEPTNO; End; Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 37

No trigger When-New-Form-Instance da ficha introduza o seguinte código: Grave e efectue a compilação da ficha. Execute a ficha EMP_DEPT, efectue um query e prima o botão Estatística. Comandos de navegação Os seguintes comandos fazem parte do menu utilizado por defeito pelo forms. O ficheiro MENUDEFSP.MMB, que se encontra na sua directoria de trabalhos, contem todos estes comandos e pode ser alterado e utilizado nos seus programas. Menu Principal LIMPAR_TUDO do_key('clear_form'); IMPRIMIR do_key('print'); CONFIGURAR_IMPRESSAO null; Menu ACCAO SAIR do_key('exit_form'); Menu BLOCO ANTERIOR do_key('previous_block'); GRAVAR do_key('commit_form'); SEGUINTE do_key('next_block'); Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 38

LIMPAR do_key('clear_block'); Menu CAMPO Menu EDITAR ANTERIOR do_key('previous_field'); CORTAR Na paleta de propriedades Tipo de Menu: Mágico Item Mágico: Cortar Não será necessário introduzir código. SEGUINTE do_key('next_field'); LIMPAR Clear_field; DUPLICAR do_key('duplicate_field'); Menu AJUDA COPIAR Na paleta de propriedades Tipo de Menu: Mágico Item Mágico: Copiar COLAR Na paleta de propriedades Tipo de Menu: Mágico Item Mágico: Colar EDITAR Edit_field; AJUDA do_key('help'); TECLAS show_keys; APRESENTAR_ERRO display_error; DEPURAR break; APRESENTAR_LISTA do_key('list_values'); Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 39

Menu CONSULTA CANCELAR_CONSULTA do_key('exit_form'); OCULTAR_BLOCO_ANT do_key('previous_block'); OCULTAR_REGISTO_ANT do_key('previous_record'); OCULTAR_REGISTO_SEG do_key('next_record'); OCULTAR_BLOCO_SEG do_key('next_block'); INSERIR_REGISTO do_key('create_record'); REMOVER_REGISTO do_key('delete_record'); INTRODUZIR enable_disable_query_items; do_key('enter_query'); enable_disable_regular_items; EXECUTAR do_key('execute_query'); BLOQUEAR_REGISTO do_key('lock_record'); AJUDA do_key('help'); Menu REGISTO CANCELAR do_key('exit_form'); ULTIMOS_CRITERIOS do_key('enter_query'); CONTAR_OCORRENCIAS do_key('count_query'); EXTRAIR_CONJ_SEGUINTE do_key('next_set'); INTRODUZIR_CONSULTA enable_disable_query_items; do_key('enter_query'); enable_disable_regular_items; EXECUTAR_CONSULTA do_key('execute_query'); ANTERIOR do_key('previous_record'); SEGUINTE do_key('next_record'); DESLOCAR_PARA_CIMA do_key('scroll_up'); Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 40

DESLOCAR_PARA_BAIXO do_key('scroll_down'); INSERIR do_key('create_record'); REMOVER do_key('delete_record'); BLOQUEAR do_key('lock_record'); DUPLICAR do_key('duplicate_record'); LIMPAR do_key('clear_record'); Comando Do_key Permite utilizar teclas de atalho utilizando o key_trigger correspondente. O utlizador poderá ver as teclas em Ajuda/Teclas. Introdução de Barra de Ferramentas Para introduzir o menu na barra de ferramentas introduza as seguintes propriedades na paleta de propriedades dos itens do menu: Os ficheiros de icons estão localizadas na directoria definida no registo UI_ICON do REGEDIT do WINDOWS. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 41

II. Oracle Reports Como entrar no Reports Ligue o Oracle em Start Database se estiver a utilizar Personal Oracle Entrar no Oracle Developer Report Builder. Efectue a ligação à base de dados através da opção do menu Ficheiro / Ligar. Efectue a ligação utilizando o nome, password e base de dados da sua conta. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 42

Criar um novo relatório Estilos de Relatórios Um relatório Tabular é do tipo mais elementar. Cada coluna corresponde a uma coluna seleccionada da base de dados. Um relatório Tipo Ficha mostra um registo por página, inserindo os valores dos campos à direita dos títulos dos campos. Um relatório do tipo Etiqueta de Correio imprime etiquetas de correio em colunas múltiplas em cada página. Pode imprimir as etiquetas verticalmente e depois horizontalmente na página, ou horizontalmente e depois verticalmente. Um relatório do tipo Carta contem valores da base de dados inseridos dentro do texto de uma carta. (O texto para a carta é importado para o Editor de Relatórios.) Um relatório Agrupado à Esquerda divide as linhas de uma tabela em "conjuntos," baseados num valor comum em uma das colunas. Utilize este tipo de relatório para restringir uma coluna de repetir o mesmo valor várias vezes enquanto os valores das colunas relacionadas mudam. Um relatório Agrupado Acima contem dois ou mais grupos de dados. Para cada valor do grupo mestre, os valores relacionados do(s) grupo(s) detalhes são rebuscados da base de dados. Um relatório Matriz contem uma linha de títulos, uma coluna de títulos, e informação no formato de uma grelha que é relacionada com os títulos das colunas e das linhas. Uma das características que distingue os relatórios em matriz é que o numero de colunas não é conhecido até que os dados sejam rebuscados da base de dados. Para criar um relatório do tipo matriz, é necessário criar pelo menos quatro grupos: um grupo de produto-cruzado, dois grupos para fornecerem títulos ao produto cruzado, e pelo menos um grupo para fornecer informação para preencher as células. Os grupos podem pertencer a um ou vários queries. Um relatório de Matriz em Grupo é um relatório Agrupado Acima com uma matriz diferente para cada valor do grupo mestre. Crie um novo relatório através da opção do menu Ficheiro/Novo/Relatório ou clicando no botão com o ocusor em cima do nome do relatório. Na próxima caixa de diálogo seleccione Utilizar o Assistente para Relatórios. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 43

Opte pelas seguintes opções na próxima caixa de diálogo: Pode criar uma consulta à base de dados digitando o comando em SQL, utilizando o criador de consultas Query Builder ou importando uma consulta de SQL (um ficheiro do tipo SQL). Digite o seguinte comando para criar uma consulta à base de dados: Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 44

Seleccione os três campos para serem visualizados no relatório. Seleccione calcular a soma, média, valor mínimo e valor máximo do campo sal, como se apresenta no seguinte quadro. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 45

Altere as etiquetas da forma que se apresentam na figura seguinte. Escolha o modelo pré-definido que mais lhe agradar. Recorde que para a economia de tinteiros de impressora é preferível optar por Sem Modelo. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 46

Uma vez terminada a criação do relatório, o Reports irá automaticamente entrar no Previewer. Antes de mandar imprimir o relatório poderá efectuar as alterações que achar necessárias dentro do Previewer. Pode também voltar ao Assistente para Relatórios através do botão. Feche o Previewer. Grave o relatório para um ficheiro de relatórios com o nome REL_SCOTT. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 47

Dentro da estrutura de cada relatório tem um Previewer, um modelo de dados, um ficheiro da disposição do ecrã e uma ficha de parâmetros, como mostra a figura seguinte. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 48

Modelo de dados Clique duas vezes em cima do modelo de dados e entrará no editor de modelo de dados. Utilizando os vários botões disponíveis pode estruturar o modelo de dados do relatório. Clique duas vezes em cima do campo SumsalperReport para verificar as suas propriedades na paleta de propriedades. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 49

Esta Paleta de Propriedades indica que esta coluna é de resumo, que a sua função é soma e que a sua origem é o item sal já definido no query Q1. Ou seja, este é o somatório do item sal da tabela emp. Esta coluna poderia ter sido criada através do botão dentro deste editor. Clique duas vezes em cima do query Q1 e altere a instrução SQL para a que se apresenta na figura seguinte. Note que foi inserido o campo DEPTNO no modelo de dados. Clique no botão e crie um novo query através da instrução em SQL que se apresenta na figura seguinte. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 50

Para efectuar a ligação entre a tabela EMP e a tabela DEPT, no modelo de dados efectue as seguintes operações: 1. clique no botão 2. clique no campo DEPNO da tabela DEPT 3. arraste o cursor até ao campo DEPTNO1 da tabela EMP O seu modelo de dados deverá ter o seguinte formato: Através das colunas de repositório de valores poderão ser introduzidas variáveis a incluír no relatório. Estas colunas são criadas através do botão e o seu valor pode ser derivado através de uma formula incluída numa função PL/SQL. A estrutura do seu modelo de dados deverá ser a seguinte: Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 51

Modelo de Disposição no Ecrã Clique duas vezes em cima do Modelo de Disposição no ecrã. Esta foi a disposição que tinha sido definida antes das alterações efectuadas ao modelo de dados. Pode aqui arrastar campos já definidos no modelo de dados para dentro dos vários grupos. Pode utilizar os botões relatório respectivamente. para alternar entre o cabeçalho, corpo e rodapé do Seleccione o grupo f_empno, f_ename, F_sal Verifique as suas propriedades na paleta de propriedades: Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 52

Clique no botão direito do rato e opte por seleccionar a moldura pai. Aumente o tamanho da moldura principal e depois aumente o tamanho da moldura do grupo f_empno, f_ename, F_sal. Clique no botão para inserir um novo campo e arraste-o para dentro da moldura do grupo f_empno, f_ename, F_sal. Clique duas vezes em cima do novo campo para visualizar a sua Paleta de Propriedades. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 53

Altere o seu nome para F_DEPTNO e a sua origem para DEPTNO. Aumente também o largura do grupo dos títulos e introduza para este grupo o título Departamento. Saia do Modelo de Ecrã e entre no Previewer para ver o aspecto do novo relatório. Grave o seu relatório. Grave o seu relatório novamente com um nome diferente (REL_SCOTT2). Seleccione o relatório REL_SCOTT2 e entre no Assistente para Relatórios através do botão direito do rato. Opte pelo estilo de relatório Agrupado Acima. Seleccione vertical para a direcção de repetição dos registos dos grupos G_deptno e G_empno. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 54

Seleccione os campos que se apresentam na figura seguinte para serem apresentados no relatório. Altere as etiquetas e tamanhos dos campos da forma como se apresentam na próxima figura. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 55

Escolha o modelo pré-definido que mais lhe agradar. Entre no previewer e grave o relatório. Explore os seguintes temas através da Ajuda: Quebras de páginas Cabeçalhos Rodapés Relatórios com parâmetros Grave o relatório REL_SCOTT2 com o nome REL_SCOTT_P. No relatório REL_SCOTT_P introduza um parâmetro de utilizador com o nome P_Deptno. Altere as propriedades do parâmetro P_Deptno com os valores que se apresentam na figura seguinte. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 56

Entre no Criador da Ficha de Parâmetros através da opção do menu Ferramentas/Criador da Ficha de Parâmetros. Entre no modelo de dados e adicione a seguinte condição ao query dos departamentos: Execute o relatório e introduza o valor 10 para o Nº Departamento. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 57

III. Reports e Forms Ligar o Forms ao Reports Entre no Forms e abra o ficheiro EMP_DEPT. Clique duas vezes em cima de Relatórios para adicionar um relatório a esta ficha. Opte por utilizar o ficheiro de relatórios Rel_scott2.RDF que já foi criado através do Reports. Defina as propriedades do relatório que adicionou à ficha com os valores que se apresentam na próxima figura. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 58

No bloco Dept introduza um item com as seguintes propriedades: O bloco DEPT deverá agora conter os seguintes itens: Coloque o novo botão num local da tela onde fique esteticamente apresentável. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 59

Introduza o seguinte código para o novo botão: Através deste código o Forms vai ivocar o Reports e executar o relatório. Utilizar parâmetros enviados pelo Forms No Forms abra o ficheiro EMP_DEPT. Pelo facto de existir alguma dificuldade em enviar os valores dos parâmetros através dos objectos do tipo relatório do Forms, será necessário correr o Reports atavés do comando RUN_PRODUCT. Este comando executa aplicações externas ao Forms. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 60

Introduza outro botão com o label Relatório 2 na tela (bloco Dept). Introduza o seguinte código para o novo botão: Neste código foi definida uma lista de parâmetros com os respectivos valores para enviar ao Reports. Execute a ficha e efectue um query onde possa vizualizar um departamento específico. Prima o botão Relatório 2. Como pode ver o número do departamento visível na ficha foi passado pelo parâmetro para o Reports. Oracle Developer/2000 Sistemas de Gestão de Bases de Dados 3º ano IG 61