2 Primeiros passos para utilização do Forms Builder

Propaganda
Forms 6i
Forms 6i
1
Forms 6i
Índice
1 INTRODUÇÃO .................................................................................................................................................. 4
2 PRIMEIROS PASSOS PARA UTILIZAÇÃO DO FORMS BUILDER ............................................................... 5
2.1 ENTRADA ...................................................................................................................................................... 5
2.2 CONEXÃO COM A BASE DE DADOS ORACLE ..................................................................................................... 6
2.3 CRIANDO UMA NOVA APLICAÇÃO..................................................................................................................... 7
2.4 CONFIGURAÇÃO DO AMBIENTE DO BUILDER .................................................................................................... 8
3 INTERFACE DO BUILDER ............................................................................................................................. 11
3.1 JANELA DO ORACLE FORMS BUILDER ........................................................................................................... 11
Barra de ferramentas .................................................................................................................................. 12
3.2 JANELA DE SHOW KEYS ............................................................................................................................... 13
3.3 LINHA DE STATUS ........................................................................................................................................ 13
3.4 MENU FILE .................................................................................................................................................. 14
3.5 MENU EDIT ................................................................................................................................................. 16
3.6 MENU PROGRAM ......................................................................................................................................... 17
4 DESENVOLVIMENTO DE FORMS ................................................................................................................ 18
4.1 OBJETOS COMPONENTES DE UM FORM......................................................................................................... 18
Alerta (Alert) ................................................................................................................................................ 18
Bloco (Data Block) ....................................................................................................................................... 18
Canvas ........................................................................................................................................................ 18
Editor ........................................................................................................................................................... 18
Item.............................................................................................................................................................. 18
Lista de Valores (LOV) ................................................................................................................................ 19
Parâmetro .................................................................................................................................................... 19
Record Group .............................................................................................................................................. 19
Relation ....................................................................................................................................................... 20
Visual Attributes........................................................................................................................................... 20
Windows ...................................................................................................................................................... 20
Program Units e Triggers ............................................................................................................................ 20
Bibliotecas (Attached Library) ..................................................................................................................... 20
4.2 CRIANDO UM NOVO FORM ............................................................................................................................ 21
4.3 PROPRIEDADES DO MÓDULO ........................................................................................................................ 22
4.4 CONFIGURANDO O CANVAS .......................................................................................................................... 24
4.5 CANVAS DO TIPO GUIA (TAB CANVAS) .......................................................................................................... 26
4.6 TAB PAGE ................................................................................................................................................... 27
4.7 CRIANDO BLOCOS PARA ACESSO À BASE DE DADOS ...................................................................................... 28
4.8 PROPRIEDADES DE UM BLOCO...................................................................................................................... 37
4.9 CRIANDO RELACIONAMENTOS ENTRE BLOCOS .............................................................................................. 39
4.10 MANIPULANDO ITENS ................................................................................................................................. 42
Text Item...................................................................................................................................................... 42
Radio Group ................................................................................................................................................ 47
Check Box ................................................................................................................................................... 49
Propriedades ............................................................................................................................................... 50
Botões ......................................................................................................................................................... 51
List Item ....................................................................................................................................................... 53
Lista de Valores (LOV) ................................................................................................................................ 57
Editores ....................................................................................................................................................... 61
Parâmetros .................................................................................................................................................. 62
4.11 MODIFICANDO A APARÊNCIA DE UM FORM .................................................................................................. 63
Ferramentas ................................................................................................................................................ 63
2
Forms 6i
Manipulando objetos no Layout Editor ........................................................................................................ 65
Dimensionando Objetos .............................................................................................................................. 67
4.12 CRIANDO ATRIBUTOS VISUAIS NOMEADOS ................................................................................................... 68
5 DESENVOLVIMENTO DE TRIGGERS........................................................................................................... 70
5.1 CRIANDO UM TRIGGER................................................................................................................................. 70
5.2 EVENTOS QUE DISPARAM TRIGGERS ............................................................................................................ 73
5.3 POPULANDO DADOS ATRAVÉS DE TRIGGERS ................................................................................................. 74
5.4 ALTERANDO A FUNCIONALIDADE DO FORM ATRAVÉS DE TRIGGERS ................................................................. 75
5.5 TRIGGERS DISPARADOS POR BOTÕES........................................................................................................... 76
6 COMPARTILHANDO CÓDIGO....................................................................................................................... 77
6.1 CRIANDO FUNCTIONS E PROCEDURES .......................................................................................................... 77
6.2 LIBRARY...................................................................................................................................................... 79
6.3 LIGANDO UMA LIBRARY A UM MÓDULO (ATTACH) ........................................................................................... 80
6.4 CHAMANDO UMA PROCEDURE OU FUNCTION LIGADA AO MÓDULO ................................................................... 80
7 DESENVOLVIMENTO DE MENUS ................................................................................................................ 80
7.1 CRIANDO UM MENU ...................................................................................................................................... 80
7.2 CRIANDO O MENU PRINCIPAL ........................................................................................................................ 82
7.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 :
pelo runtime.
Utilizado para compilar uma aplicação e gerar o arquivo executável
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
Form
Menu
Library
Binário
.FMB
.MMB
.PLL
Texto
.FMT
.MMT
.INP
Executável
.FMX
.MMX
.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
executável.
Build Before Runnig
Supress Hints
Use System Editor
Salva o módulo (binário) antes de gerar o
Gerar o módulo (executável) antes de rodá-lo.
Não mostra o conteúdo da linha de mensagens.
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
de
local
Quando houver operação de leitura ou salvamento
módulo, o Oracle Forms irá solicitar que se informe o
de armazenamento.
9
Forms 6i
Debug Messages
Array Processing
Habilita que durante a execução sejam mostradas as
mensagens de debug (nome das triggers no momento em
que são disparadas).
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
tempo de
Desabilita o beep quando uma mensagem é mostrada em
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.
barra de menus
módulo ativo
barra de ferramentas
linha de
mensagem
linha de status
11
Forms 6i
Barra de ferramentas
Criar novo módulo
Abrir um módulo já existente
Salvar o módulo ativo
Executar tela
Client/Server
Executar tela
Web
Ativa o modo de debug
Recortar
Copiar
Colar
Criar
objeto
Excluir objeto
Expandir
ramificação
Reduzir
ramificação
Expandir todas
ramificações
Reduzir todas ramificações
Como pode ser observado, todas as opções são realizadas sobre o módulo ativo.
12
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
Revert
Salvar o módulo ativo com outro nome.
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
Cut
transferência.
Desfaz a última operação.
Excluir seleção atual e armazenar na área de
Copy
Armazenar seleção atual na área de transferência.
Paste
posição do
Copiar o conteúdo da área de transferência para a
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
módulo).
Nome do módulo (usado também para o arquivo do
Title
execução.
Título da janela do form quando estiver em
Console Window
Nome da window principal do form.
Menu Module
form.
Nome do módulo de menu usado como menu para o
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
Data Block
A navegação está habilitada somente dentro do
corrente.
Record
A navegação pode ser feita somente dentro do
corrente.
Item
A navegação só pode ser feita dentro do item
form.
bloco
registro
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
Caracter,
Sistema de medidas utilizada no forms. Pode ser
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
Stacked
mesma window.
É o default. O canvas é mostrado inteiro dentro da
window a que pertence.
Usado quando existem vários canvas para uma
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
Tab
O canvas é do tipo Guia.
horizontal.
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 canvas
Opçõ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
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
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
bloco.
Colunas da tabela/views disponíveis para incluir no
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
do campo
Mostra um registro por tela, com o label à esquerda
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
rolagem
Normalmente é 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
rolagem
Normalmente é 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:
registros
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
detalhe.
39
Forms 6i
Coordination
Deferred FALSE
mostrados.
Deferred TRUE e
Auto-Query TRUE
quando é feita
Determina o modo de população do bloco detalhe
quando, no bloco mestre é feita uma navegação
para outro registro. Opções:
Os registros detalhe são imediatamente
Os registros detalhe são mostrados somente
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
para
Não mostra caracteres digitados no item. Usado
campos de senha.
Automatic Skip
Determina que o cursor vai automaticamente para o
próximo item quando o item for completamente
preenchido
Keyboard Navigable
navegação
Determina que o item está habilitado para
Datatype
Tipo de dado do item (numérico,char,data, etc)
Maximum Length
Tamanho máximo do valor armazenado
Fixed Length
novo
Determina que o item deve ser totalmente
preenchido, ou seja, deve ter sempre o número de
caracteres informado em Maximum Length
Valor default do item. O item é preenchido
automaticamente com o valor quando é criado um
registro
Required
Determina que a digitação do item é obrigatória.
Initial Value
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
do item
novo
O item é preenchido automaticamente com o valor
indicado nessa propriedade quando é criado um
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
caso o
Determina que o valor do item só pode ser alterado
seu valor seja NULL.
List of Values
preenchimento
Nome da lista de valores para auxiliar o
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
utilizada a
Determina que quando o campo é validado, seja
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
ligado.
Valor atribuído ao item caso o checkbox esteja
Value When Unchecked
desligado.
Valor atribuído ao item caso o checkbox esteja
Check Box Mapping of Other Values
Valor assumido pelo item quando um
valor diferente de
checked e unchecked for utilizado.
Not Allowed
mostrados.
Check
No caso de uma query, os registros não são
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
arquivo).
Nome do ícone a ser mostrado (não informar extensão do
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
lista, é feita
Determina que após a escolha de um dos valores da
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
record group.
Especifica a query que busca os valores para o
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
clique em
No exemplo foi utilizado ‘Após digitar a observação
OK’.
Show Vertical Scroll Bar
vertical.
Determina a criação de uma barra de rolagem
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
Seleção de objetos
zoom
desenhar retângulo
desenhar elipse
desenhar polígono
desenhar retângulo
arredondado
etiqueta de texto
botão
radio button
imagem
Objeto OLE
Área Bean
lista
árvore hierárquica
Stacked
canvas
rotação
rotaciona objetos
desenhar linha
desenhar
arco
desenhar figura poli-linha
desenho à mão livre
frame
checkbox
text item
gráfico
Controle
ActiveX
display item
som
Canvas do tipo
Guia
cor de preenchimento
cor de linha
cor da fonte de letra
64
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 à
Align Right
Alinha pelo lado direito do objeto mais à direita
Align Center
Alinha o centro de cada objeto pelo centro do
Distribute
Torna igual o espaçamento entre os objetos
Stack
Junta os objetos
esquerda
conjunto
Vertically
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
dados.
Substitui a operação normal do forms em operações na base de
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
execução do
Código PL/SQL que será executado no ínicio da
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
Comand Type
Linha que separa um menu em duas áreas.
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
p
e
P
#
t*
*
r
t
e
E
D
e
n
T
E
I
N
D
c
D
r
I
*
*
M
Q
V
D
U
A
e
t
A
O
M
rT
e
T
_
r
_
t
e
_
T
R
r p
e
r
t
e
n
c
e
P
E
D
I
D
O
D
_
P
E
D
I
D
O
_
U
N
I
T
L
_
E
E
P
M
N
E
D
I
D
O
I I T S ES M
*
Q
T
R
E
G
_
T
S
D
O
_
r
t
t
S
#
*
*
P
#
*
*
R
O
C
D
D
D
p
O
S
S
U
e
C
C
T
r
D
_
_
O
t
_
P
U
D
#
*
e
P
R
N
E
n
R
O
I
P
c
O
D
T
C
D
e
D
A
O
O
S
r
D
U
D
C
U
T
E
D
_
O
Tt
O
p
I
U
A
A
L
N
D
D
Oe
r
p
e
L
O
S
r
e
e
C
M
T
T
I
e
r
t
C
_
E
P
e
O
S
M
R
C
L
I
I
T
C
A
C
A
R
C
A
A
O
O
r
r
_
_
_
t
e
n
c
F
O
R
#
C
*e
D
p
e
r
t
n
c
e
*
N
*
N
*
C
_
D
E
P
T * O
D
D
E
P
A
R o T
A
MN
o
N
o
N
o
N
o
N
o
D
*
C
*
T
n
c
M
O
E
I
V
e
L
S
I
e
r
N
E
C
O
D
S
C
_
r
U
M
U
M
O
D
S
C
_
U E MN
T
U
M
U
M
U
M
O
M
A
T
_
O
D
I
P
O
r
P
I
S
S
E
D
_
F
R
A
_
C
_
C
_
C
E
N
_ OI
_
F
_
F
_
T
_
N
A
_
T
_
O
O
Z
G
E
I
D
N
O
A
E
C
S
I
F
85
A
P
D
E
S
X
L
O
C
P
O
R
R
O
C
N
S
A
R
_
N
D
E
E
E
E
X
N
C
_
O
R
E
C
S
O
Download