Apostila Do Oracle e Reports
-
Upload
daniel-viana -
Category
Documents
-
view
140 -
download
20
Transcript of Apostila Do Oracle e Reports
. . . . . . . . . .
..........
Linguagem Consultoria e Treinamento
Oracle Developer
Oracle Forms
Oracle Reports
INTRODUÇÃO.........................................................................................................................................................04
PROGRAMAÇÃO....................................................................................................................................................05
VISÃO GERAL.........................................................................................................................................................06
CONCEITOS BÁSICOS E COMPONENTES......................................................................................................06
CRIANDO UM FORMULÁRIO BÁSICO.............................................................................................................07
UTILIZANDO O ASSISTENTE DO FORM BUILDER................................................................07
PASSOS PARA A CRIAÇÃO DE UM FORMULÁRIO BÁSICO.....................................................20
ALTERANDO AS PROPRIEDADES DO MODULO.....................................................................22
TIPOS DE BLOCOS...........................................................................................................................24
TABELAS BASE..............................................................................................................................24
CONTROLE....................................................................................................................................25
CRIANDO UM BLOCO TABELA BASE........................................................................................26
ASSOCIANDO UMA TABELA A UM BLOCO..............................................................................28
DEFININDO AS COLUNAS DA TABELA QUE SERÃO USADAS EM UM BLOCO
...............................................................................................................................................................29
DEFININDO O FORMATO DE UM BLOCO.................................................................................30
CRIANDO UM FORM MESTRE DETALHE......................................................................................................32
CRIANDO O BLOCO MESTRE.......................................................................................................33
CRIANDO UM BLOCO DETALHE.................................................................................................33
DEFININDO A RELAÇÃO ENTRE UM BLOCO MESTRE E O DETALHE...........................33
EXECUTANDO UM FORMULÁRIO....................................................................................................................35
EXECUTAR....................................................................................................................................35
MODO..........................................................................................................................................35
MODIFICANDO UM FORMULÁRIO..................................................................................................................36
PARA MODIFICAR OS ROTULOS DOS CAMPOS...........................................................................37
PARA MODIFICAR OS ROTULOS DOS BOTÕES.............................................................................38
PARA COLOCAR ICONES NOS BOTÕES.........................................................................................39
PARA MODIFICAR AS CORES DOS ITENS......................................................................................40
PARA ALINHAR RAPIDAMENTE VARIOS ITENS............................................................................41
PARA COLOCAR RAPIDAMENTE VARIOS ITENS COM O MESMO TAMANHO.............................42
TIPOS DE CAMPOS................................................................................................................................................43
CRIANDO CAMPOS ADICIONAIS DE ENTRADA DE ITENS.......................................................................44
CHECK BOX...................................................................................................................................44
LIST ITEM......................................................................................................................................45
RADIO GROUPS.............................................................................................................................47
DISPLAY ITEM...............................................................................................................................49
IMAGEM ITEM..............................................................................................................................50
BOTÃO..........................................................................................................................................51
CRIANDO LISTA DE VALORES..........................................................................................................................52
CRIANDO EDITOR DE TEXTO...........................................................................................................................55
JANELAS E VISÕES...............................................................................................................................................56
WINDOW (JANELA).......................................................................................................................56
CANVAS (VISÕES)..........................................................................................................................57
TRIGGERS (GATILHOS).......................................................................................................................................58
FORMS..........................................................................................................................................60
BLOCK...........................................................................................................................................61
ITEM.............................................................................................................................................62
CRIAÇÃO DE MENUS............................................................................................................................................63
OPEN-FORM.................................................................................................................................64
CALL-FORM..................................................................................................................................64
NEW-FORM..................................................................................................................................64
EXECUTAR COMANDO DO SISTEMA OPERACIONAL................................................65
HOST............................................................................................................................................65
RUN_PRODUCT............................................................................................................................66
CHAMADAS A SUBROTINAS DEFINIDAS PELA ORACLE..........................................67
DO_KEY(‘ROTINA’)........................................................................................................................67
CHAMADAS A GATILHOS DEFINIDOS PELO USUÄRIO.............................................68
EXECUTE_TRIGGER.......................................................................................................................68
GERAR O MODULO EXECUTAVEL DO MENU, ATRAVÉS DA OPÇÃO....................69
COLOCAR FIGURA EM MENUS.........................................................................................................................70
RESUMO...................................................................................................................................................................71
ONDE OBTER MAIS INFORMAÇÕES...............................................................................................................72
..........Oracle Forms
Ferramenta utilizada para construir os programas que realizarão a interface entre o banco de dados e o usuário final.
Introdução
Com esta ferramenta o desenvolvedor pode criar:
Formulários
Menus
Bibliotecas de funções
Programação
Construindo formulários simples
Rodando um formulário
Modificando um formulário
Construindo um formulário mestre-detalhe
Adicionando novos tipos de campos
Adicionando janelas, visões, lista de valores e alertas
Usando PL/SQL nos formulários
Integrando com outras ferramentas
Construindo menus
Visão geral
Começaremos a abordagem pela construção de um formulário simples, passando pela adição de novos tipos de itens e terminando com a utilização da integração com outras ferramentas.
Conceitos básicos e componentes
Oracle Forms é o principal produto do pacote Oracle Developer. É a ferramenta utilizada para o desenvolvimento de:
Formulários
Menus
Bibliotecas
Os componentes do Oracle Forms são:
Form Builder
Componente responsável pela elaboração de: formulários de alteração, inclusão, exclusão de dados, menus das aplicações e bibliotecas de procedimentos escritos em PL*SQL. Gera arquivos com extensão: Formulários (FMB), Menus (MMB) e Bibliotecas (PLL).
Form Compiler
Gera arquivos executáveis pelo Run Time a partir dos fontes em Formulários (FMB) gerando arquivo com extensão (FMX), Menus (MMB) gerando em extensão (MMX) e Bibliotecas (PLL) com extensão de ((PLX).
Form Run Time
Utilizado para executar os arquivos gerados pelo Forms Compiler ou Forms Builder (opção de geração (Crtl+”T”)).
Criando um Formulário básico
Conceitos Básicos do Formulário
Ao criarmos um formulário, devemos ter em mente três coisas:
1. Quais as informações que serão manipuladas ?
2. Como estas informações serão representadas ?
3. De que forma será esta manipulação ?
Para informar quais as informações que serão manipuladas, devemos criar os blocos de dados, onde associamos a uma tabela ou visão um bloco de informações do formulário.
Depois que criamos um bloco de dados, devemos informar no Forms qual layout será utilizado para manipular estas informações.
O Forms trabalha com programação por evento, ou seja devemos especificar para cada ação acontecida na utilização do formulário como e o que acontecerá com a informação.
Utilizando o Assistente do Form Builder:
Vamos utilizar para a construção de nosso primeiro formulário o assistente de criação de formulários. A finalidade do uso desta ferramenta é nos dar uma rápida compreensão da forma como é elaborado um formulário.
Tela de boas vindas do Oracle Forms Builder
Escolha as opções conforme descrito abaixo:
1. Para montar um formulário com a ajuda do assistente.
2. Para montar um formulário sozinho
3. Para abrir um formulário já existente
4. Para montar um formulário baseado em um modelo
5. Para assistir a uma demonstração do uso da ferramenta
6. Para obter informações sobre tarefas especificas.
Tela de boas vindas do assistente de criação de bloco de dados.
Um Bloco de dados pode ser criado a partir de uma tabela, visão ou um conjunto de procedimentos armazenados. É o local onde serão armazenadas as informações contidas no formulário fornecidas pelo usuário durante a execução.
Escolha a opção de tabela quando for criar um bloco que servirá para manutenção de dados ou consulta.
Escolha a opção com visão quando for criar blocos para consulta.
Escolha a última opção quando necessitar criar um bloco mais complexo. Esta opção só deve ser utilizado por quem tiver bastante conhecimento da linguagem PL/SQL.
Nesta tela do assistente o usuário deve digitar o nome da tabela que ira gerar o bloco de dados, caso não lembre do nome, tecle no botão de pesquisa para solicitar ao programa que indique quais as tabelas que tem acesso.
Um ponto importante nesta tela, é a opção de "IMPOR INTEGRIDADE DE DADOS", ao utilizar esta opção o assistente automaticamente varre o banco de dados em busca das "CONSTRAINTS" da tabela e gera todas as regras em formato de triggers.
Nesta tela o assistente solicita ao desenvolvedor o que deve ser exibido (tabelas, visões e sinônimos) do usuário atual ou de outros.
Ao selecionar uma tabela, as colunas aparecem na coluna de disponíveis
Nesta tela escolha as colunas da tabela selecionada que irão compor o bloco de dados do formulário.
Para selecionar a coluna, clique no botão “ > ”, mas se preferir pode selecionar todas de uma vez, clicando no botão “ >> “.
Existe nesta tela uma “checkbox” que se selecionada ira impor no bloco de dados as regras de integridade de dados.
Selecione o nome da tabela que servira como base para o bloco de dados base do formulário.
Passos para a criação de um Formulário Básico
Quando executamos o forms Builder pela primeira vez, ele cria automaticamente um module1.
Clique duas vezes sobre o nó module1 para abrir a tela de propriedades.
Alterando as propriedades do modulo:Clique pôr sobre a propriedade que deseja modificar e digite o novo valor ou selecione um novo valor dentre a lista apresentada.
Alterando as propriedades de um formulario
CONECTANDO AO BANCO DE DADOS
Selecione a opção file -> connect do menu
Digite o nome do usuário
Digite a senha
Digite a string de conexão
Outra opção é teclar “ctrl n”.
Conexão com o banco de dados
TIPOS DE BLOCOS
TABELAS BASESão blocos associados a uma tabela do usuário
Bloco associado a uma tabela de usuário
CONTROLESão blocos onde estão armazenados os meus itens de controle, normalmente botões.
Bloco de controle
CRIANDO UM BLOCO TABELA BASE:Associar uma tabela a um bloco:
Definir as colunas da tabela que serão usadas em um bloco:
Definir o formato de um bloco:
Definir a relação entre um bloco mestre e o detalhe
No formulário básico não existe bloco mestre/detalhe
Criando um bloco tabela base
Criando um bloco tabela base pelo menu
Associando uma tabela a um bloco:Base table
Nome da tabela base do usuário
Block
Nome do bloco relacionado a tabela
Canvas
Nome da visão da janela onde será mostrada a tabela
Sequence id
Seqüencial de identificação do bloco
Select base table
Retorna uma lista de todas as tabelas, visões e sinônimos deste e de outros usuários.
Select canvas
Retorna uma lista de todos os nomes de visão de janela.
Associando uma tabela a um bloco base
DEFININDO AS COLUNAS DA TABELA QUE SERÃO USADAS EM UM BLOCO:
Botão ‘select columns’
Utilize este botão para selecionar os campos que serão utilizados no formulário
Label
Nome do rótulo do campo no formulário
Width
Largura do campo
Type
Tipo de campo
Include
Se estiver marcado o campo irá ser mostrado no formulário
Escolhendo as colunas que irao compor o formulario
DEFININDO O FORMATO DE UM BLOCO:STYLE
Tabular
Estilo que se assemelha a uma planilha, mais utilizado para multi registros.
Form
Estilo onde os campos são mostrados em duas colunas.
ORIENTATION
Vertical
Os campos são mostrados verticalmente.
Horizontal
Os campos são mostrados horizontalmente.
RECORDS
Número de registros da tabela que serão mostrados de cada vez.
SPACING
Espacejamento entre os campos
INTEGRITY CONSTRAINTS
Transfere para o formulário as regras contidas no banco de dados.
BUTTON PALETTE
Paleta de botões (<<,<,>,>>,query,save) com rotinas pré definidas
SCROLLBAR
Barra de rolagem
Definindo o formato de um bloco
CRIANDO UM FORM MESTRE DETALHE
É semelhante ao formulário básico, só que tem dois blocos de tabela base:
Mestre
É a tabela que agrega valores de conjunto
Detalhe
É a tabela que mostra os itens do conjunto.
Bloco Mestre x Detalhe
Criando o bloco mestre:Segue os mesmos passos para criação do bloco de tabela base para o formulário básico.
CRIANDO UM BLOCO DETALHE:Define os dados do bloco detalhe (tabela,itens,formato)
DEFININDO A RELAÇÃO ENTRE UM BLOCO MESTRE E O DETALHE
Master block
Nome do bloco mreste da relação
Botão select
Relaciona automaticamente todos os blocos que tem condição de ser mestre.
Join condition
Condição de relacionamento entre as duas tabelas
Chave primaria = chave estrangeira
DEFININDO A RELAÇÃO ENTRE UM BLOCO MESTRE E O DETALHE
EXECUTANDO UM FORMULÁRIO
EXECUTAR:Teclar no botão do semáforo
Será gerado um módulo com extensão .fmx
Será chamado o forms runtime para a execução do módulo gerado.
Modo:Inserção
Esta é a opção normal de inicialização
Pesquisa
O formulário é inicializado já executando uma pesquisa nos dados da tabela base.
MODIFICANDO UM FORMULÁRIO
Clicar duas vezes no canvas-view (visão da janela)
Para modificar os rotulos dos campos
Para modificar os rotulos dos botões
Para colocar icones nos botões
Para modificar as cores dos itens
Para alinhar itens rapidamente
Para colocar itens do mesmo tamanho rapidamente
PARA MODIFICAR OS ROTULOS DOS CAMPOSSelecione o rotulo a ser alterado
Clique no botão t e em seguida no rotulo
Digite o novo rotulo
Clique em outro lugar para confirmar a mudança
Mudança dos rotulos
PARA MODIFICAR OS ROTULOS DOS BOTÕESSelecione o botão a ser alterado
Clique duas vezes no botão para chamar a folha de propriedades
Digite o novo rotulo na propriedade label
Clique em outro lugar para confirmar a mudança
Mudando o label do botão
Para colocar icones nos botõesSelecione o botão a ser alterado
Clique duas vezes no botão para chamar a folha de propriedades
Na propriedade iconic, escolha true
Na propriedade icon name, digite o nome do arquivo de icone escolhido
PARA MODIFICAR AS CORES DOS ITENSSelecione o item a ser alterado
Na paleta de cores, selecione:
Borda
Escolha a cor da borda do item
Fundo
Escolha a cor do fundo do item
Letra
Escolha a cor da letra do item
Paleta de Cores do item
PARA ALINHAR RAPIDAMENTE VARIOS ITENSSelecione os itens a serem alinhados
No menu arrange, selecione aline objects:
Selecione a opção desejada para horizontal e vertical.
Tecle ok para confirmar
Alinhamento de varios objetos
PARA COLOCAR RAPIDAMENTE VARIOS ITENS COM O MESMO TAMANHO
Selecione os itens a serem modificados
No menu arrange, selecione size objects:
Selecione a opção desejada para largura , altura e tipo de medida.
Tecle ok para confirmar
Colocando varios objetos do mesmo tamanho
TIPOS DE CAMPOS
Text item
Campo utilizado para armazenar os dados para que o usuário possa interagir com eles, entrada e saída de informações na tabela.
Display item
Campo utilizado para mostrar os dados armazenados nas tabelas, o usuário não tem acesso a modificar as informações
List item
Campo utilizado quando temos uma lista predefinida de itens
Button
Normalmente utilizado para dispara rotinas predefinidas pelo usuário
Check box
Utilizado quando temos somente os valores ‘s’ ou ‘n’, ou marcado / desmarcado.
Radio group
Utilizado quando queremos mostrar as varias opções para uma informação na tela.
Image item
Utilizado para visualizar imagens de diferentes formatos.
CRIANDO CAMPOS ADICIONAIS DE ENTRADA DE ITENS
CHECK BOXClique duas vezes no item que será modificado para chamar a folha de propriedades
Altere a propriedade item type para check box
Altere a propriedade default value para o valor comum
Altere a propriedade label para o nome do item
Altere a propriedade checked value para o valor que será gravado no banco caso o campo seja marcado
Altere a propriedade unchecked value para o valor que será gravado no banco caso o campo seja desmarcado
Check
Box
LIST ITEMClique duas vezes no item que será modificado para chamar a folha de propriedades
Altere a propriedade item type para list item
Altere a propriedade default value para o valor comum
Altere a propriedade label para o nome do item
Altere a propriedade list elements clicando no botão more
List elements
Relacione neste local os elementos que serão mostrados na tela
List item value
Relacione neste local os valores dos elementos que serão gravados no banco
Altere a propriedade list style para um dos estilos de apresentação da lista de itens
Poplist
Relaciona todos os valores, colocando por cima do valor atual
Tlist
Relaciona todos os valores de uma vez
Combo box
Relaciona todos os valores, sem colocar por cima do valor atual
Lista de itens
RADIO GROUPSClique duas vezes no item que será modificado para chamar a folha de propriedades
Altere a propriedade item type para radio group
Altere a propriedade default value para o valor comum
Clique no nó do campo radio group para expandir os objetos
Crie um radio button, clicando uma vez no nó e depois no sinal de + da paleta de utilitários
Altere a propriedade name para o nome do item
Altere a propriedade label para o nome do item que aparecera na tela
Altere a propriedade value para colocar o valor do campo que sera gravado no banco
Repita a operação de criação de radio buttons para todos os valores possiveis
Radio Group
Campo do tipo Radio Group
DISPLAY ITEMClicar duas vezes no canvas-view (visão da janela) para criar os campos display item
Dentro do canvas-view, clicar no botão de display item e depois no local onde será mostrada a informação
Clicar duas vezes no campo criado, para chamar a folha de propriedades
Alterar a propriedade name para colocar o nome da informação que será visualizada, tal como desc_fornecedor.
Alterar a propriedade base table para false
Campo de Display
Campo Display Item
IMAGEM ITEMClicar duas vezes no canvas-view (visão da janela) para criar os campos image item
Dentro do canvas-view, clicar no botão de image item e depois no local onde será mostrada a informação
Clicar duas vezes no campo criado, para chamar a folha de propriedades
Alterar a propriedade name para colocar o nome da informação que será visualizada, tal como foto_fornecedor.
Alterar a propriedade base table para false
Campo imagem
BOTÃO Clicar duas vezes no canvas-view (visão da janela) para criar os campos buttons
Dentro do canvas-view, clicar no botão de buttons e depois no local escolhido para o botão.
Clicar duas vezes no campo criado, para chamar a folha de propriedades
Alterar a propriedade name para colocar o nome da informação que será visualizada, tal como botao_fornecedor.
Alterar a propriedade label para o nome que sairá dentro do botão, como rótulo.
Trigger do botão
CRIANDO LISTA DE VALORES
Devemos utilizar este recurso quando temos em um formulário um campo que é chave estrangeira. Ou seja, existe por meio deste campo ligação com outra tabela.
Para criar este tipo de objeto, devemos clicar no nó do lovs e depois no botão + da paleta de utilitários do object navigator
Lista de valores
Existing record group
Marque esta opção e digite o nome do grupo de registros que contém o select dos campos
V2-style table,column values
Para executar em conjunto com um trigger (gatilho) definido pelo usuário
New record group based on the query below
Marque esta opção se for uma nova pesquisa
Query text
Digite o comando select correspondente ao grupo que deverá ser mostrado.
Alterar a propriedade name para colocar o nome do lovs que foi criado
Alterar a propriedade column mapping teclando no botão more
Column names
Nome da coluna da tabela que será mostrada na tela
Return item
Campo do formulário para onde retornara o valor da tabela selecionado
Display width
Tamanho do campo
Column title
Titulo da coluna da tabela que saira na tela
Clicar duas vezes no campo que utilizará o lovs
Alterar a propriedade lov para colocar o nome da lista de valores que foi criada
Criando lista de valores
Determinando as colunas
CRIANDO EDITOR DE TEXTO
Devemos utilizar este recurso quando temos em um formulário um campo que é do tipo long ou for mostrado como multilinhas.
Para criar este tipo de objeto, devemos clicar no nó do editor e depois no botão + da paleta de utilitários do object navigator
Alterar a propriedade name para colocar o nome do editor
Alterar a propriedade title para o nome que sairá como rótulo no editor
Clicar duas vezes no campo que utilizará o editor
Alterar a propriedade editor para colocar o nome do editor que foi criado
Criar um trigger when-mouse-doubleclick
Colocar o seguinte texto na propriedade trigger text, “edit_textitem;”
JANELAS E VISÕES
WINDOW (JANELA)Para criar este tipo de objeto, devemos clicar no nó do window e depois no botão + da paleta de utilitários do object navigator
CANVAS (VISÕES)Para criar este tipo de objeto, devemos clicar no nó do canvas e depois no botão + da paleta de utilitários do object navigator e selecionar o tipo de canvas desejado:
Conteudo
Empilhado
Guia
Barra de Ferramentas Horizontal
Barra de Ferramentas Vertical
TRIGGERS (GATILHOS)
Existem dois tipo de triggers (gatilhos)
BUILT-IN
Triggers definidos pela oracle dentro do form para eventos pre-definidos.
User-named
Triggers definidos pelo usuario dentro do form que são executados a partir de uma rotina especifica, execute-trigger, definida pela oracle.
Tipos de triggers
Existem três níveis de gatilhos que definem o seu escopo.
Forms
PARA EVENTOS OCORRIDOS A NÍVEL DE FORM
Block
PARA EVENTOS QUE OCORREM NO BLOCO
Item
PARA EVENTOS QUE OCORREM NO ITEM
É muito importante na confecção do trigger saber exatamente o evento que irá ser contemplado.
Post
Pre
When
Key
On
Exemplos de triggers por:
FORMS
When-new-form-instance
Set_window_property(forms_mdi_window,window_state,maximize);
Set_window_property(‘window0’,window_state,maximize);
BLOCKPost-query
Select c.name, e.last_name into :order.customer_name, :order.sales_rep_name from s_customer c, s_emp e where e.id = c.sales_rep_id and :order.customer_id = c.id;
ITEM
When-validate-item
Select c.name, c.sales_rep_id, e.last_name Into :order.customer_name,:order.sales_rep_id,:order.sales_rep_name
From s_customer c, s_emp e
Where e.id = c.sales_rep_id and :order.customer_id = c.id;
CRIAÇÃO DE MENUS
Para a criação de um menu devemos utilizar o nó menu e teclar no + da paleta de utilitários.
Altera a propriedade name para o nome do arquivo físico do tipo .mmb que será gravado.
Chamar o tools->menu editor para editar o menu.
Apos a criação das opções do menu, devemos alterar a propriedade command type para colocar pl/sql.
Alterar a propriedade command text para colocar o comando de execução correspondente:
Chamada formulário
Executar comando do sistema operacional
Chamada a outros programas oracle
Chamadas a subrotinas definidas pela oracle
Chamadas a gatilhos definidos pelo usuärio.
Editor de menu
CHAMADA FORMULÁRIO
Open-formOpen_form(‘stocks’,activate,no_session);
Call-formCall_form(‘stocks’,hide,no_replace);
New-formNew_form( formname, to_savepoint, no_query_only);
EXECUTAR COMANDO DO SISTEMA OPERACIONAL
HostHost(dir,no_screen);
Run_productRun_product(reports, ‘empreport’, synchronous, runtime, fileystem, null, null);
CHAMADAS A SUBROTINAS DEFINIDAS PELA ORACLE
Do_key(‘rotina’)
Do_key(‘exit_form’) -- Para sair do form.
CHAMADAS A GATILHOS DEFINIDOS PELO USUÄRIO.
EXECUTE_TRIGGERExecute_trigger(‘launch_advanced_help’);
GERAR O MODULO EXECUTAVEL DO MENU, ATRAVÉS DA OPÇÃO:
file->administration->generate ou simplesmente ctrl t.
Criar um formulário para associar o menu criado e gerar uma só opção para o usuário.
Alterar a propriedade menu module para colocar o nome do arquivo do menu gerado, com extensão .mmx.
Alterar a propriedade starting menu para colocar o nome do menu inicial, normalmente é main_menu.
COLOCAR FIGURA EM MENUS
Criar um canvas para colocar uma figura para emoldurar o menu do sistema
Abrir o canvas e importar uma imagem através do:
edit->import->image
File
Nome do arquivo que contem a imagem
Format
Formato da imagem (bmp,jpeg,pcx,pict,gif,etc)
Quality
Qualidade da imagem (good,excellent,very good,poor,fair)
Gerar o modulo executavel do form, através da opção:
file->administration->generate ou simplesmente ctrl t
.
ONDE OBTER MAIS INFORMAÇÕES
Bibliografia
Guia de referencia Oracle Forms
Apostilas Oracle Forms
Consultoria
Linguagem Consultoria e Treinamento
Rua Álvaro Correia, 595/304 – Fortaleza – Ceará – Brasil
(85) 9974-1753