blumenau 15 de dezembro de 1996. - glufke.netglufke.net/oracle/download/forms6i.doc · web...
Post on 26-Jun-2018
218 Views
Preview:
TRANSCRIPT
Forms 6i
Forms 6i
1
Forms 6i
ÍNDICE
1 INTRODUÇÃO.................................................................................................................................... 4
2 PRIMEIROS PASSOS PARA UTILIZAÇÃO DO FORMS BUILDER....................................................52.1 ENTRADA........................................................................................................................................ 52.2 CONEXÃO COM A BASE DE DADOS ORACLE.........................................................................................62.3 CRIANDO UMA NOVA APLICAÇÃO........................................................................................................72.4 CONFIGURAÇÃO DO AMBIENTE DO BUILDER........................................................................................8
3 INTERFACE DO BUILDER................................................................................................................113.1 JANELA DO ORACLE FORMS BUILDER..............................................................................................11
Barra de ferramentas..................................................................................................................... 123.2 JANELA DE SHOW KEYS................................................................................................................. 133.3 LINHA DE STATUS.......................................................................................................................... 133.4 MENU FILE.................................................................................................................................... 143.5 MENU EDIT................................................................................................................................... 163.6 MENU PROGRAM........................................................................................................................... 17
4 DESENVOLVIMENTO DE FORMS....................................................................................................184.1 OBJETOS COMPONENTES DE UM FORM............................................................................................18
Alerta (Alert)................................................................................................................................... 18Bloco (Data Block)......................................................................................................................... 18Canvas.......................................................................................................................................... 18Editor............................................................................................................................................. 18Item............................................................................................................................................... 18Lista de Valores (LOV)................................................................................................................... 19Parâmetro...................................................................................................................................... 19Record Group................................................................................................................................ 19Relation......................................................................................................................................... 20Visual Attributes............................................................................................................................. 20Windows........................................................................................................................................ 20Program Units e Triggers...............................................................................................................20Bibliotecas (Attached Library).........................................................................................................20
4.2 CRIANDO UM NOVO FORM...............................................................................................................214.3 PROPRIEDADES DO MÓDULO...........................................................................................................224.4 CONFIGURANDO O CANVAS.............................................................................................................244.5 CANVAS DO TIPO GUIA (TAB CANVAS).............................................................................................264.6 TAB PAGE..................................................................................................................................... 274.7 CRIANDO BLOCOS PARA ACESSO À BASE DE DADOS...........................................................................284.8 PROPRIEDADES DE UM BLOCO.........................................................................................................374.9 CRIANDO RELACIONAMENTOS ENTRE BLOCOS..................................................................................394.10 MANIPULANDO ITENS.................................................................................................................... 42
Text Item........................................................................................................................................ 42Radio Group................................................................................................................................... 47Check Box..................................................................................................................................... 49Propriedades.................................................................................................................................. 50Botões........................................................................................................................................... 51List Item......................................................................................................................................... 53Lista de Valores (LOV)................................................................................................................... 57Editores......................................................................................................................................... 61Parâmetros.................................................................................................................................... 62
4.11 MODIFICANDO A APARÊNCIA DE UM FORM......................................................................................63Ferramentas.................................................................................................................................. 63
2
Forms 6i
Manipulando objetos no Layout Editor............................................................................................65Dimensionando Objetos................................................................................................................. 67
4.12 CRIANDO ATRIBUTOS VISUAIS NOMEADOS.......................................................................................68
5 DESENVOLVIMENTO DE TRIGGERS..............................................................................................705.1 CRIANDO UM TRIGGER................................................................................................................... 705.2 EVENTOS QUE DISPARAM TRIGGERS................................................................................................735.3 POPULANDO DADOS ATRAVÉS DE TRIGGERS.....................................................................................745.4 ALTERANDO A FUNCIONALIDADE DO FORM ATRAVÉS DE TRIGGERS......................................................755.5 TRIGGERS DISPARADOS POR BOTÕES...............................................................................................76
6 COMPARTILHANDO CÓDIGO..........................................................................................................776.1 CRIANDO FUNCTIONS E PROCEDURES.............................................................................................776.2 LIBRARY........................................................................................................................................ 796.3 LIGANDO UMA LIBRARY A UM MÓDULO (ATTACH)................................................................................806.4 CHAMANDO UMA PROCEDURE OU FUNCTION LIGADA AO MÓDULO........................................................80
7 DESENVOLVIMENTO DE MENUS....................................................................................................807.1 CRIANDO UM MENU........................................................................................................................ 807.2 CRIANDO O MENU PRINCIPAL...........................................................................................................827.3 CRIANDO OPÇÕES PARA O MENU.....................................................................................................82
3
Forms 6i
1 Introdução
O Oracle Forms é uma ferramenta de desenvolvimento de aplicações, que permite a criação de telas e menus.
É formada por 3 componentes :
Designer : Utilizado para a criação de aplicações, compilação e execução, sendo executado em ambiente gráfico de edição.
Runtime : Ferramenta utilizada pelos usuários para a execução das aplicações já desenvolvidas.
Generate : Utilizado para compilar uma aplicação e gerar o arquivo executável pelo runtime.
4
Forms 6i
2 Primeiros passos para utilização do Forms Builder
2.1 Entrada
5
Forms 6i
2.2 Conexão com a base de dados Oracle
A conexão ao banco de dados habilita algumas funções no Designer, como compilação de objetos e geração de executáveis.
A conexão pode ser feita através do menu File Connect, ou, quando necessária interação com a base de dados, o Designer pede a conexão. Nos dois casos abre-se a janela de conexão mostrada abaixo.
6
Forms 6i
2.3 Criando uma nova aplicação
Através do menu File New, tem-se acesso a criação de um novo módulo, que pode ser de um dos três tipos abaixo:
Form Conjunto de objetos e rotinas que apresenta-se como ferramenta on-line para entrada e recuperação de dados. Menu Um menu principal que contém diversos submenus, que compõe o menu da aplicação. PL/SQL Library Conjunto de funções e procedimentos que podem ser utilizados por diversos módulos.
Os 3 tipos de módulos são armazenados em formato binário (na base de dados ou no sistema de arquivos). O arquivo executável é criado com base em informações da plataforma em que o Oracle Forms está executando, não sendo portanto portável para outras plataformas.
Para portar uma aplicação entre plataformas, deve ser gerado o arquivo texto e então o módulo é portado.
Para portar uma aplicação para outra plataforma, utiliza-se o Generate. As seguintes extensões são utilizadas pelo Oracle Forms para identificar os tipos de módulo :
Módulo Binário Texto ExecutávelForm .FMB .FMT .FMXMenu .MMB .MMT .MMXLibrary .PLL .INP .LIB
7
Forms 6i
2.4 Configuração do ambiente do Builder
Através da opção “Preferences” do menu “Tools” do Forms Designer, é possível acessar as opções da sua configuração interna. Estas opções são descritas abaixo :
Save Before Generate Salva o módulo (binário) antes de gerar o executável.
Build Before Runnig Gerar o módulo (executável) antes de rodá-lo.
Supress Hints Não mostra o conteúdo da linha de mensagens.
Use System Editor Determina qual editor o Oracle Forms usará quando você chamar um editor de campo multi-line em uma propriedade. Opções:1) On : Mostra o editor definido para o seu sistema.
2) Off : Mostra o editor default do Oracle Forms.
8
Forms 6i
Module Access Determina o local de armazenamento utilizado para ler e salvar os módulos. Opções:
File Módulos armazenados em disco.
Database Módulos armazenados na base de dados.
Ask Quando houver operação de leitura ou salvamento de módulo, o Oracle Forms irá solicitar que se informe o local de armazenamento.
9
Forms 6i
Debug Messages Habilita que durante a execução sejam mostradas as mensagens de debug (nome das triggers no momento em que são disparadas).
Array Processing Opções:
1) Off: Quando é feita uma consulta no banco de dados, o retorno é feito do servidor para o cliente linha a linha.
2) On: O retorno é feito conforme informado na propriedade fetch de cada bloco.
Query Only Mode Determina que o form é apenas de consulta.
Quiet Mode Desabilita o beep quando uma mensagem é mostrada em tempo de execução.
10
Forms 6i
3 Interface do Builder
3.1 Janela do Oracle Forms Builder
A tela básica para trabalho no Designer é mostrada abaixo, composta da janela do Designer e a janela do Object Navigator.
11
linha de mensagem
barra de menus
barra de ferramentas
linha de status
módulo ativo
Forms 6i
Barra de ferramentas
Como pode ser observado, todas as opções são realizadas sobre o módulo ativo.
12
Abrir um módulo já existente
Salvar o módulo ativo
Executar tela Client/Server
Criar objeto Excluir objeto
Expandir ramificação Reduzir ramificação
Reduzir todas ramificações Expandir todas ramificações
Ativa o modo de debug
RecortarCopiar Colar
Criar novo módulo
Executar tela Web
Forms 6i
3.2 Janela de Show Keys
Durante a execução de uma tela, é possível visualizar todas as funções acessáveis em um dado momento e a combinação de teclas para invocar a função.
Esta janela é chamada de Show Keys, sendo acessada através da combinação [Show Keys], que no Windows corresponde às teclas Ctrl-F1 pressionadas simultaneamente.
3.3 Linha de Status
Mostra as seguintes informações:
Mod: Nome do módulo ativo.
File: Nome do arquivo do módulo ativo.
13
Forms 6i
3.4 Menu File
New Criar novo módulo.
Open Abrir um módulo já existente.
Close Fechar módulo ativo.
Save Salvar o módulo ativo.
Save As Salvar o módulo ativo com outro nome.Revert Retorna a situação do módulo para a sua última gravação.
Connect Conectar à base de dados.
Disconnect Desconectar da base de dados.
14
Forms 6i
Administration Opções:
1) Compile File Gerar o arquivo executável.
2) Convert Conversão de arquivo binário para texto e vice-versa.
Exit Fechar o Builder
15
Forms 6i
3.5 Menu Edit
Undo Desfaz a última operação.
Cut Excluir seleção atual e armazenar na área de transferência.
Copy Armazenar seleção atual na área de transferência.
Paste Copiar o conteúdo da área de transferência para a posição do cursor.
Clear: Excluir seleção atual.
16
Forms 6i
3.6 Menu Program
Sintax Palette Abre uma janela em que pode ser verificada a sintaxe PL/SQL e também as rotinas built-in do Builder.
Find and Replace PL/SQL Procura/substituição de um texto no código PL/SQL da tela.
PL/SQL Editor Editor PL/SQL para digitação/compilação do código fonte.
17
Forms 6i
4 Desenvolvimento de Forms
4.1 Objetos Componentes de um form
Alerta (Alert)
São caixas de diálogo compostas de mensagem para o usuário e botões de opções.
Bloco (Data Block)
Corresponde à tabela do banco de dados. É composto de itens que correspondem às informações da base de dados e outras informações a critério do desenvolvedor.
Os blocos podem ser criados de duas maneiras:
- Selecionar a ramificação Blocks no Object Navigator e clicar sobre o botão Criar objeto da barra de ferramentas,
- Através do menu Tools | Data Block Wizard
Canvas
É o conjunto de blocos. Um bloco pode estar somente em um Canvas.Cada canvas corresponde a uma tela visualizada ou parte de uma tela.
Editor
É um editor de texto mostrado como uma janela, utilizado para digitação de textos extensos em campos de tela pequenos.
Item
É um objeto que armazena um valor. Um bloco pode conter vários itens. Um item está sempre associado a somente um bloco.Podem estar associados também a um atributo em uma tabela da base de dados.Um item podem ser de um dos vários tipos: text item, radio group, check box, botão, lista.
18
Forms 6i
Lista de Valores (LOV)
É uma lista que pode servir para auxiliar o preenchimento de um item, quando não se sabe qual o valor que vai ser associado a ele. É possível buscar valores de tabelas da base de dados.Exemplo:Lista de valores para o campo ‘Código do cliente’:
Parâmetro
É uma variável acessível em todo o módulo, e que pode ser atribuído valor no momento da execução do módulo.
Record Group
Funciona como tabelas que armazenam os resultados de uma consulta ao banco de dados ou valores fixos. Podem ser utilizados para a criação de listas de valores.
19
Forms 6i
Relation
Funcionam com os blocos da mesma maneira como funciona o relacionamento entre tabelas.
Tomando como exemplo, um form composto de 2 blocos:- o bloco PEDIDO representa a tabela de pedidos que está na base de dados, - o bloco ITEM_PEDIDO representa a tabela de pedidos que está na base de dados.
O relacionamento entre a tabela de pedidos e a tabela de itens para pedidos é de 1 para n. Sendo assim existe uma foreign key partindo da tabela de itens para a tabela de pedidos.
Para criar a sincronia e a integridade entre os dois blocos, tendo em vista que os itens mostrados passem a ser os correspondentes aos do novo pedido, deve ser criada uma relation entre os dois blocos.Caso não seja criada a relation, a funcionalidade dos blocos será independente.
Visual Attributes
São conjuntos de características visuais (tipo de fonte, cor de frente, cor de fundo, entre outras) que podem ser associados a diversos objetos, criando assim um padrão visual de estilos.
Windows
É uma janela de visualização que pode conter vários canvas. Seu formato é gerenciado pelo MS-Windows.
Program Units e Triggers
Program Unit é o código PL/SQL organizado em um procedimento ou função.
Trigger é o código PL/SQL associado a um evento. Este evento poderá ser um início de execução, a entrada de um campo, o pressionamento de um botão, entre outros.
Bibliotecas (Attached Library)
São módulos do tipo PL/SQL library, que tem suas rotinas utilizadas pelo módulo ativo.
20
Forms 6i
Quando um módulo utiliza uma rotina de uma biblioteca, esta necessita ser anexada (“attachada”) ao módulo.
4.2 Criando um novo Form
No menu File New, escolha a opção Form. Desse modo aparece uma janela para a criação da tela. Pode ser observado que a linha de status mostra o nome do módulo e o arquivo associado ao módulo criado.
21
Forms 6i
4.3 Propriedades do módulo
Name Nome do módulo (usado também para o arquivo do módulo).
Title Título da janela do form quando estiver em execução.
Console Window Nome da window principal do form.
Menu Module Nome do módulo de menu usado como menu para o form.
22
Forms 6i
Mouse Navigation Limit Determina o local em que o mouse pode navegar. Opções:
Form É o default. A navegação está habilitada em todo o form.
Data Block A navegação está habilitada somente dentro do bloco corrente.
Record A navegação pode ser feita somente dentro do registro corrente.
Item A navegação só pode ser feita dentro do item corrente.
First Navigation Data Block Nome do bloco onde o cursor será posicionado no momento da execução ou quando for limpo.
Por default, o Oracle Forms utiliza o bloco que aparece em primeiro lugar na ramificação Data Blocks.
Validation Unit Especifica o momento da validação das informações inseridas pelo usuário da aplicação. Opções:
Default Assume a validação default da plataforma (item).
Form A validação é feita somente na saída do form.
Data Block A validação é feita na saída do bloco.
Record A validação é feita da saída do registro.
Item A validação é feita na saída do item.
Coordinate System Sistema de medidas utilizada no forms. Pode ser Caracter,
Ponto, Polegada ou Centímetro.
Form Horizontal Toolbar Canvas Canvas do tipo Toolbar que comanda a barra de ferramentas horizontal do form
Form Vertital Toolbar Canvas Canvas do tipo Toolbar que comanda a barra de ferramentas vertical do form
23
Forms 6i
4.4 Configurando o canvas
Name Nome do canvas.
Canvas-View Type Opções:
Content É o default. O canvas é mostrado inteiro dentro da window a que pertence.
Stacked Usado quando existem vários canvas para uma mesma window.
O canvas stacked é mostrado em segundo plano, sendo posto em primeiro plano quando houver navegação para um item dentro do canvas.
Vertical Toolbar O canvas é do tipo barra de ferramentas vertical.
24
Forms 6i
Horizontal Toolbar O canvas é do tipo barra de ferramentas horizontal.
Tab O canvas é do tipo Guia.
Visible Informa se o canvas é mostrado na tela.
Window Nome da window a que o canvas pertence
Width Largura do canvas expresso em unidades definidas na propriedade Coordinate Information do módulo
Heigh Altura do canvas
Bevel Determina o modo de apresentação do canvasOpções:
Lowered Baixo relevo
Raised Alto relevo
None Normal
Visual Atribute Group Nome do atributo visual a ser usado no canvas
Foreground Color Cor de frente
Background Color Cor de fundo
25
Forms 6i
4.5 Canvas do tipo Guia (Tab Canvas)
São canvas que simulam uma pasta, com várias guias.
Na figura abaixo é mostrado um canvas do tipo guia que poderia ser usado para o cadastramento de funcionários, com as guias Dados Pessoais, Formação escolar e Qualificações.
26
Forms 6i
Propriedades
Além das disponíveis para os demais tipos de canvas, existe a propriedade Tab Attachment Edge, que indica a localização das guias de seleção.
Top Indica que as guias ficam na parte superior do canvas
Bottom Indica que as guias ficam na parte inferior do canvas
Left Indica que as guias ficam à esquerda do canvas
Rigth Indica que as guias ficam à direita do canvas
4.6 Tab Page
É a página associada à determinada guia.
Por exemplo, na figura abaixo são mostradas as propriedades da tab page DADOS_PESSOAIS, que está associada à guia Dados Pessoais
27
Forms 6i
Propriedades
Caso seja desejável saber em que tab pages o usuário se encontra, basta usar a função get_canvas_property( nome_do_canvas, TOPMOST_TAB_PAGE).
No exemplo mostrado acima, para saber de o usuário está na página de dados pessoais, usa-se o comando :
if get_canvas_property(‘CADAST_FUNC’,TOPMOST_TAB_PAGE) = ‘DADOS_PESSOAIS’
.
.
.
4.7 Criando blocos para acesso à base de dados
28
Forms 6i
Após configurados windows e canvas, o próximo passo para a criação de uma aplicação é a criação dos blocos. Será usado como exemplo, um módulo para a entrada e consulta de pedidos conforme citado no tópico Componentes de um form - Relation.
Primeiramente é criado um bloco para a tabela PEDIDO, como mostrado na figura abaixo, escolhendo inicialmente a opção Use the Data Block Wizard e para tipo de bloco, selecionando a opção ‘Table or View’.
Botão Browse Serve para buscar lista de tabelas/views existentes.
Available Columns Colunas da tabela/views disponíveis para incluir no bloco.
Database items Colunas da tabela/view já selecionadas para serem incluídas no bloco.
Selecionar a opção ‘Create data block and then call Layout Wizard’ e em seguida selecione o canvas ao qual o bloco irá pertencer.
Nessa janela também pode ser criado um novo canvas, como mostrado na figura abaixo.
29
Forms 6i
30
Forms 6i
Em seguida deve-se informar quais colunas serão mostradas na tela, conforme mostrado na figura abaixo.
31
Forms 6i
Após, é solicitado o Prompt, que é o label que será mostrado ao lado do campo de tela.
32
Forms 6i
Em seguida é definido o estilo de apresentação do bloco:
Form Mostra um registro por tela, com o label à esquerda do campo
Tabular Mostra no formato planilha, com vários registros por tela e o label posicionado acima do campo.
33
Forms 6i
Por fim, deve ser informado o título no bloco no campo Frame Title.
Records Displayed Quantidade de registros mostrados na tela
Display Scrollbar Disponibiliza barra de rolagem para o bloco
Após criar o bloco para a tabela PEDIDO, deve-se criar o bloco para a tabela ITEM_PEDIDO.
34
Forms 6i
Os passos são os mesmos que na criação do bloco pedido.
Como existe uma foreign key na tabela ITEM_PEDIDO apontando para a tabela PEDIDO, o Forms Builder abre a possibilidade de sincronização entre os blocos, ou seja, a possibilidade de criação de uma relation entre os dois blocos.
Ao ser pressionado o botão Create Relationship, uma janela com todas as foreign keys serão abertas, a fim de selecionar o join que deseja implementar a sincronização.
35
Forms 6i
Após ser selecionada a foreign key é mostrado de que forma será implementada a relation
Este bloco deve ser do tipo Tabular, com 10 linhas e deve possuir barra de rolagem.
36
Forms 6i
4.8 Propriedades de um bloco
Number of Records Buffered Quantidade máxima de registros armazenados na memória
Number of Records Displayed Quantidade de registros mostrados no bloco
Database Data Block Informa se as operações efetuadas no bloco serão refletidas em tabela da base de dados
Query Allowed Informa se são permitidas operações de consulta (query)
Query Data Source Name Nome da tabela, caso Database Data Block tenha o valor Yes
37
Forms 6i
WHERE Clause Cláusula a ser utilizada quando for feita uma consulta (query). Vai criar um comando do tipo : SELECT <colunas usadas>
from <Base Table>where <WHERE
Clause > order by <ORDER BY
Clause>
Insert Allowed Informa se são permitidas operações de inclusão (insert)
Update Allowed Informa se são permitidas operações de alteração (update)
Delete Allowed Informa se são permitidas operações de exclusão (delete)
Show Scroll Bar Determina a criação de uma barra de rolagem para navegação entre os registros do bloco
Scroll Bar Canvas Nome do canvas onde será posicionada a barra de rolagemNormalmente é o mesmo canvas em que os itens do bloco estão posicionados
Scroll Bar Tab Page Nome da tab page onde será posicionada a barra de rolagemNormalmente é a mesma tab page em que os itens do bloco estão posicionados
Scroll Bar Orientation Determina a direção da barra de rolagem : vertical ou horizontal
38
Forms 6i
4.9 Criando Relacionamentos entre Blocos
Uma relação pode ser criada selecionando-se a ramificação Relations do bloco PEDIDO na janela Object Navigator, e clicando no ícone da barra de ferramentas Criar item. Feito esse procedimento a seguinte janela será mostrada:
Detail Block Nome do bloco que será o detalhe do relacionamento (o lado n do relacionamento 1 para n).
Master Delete Determina o modo como será tratada a deleção de um registro no bloco master.Opções:
Cascading Permite deletar o registro mestre, deletando automaticamente os registros detalhe associados.
Non-Isolated É o default. Não permite deletar o registro mestre se houverem registros detalhe associados.
Isolated Permite deletar o registro mestre, sem afetar os registros detalhe.
39
Forms 6i
Coordination Determina o modo de população do bloco detalhe quando, no bloco mestre é feita uma navegação para outro registro. Opções:
Deferred FALSE Os registros detalhe são imediatamente mostrados.
Deferred TRUE e Auto-Query TRUE Os registros detalhe são mostrados somente
quando é feita a navegação para o bloco detalhe.
Deferred TRUE e Auto-Query FALSE Os registros detalhe são mostrados após a
navegação ter sido feita para o bloco detalhe, e o usuário da aplicação explicitamente executar uma query.
Prevent Masterless Operation Com essa opção desligada, determina que podem ser realizadas operações no bloco detalhe quando não houver registro mestre.
Join Condition A condição para join dos blocos, ou seja, as colunas componentes da foreign key entre as tabelas.
Após a criação da relation, o Oracle Forms cria automaticamente as triggers:
On-Clear-Details, On-Check-Delete-Master e On-Populate-Details,
40
Forms 6i
assim como as procedures :
Check_Package_Failure,Clear_All_Master_Details e Query_Master_Details, como mostra a figura abaixo.
41
Forms 6i
4.10 Manipulando Itens
Text Item
Um campo de tela comum, que serve para entrada ou consulta de dados.
Propriedades:
Enabled Determina que o usuário pode usar o mouse para manipular o item
Justification Tipo de alinhamento (à esquerda ou à direita)
Multi-Line Habilita o item a receber várias linhas de texto, isto é, quando for pressionado <Enter>, não haverá navegação para o próximo item. O que ocorre é a abertura de uma nova linha para digitacão.
42
Forms 6i
Wrap Style Determina como uma linha em um item multi-line será mostrada quando for maior que a largura do item.
None O conteúdo excedente não é mostrado
Character O conteúdo excedente é mostrado na linha seguinte
Word O conteúdo excedente é mostrado na linha seguinte, mas não permitite que uma palavra seja “quebrada”, levando a palavra inteira para a próxima linha
Case Restriction Determina o modo como o conteúdo do item é mostrado. Opções:
Mixed O texto aparece como foi digitado
Upper O texto aparece todo em maiúsculas
Lower O texto aparece todo em minúsculas
Conceal Data Não mostra caracteres digitados no item. Usado para campos de senha.
Automatic Skip Determina que o cursor vai automaticamente para o próximo item quando o item for completamente
preenchido
Keyboard Navigable Determina que o item está habilitado para navegação
Datatype Tipo de dado do item (numérico,char,data, etc)
Maximum Length Tamanho máximo do valor armazenado
Fixed Length Determina que o item deve ser totalmente preenchido, ou seja, deve ter sempre o número de caracteres informado em Maximum Length
Initial Value Valor default do item. O item é preenchido automaticamente com o valor quando é criado um
novo registro
Required Determina que a digitação do item é obrigatória.
43
Forms 6i
Format Mask Máscara para visualização
Lowest Allowed Value Valor mínimo aceito
Highest Allowed Value Valor máximo aceito
Copy Value from Item O item é preenchido automaticamente com o valor do item indicado nessa propriedade quando é criado um novo registro
Calculation Mode Utilizado para soma calculada a partir de operações de grupo sobre outros itens
Summary Function Operação de grupo utilizada
Summarized Block Bloco onde está localizado o item informado em Summarized Item
Summarized Item Item sobre o qual a operação de grupo será calculada
Database Item Associa o item à coluna Column Name e na tabela associada ao bloco
Query Allowed Informa se são permitidas operações de consulta (query)
Case Insensitive Query Determina que quando for feita uma query pelo item, não será feita distinção entre maiúsculas e minúsculas.
Insert Allowed Informa se são permitidas operações de inclusão (insert)
Update Allowed Informa se são permitidas operações de alteração (update)
Update Only if Null Determina que o valor do item só pode ser alterado caso o seu valor seja NULL.
List of Values Nome da lista de valores para auxiliar o preenchimento
List X Position Posição da lista em relação à margem esquerda
List Y Position Posição da lista em relação ao topo da tela
44
Forms 6i
Validate from List Determina que quando o campo é validado, seja utilizada a lista de valores para consistir o valor
Editor Nome do editor usado para digitação do item
Visible Determina se o item é mostrado na tela
Canvas Nome do canvas em que o item está localizado
Tab Page Nome da tab page em que o item está localizado
X Position Posição do item em relação à margem esquerda
Y Position Posição do item em relação ao topo da tela
Width Largura do item
Height Altura do item
Bevel Determina o modo de apresentação do canvas.Opções:
Lowered Baixo relevo
Raised Alto relevo
None Normal
Show Vertical Scroll Bar Para itens multi-line, determina que será criada uma barra de rolagem.
Visual Atribute Group Nome do atributo visual a ser usado no canvas
Foreground Color Cor de frente
Background Color Cor de fundo
Prompt Label do item
Hint Descrição do item mostrada na linha de mensagens.
Display Hint Automatically Se contiver o valor FALSE, a descrição do item não aparece na linha de mensagens, sendo acessada somente pela tecla [Help]
45
Forms 6i
Tooltip Texto para ser mostrado como dica quando o mouse for posicionado sobre o item
46
Forms 6i
Radio Group
É um conjunto de radio buttons, ou seja, botões que representam os diversos valores válidos para a coluna TIPO_PAGTO da tabela Pedido, no bloco Pedido.O radio group mostrado é composto dos radio buttons À Vista, À Prazo, Cartão.
Possui as mesmas propriedades que os text itens.
47
Forms 6i
Propriedades dos radio buttons
Label Texto mostrado ao lado do botão
Radio Button Value Valor atribuído ao radio group, caso o botão esteja selecionado
48
Forms 6i
Check Box
É uma caixa que pode assumir somente dois valores, ligado e desligado. No exemplo abaixo, foi utilizado um Check Box para representar a coluna Ja_Entreg no bloco Pedido, que só pode assumir os valores S e N. Essa coluna não existe realmente na tabela. É somente um exemplo.
49
Forms 6i
Propriedades
Value When Checked Valor atribuído ao item caso o checkbox esteja ligado.
Value When Unchecked Valor atribuído ao item caso o checkbox esteja desligado.
Check Box Mapping of Other Values Valor assumido pelo item quando um valor diferente de checked e unchecked for utilizado.
Not Allowed No caso de uma query, os registros não são mostrados.
Check Assume o valor especificado em checked value.
50
Forms 6i
Uncheck Assume o valor especificado em unchecked value.
Botões
É um objeto que dispara um evento, iniciando uma ação, quando é pressionado. No exemplo abaixo, foram utilizados botões para as ações de incluir pedido, confirmar dados, cancelar alterações, sair.
51
Forms 6i
Propriedades
Label Texto que aparece na superfície do botão
Iconic Determina que será mostrado um ícone na superfície do botão.
Icon Filename Nome do ícone a ser mostrado (não informar extensão do arquivo).
52
Forms 6i
List Item
Uma lista de opções para preenchimento do item. No exemplo abaixo, o item TIPO_PAGTO é representado por uma pop-list. A lista aparece quando a seta é clicada.
53
Forms 6i
Abaixo é mostrado o mesmo item como uma lista do tipo t-list.
54
Forms 6i
Propriedades
List Style Tipo de lista. Poderá assumir os seguintes valores : - PopList- Tlist- Cambo Box
55
Forms 6i
List Elements: Opções da lista. Selecionada esta propriedade, é mostrado o botão More.Este botão chama a tela de definição de elementos da lista, que é mostrada abaixo.O texto em List Elements é o que aparecerá na tela e List Item Value é o valor atribuído ao item.
56
Forms 6i
Lista de Valores (LOV)
Propriedades
Record Group Nome do record group que busca os valores para a lista de valores
Automatic Display Determina que quando o usuário da aplicação navegar para o item que é associado com a lista de valores, a lista será exibida automaticamente
Filter Before Display Usada em casos que a lista de valores contém muitos valores, ocasionando problemas de performance.Determina que antes que a lista de valores seja exibida, seja aberta uma caixa de diálogo, onde o usuário da aplicação possa informar um critério para a lista de valores.
57
Forms 6i
Desse modo, diminui a quantidade de valores a serem exibidos pela lista, melhorando a performance.
Automatic Skip Determina que após a escolha de um dos valores da lista, é feita automaticamente a navegação para o próximo item.
Restrições: - As propriedades Displayed e Enable devem estar
setadas com TRUE.-Não é disparada a trigger KEY-NEXT-ITEM.
Column Mapping Properties Informações para o mapeamento das colunas da lista de valores.No exemplo abaixo, a coluna COD_FORNEC da lista de valores é mapeada para popular o item COD_FORNEC, com tamanho 26, usando com cabeçalho para a lista a palavra ‘Cliente’. Obs.: Se o campo Return Item for deixado em branco, não popula nenhum item da tela.
Ao criar uma lista de valores, é necessário criar um record group, sendo abaixo mostradas suas propriedades.
58
Forms 6i
Record Group Type
Query Determina que uma query recupere os valores do record group. Os valores são buscados no momento da execução.
Static Determina que os valores do record group sejam estáticos. Os valores são informados no Designer e não podem ser alterados.
Record Group Query Especifica a query que busca os valores para o record group.
Column Specification: Especifica o tipo de dado e tamanho das colunas, como mostrado no exemplo abaixo.
59
Forms 6i
60
Forms 6i
Editores
No exemplo abaixo, é mostrado um editor para o item OBSERVACAO.Criar coluna na tabela PEDIDO para armazenar observação e associar a um item do tipo text item com propriedade multi-line com o valor Yes.
Propriedades
Title No exemplo foi utilizado ‘Observação’.
Bottom Title No exemplo foi utilizado ‘Após digitar a observação clique em OK’.
Show Vertical Scroll Bar Determina a criação de uma barra de rolagem vertical.
61
Forms 6i
Parâmetros
São variáveis especiais criadas com a finalidade de receber valores externos, vindos de um menu ou uma outra tela.
Suas propriedades tem a mesmas funções das propriedades dos text items.
62
Forms 6i
4.11 Modificando a Aparência de um Form
Ferramentas
Layout Editor
63
Forms 6i
Barra de Ferramentas
64
Seleção de objetos rotação
zoom rotaciona objetos
desenhar retângulo desenhar linha
desenhar elipse desenhar arco
desenhar polígono desenhar figura poli-linha
desenhar retângulo arredondado
desenho à mão livre
etiqueta de texto
botão checkbox
radio button text item
imagemgráfico
Objeto OLE Controle ActiveXdisplay item
lista
cor de preenchimento
cor de linhacor da fonte de letra
frame
Área Beansom
árvore hierárquica Canvas do tipo GuiaStacked
canvas
Forms 6i
Manipulando objetos no Layout Editor
Alinhamento de objetos
Um conjunto de objetos selecionados pode ser alinhado seguindo as opções abaixo. Acessável através do menu Arrange | Allign Objects.
Align to
Each Other Alinha os objetos em relação a um objeto
Grid Alinha os objetos em relação à grade
Horizontally
None Não alinha horizontalmente
Align Left Alinha pelo lado esquerdo do objeto mais à esquerda
Align Right Alinha pelo lado direito do objeto mais à direita
Align Center Alinha o centro de cada objeto pelo centro do conjunto
Distribute Torna igual o espaçamento entre os objetos
Stack Junta os objetosVertically
65
Forms 6i
None Não alinha verticalmente
Align Top Alinha pela parte de cima do objeto mais perto do topo
Align Bottom Alinha pela parte de baixo do objeto mais perto da borda inferior
Align Center Alinha o centro de cada objeto pelo centro do conjunto
Distribute Torna igual o espaçamento entre os objetos
Stack Junta os objetos
66
Forms 6i
Dimensionando Objetos
Um conjunto de objetos selecionados pode ter um tamanho padronizado, seguindo as opções abaixo. Acessável através do menu Arrange | Size Objects.
No Change (Width/Height) Não altera tamanho
Smallest (Width/Height) Tamanho do menor objeto
Largest (Width/Height) Tamanho do maior objeto
Average (Width/Height) Tamanho médio dos objetos
Custom (Width/Height) Assume um valor digitado
67
Forms 6i
4.12 Criando atributos visuais nomeados
Um conjunto de atributos visuais pode ser criado, facilitando a padronização visual dos objetos.
Propriedades
Name Nome do atributo visual
Font Name Fonte de letras a ser utilizada
Foreground Color Cor de frente dos objetos
Background Color Cor de fundo dos objetos
68
Forms 6i
Fill Patern Padrão de preenchimento do fundo
Font Size Tamanho da fonte
Font Weigth Espessura da fonte
Font Style Estilo da fonte
Font Width Largura da fonte
69
Forms 6i
5 Desenvolvimento de Triggers
O que são triggers
Trigger é o código PL/SQL utilizado para tratamento de um evento ocorrido.
5.1 Criando um Trigger
No exemplo, foi criado um trigger para tratar o evento de pressionamento do botão Confirmar dados.
Em outro exemplo logo abaixo, é criado o código necessário para que quando o usuário navegar para o item Observacao, seja aberto o editor para digitação.
70
Forms 6i
É utilizado o procedimento show_editor, que tem a seguinte sintaxe:
show_editor(<nome do editor>, <mensagem de entrada>, <x>, <y>, <mensagem de saída>, <resultado>);
<mensagem de entrada> Texto a ser editado.Normalmente, o item a ser populado pelo editor.
<x> Coordenada x na tela (a partir da borda esquerda).
<y> Coordenada y na tela (a partir da borda superior).
<Mensagem de Saída> Item que receberá o texto editado.Normalmente, o item a ser populado pelo editor.
<Resultado> Variável que deve ser criada no bloco PL/SQL, sendo do tipo boolean.
True Indica que o usuário acessou o editor
False Indica que o usuário cancelou o editor. Nesse caso, <mensagem de saída> retorna o valor Nulo.
71
Forms 6i
72
Forms 6i
5.2 Eventos que disparam Triggers
Os eventos podem ser separados em 4 grupos:
When Ocorre geralmente após uma navegação, ou outra ação do usuário.Ex.: WHEN-VALIDATE-ITEM, WHEN-BUTTON-PRESSED.
On Substitui a operação normal do forms em operações na base de dados.
Ex.: ON-INSERT, ON-UPDATE, ON-DELETE, ON-COMMIT.
Pre Evento disparado antes da ação normal do forms. Ex.: PRE-INSERT, PRE-FORM.
Post Evento disparado após a ação normal do forms. Ex.: POS-UPDATE, POS-BLOCK.
Key Evento disparado no pressionamento de uma tecla.Ex.: KEY-COMMIT, KEY-F1, KEY-NXTITM, KEY-ENTER.
73
Forms 6i
5.3 Populando dados através de Triggers
No form de exemplo, foi criado um item chamado DSC_RAZAO_SOCIAL.Esse item será populado via trigger no item COD_FORNEC.
O código do trigger é mostrado abaixo.O evento WHEN-VALIDATE-ITEM é disparado após ter sido alterado o valor de um item e houver uma navegação para fora do item.
74
Forms 6i
5.4 Alterando a funcionalidade do form através de triggers
No exemplo abaixo, a funcionalidade do form foi alterada conforme o valor do item TIPO_PAGTO.Quando o valor for 1 (à vista), é desabilitada a navegação ao item OBSERVACAO.
75
Forms 6i
5.5 Triggers disparados por botões
Abaixo, é codificado o tratamento do pressionamento do botão ‘Incluir dados’. É utilizado o evento WHEN-BUTTON-PRESSED.
76
Forms 6i
6 Compartilhando Código
O Oracle Forms permite o compartilhamento de código PL/SQL entre os módulos.
O objetivo do compartilhamento é evitar que códigos PL/SQL sejam criados uma vez para cada módulo. Com isso, ganha-se tempo com o desenvolvimento e manutenção de código utilizados por vários módulos.
Os códigos PL/SQL que serão compartilhados são implementados dentro de uma biblioteca, (chamada de Library).
6.1 Criando Functions e Procedures
Após ser selecionada a ramificação Program Units no Object Navigator e clicado o botão Criar item na barra de ferramentas, abre-se a janela mostrada abaixo, para especificação do tipo de estrutura de código.
Será criada uma function para retornar o tipo do dia da semana.
77
Forms 6i
78
Forms 6i
6.2 Library
Após a criação de todas procedures e functions de uma library, ela pode ser utilizada para o compartilhamento de código.
A function implementada acima, será usada para popular o form, criado como exemplo, para o tipo do dia da semana da data de emissão do pedido.
Será criado um trigger WHEN-VALIDATE-ITEM para o item DATA_EMISSAO, populando o item TIPO_DIA_SEMANA.
79
Forms 6i
6.3 Ligando uma library a um módulo (Attach)
Selecionada a ramificação em Attached Libraries, clicar no botão Criar item. Desse modo é mostrado a janela abaixo, onde é informado o nome da library. Após a library ser “atachada”, todos as suas procedures e functions são visíveis ao módulo.
6.4 Chamando uma procedure ou function ligada ao módulo
A chamada de uma procedure ou function atachada não apresenta diferença quanto à chamada de procedure ou function criada dentro do módulo.
7 Desenvolvimento de Menus
7.1 Criando um menu
Após todos os form’s de uma aplicação serem desenvolvidos, é necessário a criação de um menu para a aplicação. Isto é feito a partir do menu File | New | Menu.
80
Forms 6i
Propriedades
Startup Code Código PL/SQL que será executado no ínicio da execução do menu
Module Roles Lista de roles que têm acesso ao menu
Use Security Com esta opção ligada, utiliza a propriedade Module Roles para verificação de privilégio de acesso
81
Forms 6i
7.2 Criando o menu principal
Para criar uma lista de opções de um menu principal, é necessário selecionar a ramificação Menus no Object Navigator, e então clicar no botão Criar item.
7.3 Criando opções para o menu
Para criar os itens de um menu, deve ser selecionado a ramificação Itens do Object Navigator, e então clicar no botão Criar item.
82
Forms 6i
Propriedades
Label Texto da opção do menu
Menu Item Type Especifica o tipo do item. Opções:
Plain Item de opção comum de menu.
Check Item de menu que possui um dos dois valores : ligado e desligado.
Magic Item que acessa uma das funções padrão de menu do Windows. Ex. Cut, Copy, Past, Quit, Window.
Separator Linha que separa um menu em duas áreas.Comand Type Determina o tipo de comando associado ao item e
como o Forms Builder vai interpretar o conteúdo da propriedade Command Text.
83
Forms 6i
Null Nenhuma ação associada ao item.Para itens do tipo separator é obrigatório que esteja com valor nulo.
Menu O item é um submenu do menu.O nome do submenu está na propriedade Menu Item Code
PL/SQL Executa um comando PL/SQL que está na propriedade Menu Item Code
Display without Privilege Modo como o item é mostrado caso o usuário da aplicação não tenha acesso ao item. Opções:
False O item não é mostrado
True O item é mostrado como desabilitado (em cinza)
84
Forms 6i
Diagrama Entidade Relacionamento
ITEM_PEDIDO* QTD_PEDIDO* VLR_UNIT
ITEM_SOLICITACAO* QTD_SOLIC
PEDIDO# NUM_PEDIDO* DAT_EMISS* DAT_ENTREG
PRODUTO# COD_PRODUTO* DSC_PRODUTO* DSC_UNIDADE
SOLIC_COMPRA# NUM_SOLIC* DAT_EMISS* DAT_PREVISAO
DEPTO# COD_DEPTO* DSC_DEPARTAMENTO
FORNECEDOR# COD_FORNEC* DSC_RAZAOSOCIAL* NUM_CGC* NUM_CEP* COD_CIDADE* DSC_ENDERECOo NUM_INS_ESTo NUM_FONEo NUM_FAXo NUM_TELEXo NOM_CONTATOo DAT_NASC_CONTATO* COD_TIPO_FORNEC* TIPO_FORNECEDOR
ter pertencerter
pertencer
ter
pertencer
ter
pertencer
pertencer
ter
pertencer
ter
85
top related