Sei sulla pagina 1di 229

FORMS 4.

Relacional Consultoria e Sistemas


Rua da Candelria 60 10 andar
Tel./Fax.: (021) 2213-9191
e-mail:luciaaf@relacional.com.br

Copyright 1998
Lcia M. A Fernandes
Gerente de Treinamento

i
Developer/2000 - Forms 4.5

CAPTULO 1 : UMA VISO GERAL .................................................................................. 1


INTRODUO...................................................................................................................... 1
MDULOS ............................................................................................................................ 2
HIERARQUIA FUNCIONAL ............................................................................................. 2
HIERARQUIA VISUAL ...................................................................................................... 2
FORM ................................................................................................................................. 3
MENU................................................................................................................................. 3
LIBRARY ............................................................................................................................ 3
INTEGRAO DE MDULOS ......................................................................................... 3
O MDULO ATIVO........................................................................................................... 4
FORMATO DOS ARQUIVOS ............................................................................................ 4
OBJETOS E PROPRIEDADES .......................................................................................... 5
RECORDS .......................................................................................................................... 5
BLOCOS ............................................................................................................................. 5
WINDOWS E CANVAS-VIEWS.......................................................................................... 6
WINDOWS.......................................................................................................................... 6
CANVAS-VIEW................................................................................................................... 6
OBJECT NAVIGATOR - INTRODUO ........................................................................... 7
A BARRA DE FERRAMENTAS DO NAVIGATOR ............................................................ 8
O BOTO DIREITO DO MOUSE ..................................................................................... 9
PROPRIEDADES DE UM OBJETO..................................................................................... 9
PASSO A PASSO - CRIANDO UMA APLICAO......................................................... 10
ETAPAS ............................................................................................................................ 10
1 - INICIAR O PRODUTO F45DES ................................................................................ 11
2 - SELECIONAR A APLICAO / NEW FORM............................................................ 11
3 - FAZER A CONEXO AO BANCO DE DADOS ......................................................... 12
4 - CRIAR UM BLOCO BASE TABLE ............................................................................. 13
5 - USAR O EDITOR DE LAYOUT.................................................................................. 20
6 - REFINAR A FUNCIONALIDADE DO FORM - PROPRIEDADES ........................... 20
7 - REFINAR A FUNCIONALIDADE DO FORM - TRIGGERS ..................................... 20
8.1 - SALVAR A APLICAO.......................................................................................... 21
8.2 - GERAR A APLICAO ........................................................................................... 21
8.3 - EXECUTAR A APLICAO.................................................................................... 21
8.4 - NAVEGANDO PELO MENU DA APLICAO GERADA...................................... 22

i
Developer/2000 - Forms 4.5

CAPTULO 2 : FUNCIONALIDADE DO FORMS ........................................................... 26


BLOCOS .............................................................................................................................. 26
CRIANDO BLOCOS......................................................................................................... 26
EXCLUINDO BLOCOS.................................................................................................... 26
BASE TABLE BLOCK ...................................................................................................... 27
CONTROL BLOCK .......................................................................................................... 27
PROPRIEDADES DOS BLOCOS .................................................................................... 28
ITENS................................................................................................................................... 34
TIPOS DE ITENS ............................................................................................................. 34
CRIANDO ITENS NO FORMS......................................................................................... 36
EXCLUINDO ITENS DO FORM ..................................................................................... 36
PROPRIEDADES DOS ITENS......................................................................................... 37
TEXT ITEM ...................................................................................................................... 38
BUTTONS......................................................................................................................... 45
CHECK BOXES................................................................................................................ 48
CHART ITEMS ................................................................................................................. 52
DISPLAY ITEMS .............................................................................................................. 54
IMAGE ITEMS ................................................................................................................. 57
RADIO GROUP................................................................................................................ 60
RADIO BUTTON.............................................................................................................. 63
LIST ITEM ........................................................................................................................ 65
CAPTULO 3 : EVENTOS E TRIGGERS .......................................................................... 69
INTRODUO.................................................................................................................... 69
ESCOPO DE UM TRIGGER............................................................................................... 69
OBSERVAES ............................................................................................................... 69
CRIANDO TRIGGERS ....................................................................................................... 70
O EDITOR DE PL/SQL....................................................................................................... 71
CATEGORIA DOS TRIGGERS - INTRODUO............................................................ 72
QUERY TIME................................................................................................................... 72
INTERFACE EVENT........................................................................................................ 73
NAVIGATIONAL TRIGGERS........................................................................................... 74
PROPRIEDADES DOS TRIGGERS................................................................................... 76
FALHA NOS TRIGGERS ................................................................................................... 78
ROTINAS PR DEFINIDAS ............................................................................................ 79
O PACOTE STANDARD EXTENSIONS - INTRODUO.............................................. 81
FALHA NAS ROTINAS PR DEFINIDAS ....................................................................... 84

ii
Developer/2000 - Forms 4.5

CAPTULO 4 : INTERFACE VISUAL ............................................................................... 85


WINDOWS .......................................................................................................................... 85
MODALIDADE DAS WINDOWS..................................................................................... 86
ESTILO DAS WINDOWS ................................................................................................. 86
APRESENTAO DAS WINDOWS ................................................................................. 87
PROPRIEDADES DAS WINDOWS ................................................................................. 88
CANVAS-VIEW.................................................................................................................. 90
TIPOS DE CANVAS-VIEW .............................................................................................. 91
PROPRIEDADES DA CANVAS-VIEW ............................................................................ 92
INTERAO ENTRE WINDOW E CANVAS-VIEW ...................................................... 94
O EDITOR LAYOUT .......................................................................................................... 95
ATIVANDO O EDITOR LAYOUT.................................................................................... 96
PALETA DE FERRAMENTAS ......................................................................................... 98
PALETA DE ATRIBUTOS VISUAIS .............................................................................. 100
ALTERAR O TAMANHO DA CANVAS E VIEWPORT ............................................... 101
CRIAR, MOVER, REDIMENSIONAR E ALINHAR ITENS............................................ 103
REDIMENSIONANDO OBJETOS NA CANVAS............................................................ 104
OBTER AS PROPRIEDADES DE UM ITEM ................................................................ 106
ADICIONAR BOILERPLATES(TEXTOS OU GRFICOS) PARA A CANVAS .......... 106
MODIFICAR FONTE, COR, ESPESSURA DE LINHA PARA BOILERPLATES E ITENS
........................................................................................................................................ 107
MOVIMENTAR, COPIAR, RECORTAR E COLAR ITENS E BOILERPLATES........... 109
IMPORTAR E EXPORTAR TEXTOS, IMAGENS DE E PARA UMA CANVAS........... 110
CAPTULO 5 : REVENDO A FUNCIONALIDADE....................................................... 111
RELACIONAMENTO MASTER-DETAIL ...................................................................... 111
O OBJETO RELATION.................................................................................................. 112
CATEGORIA DOS TRIGGERS - CONTINUAO ....................................................... 115
MASTER-DETAIL .......................................................................................................... 115
VALIDATION TRIGGERS.............................................................................................. 115
MAIS ROTINAS DO PACKAGE STANDARD EXTENSIONS..................................... 119
VARIVEIS DO FORMS ................................................................................................. 123
VARIVEIS LOCAIS A UM PL/SQL.............................................................................. 123
VARIVEIS LOCAIS A UMA APLICAO................................................................... 123
VARIVEIS GLOBAIS SESSO ................................................................................. 123
DIFERENAS ENTRE VARIVEIS GLOBAIS E VARIVEIS NULL-CANVAS-ITEM. 124
VARIVEIS DE SISTEMA.............................................................................................. 125
ALERTAS .......................................................................................................................... 129
PROPRIEDADES DOS ALERTAS ................................................................................. 130

iii
Developer/2000 - Forms 4.5
EDITOR ............................................................................................................................. 132
CRIANDO UM EDITOR ESPECFICO......................................................................... 132
PROPRIEDADES DOS EDITORES............................................................................... 133
MODIFICANDO A POSIO DE APRESENTAO DE UM EDITOR ...................... 134
USANDO UM EDITOR DO SISTEMA .......................................................................... 134
LISTA DE VALORES (LOVS)......................................................................................... 135
CRIANDO UMA LOV..................................................................................................... 136
PROPRIEDADES DE UMA LOV................................................................................... 137
MAPEANDO AS COLUNAS A SEREM APRESENTADAS............................................ 139
ASSOCIAO DA LOV A UM ITEM............................................................................. 139
CONTROLANDO A APRESENTAO DE UMA LOV ................................................. 140
RECORD GROUPS ........................................................................................................... 141
CRIANDO RECORD GROUPS...................................................................................... 142
PROPRIEDADES DE UM RECORD GROUP .............................................................. 143
CONTROLANDO O PREENCHIMENTO DE UM RECORD GROUP ......................... 144
VISUAL ATTRIBUTE ...................................................................................................... 146
PROPRIEDADES DOS ATRIBUTOS VISUAIS ............................................................. 147
CLASSE DE PROPRIEDADES ........................................................................................ 148
CRIANDO UMA CLASSE .............................................................................................. 149
CAPTULO 6 : USO DE ROTINAS NO FORMS ............................................................ 151
FALANDO DE PL/SQL .................................................................................................... 151
CRIANDO UMA PROGRAM UNIT ................................................................................ 152
IDENTIFICADORES NO ORACLE FORMS .................................................................. 153
USANDO O NOME DO OBJETO.................................................................................. 154
USANDO O ID DO OBJETO......................................................................................... 154
STORED PROCEDURES E DATABASE TRIGGERS ................................................... 155
PARMETROS ................................................................................................................. 157
CRIANDO PARMETROS............................................................................................. 157
PROPRIEDADES DOS PARMETROS ........................................................................ 157
USANDO OS PARMETROS NO FORMS.................................................................... 158
OBTENDO O VALOR DOS PARMETROS.................................................................. 158
CAPTULO 7 : CARACTERSTICAS GERAIS.............................................................. 159
PROPRIEDADES DO FORM ........................................................................................... 160
O DILOGO COORDINATE INFO............................................................................... 163
OPTIONS ........................................................................................................................... 165
DESIGNER OPTIONS.................................................................................................... 165
RUNTIME OPTIONS ..................................................................................................... 168

iv
Developer/2000 - Forms 4.5

CAPTULO 8 : TPICOS DIVERSOS ............................................................................. 170


DEPURANDO A APLICAO........................................................................................ 170
BREAKPOINTS .............................................................................................................. 171
TRIGGERS ..................................................................................................................... 173
ROTINAS DO PACKAGE DEBUG................................................................................ 174
EDIO ......................................................................................................................... 174
REUTILIZAO DE CDIGOS NO FORMS 4.5 .......................................................... 175
CPIA ............................................................................................................................ 176
REFERNCIA ................................................................................................................ 177
OBJECT GROUPS ......................................................................................................... 178
CAPTULO 9 : VBX E OLE ............................................................................................... 179
CONTROLES VBX ........................................................................................................... 179
PROPRIEDADES DE UM ITEM VBX ........................................................................... 180
O VALOR DE UM ITEM VBX........................................................................................ 183
O PACKAGE VBX .......................................................................................................... 183
O CONTROLE OLE2 CONTAINER ................................................................................ 185
PROPRIEDADES DE UM ITEM OLE2 CONTAINER .................................................. 186
O PACKAGE FORMS_OLE........................................................................................... 190
O PACKAGE OLE2........................................................................................................ 191
CAPTULO 10 : TEXT-IO E IMAGES ............................................................................. 192
FAZENDO ACESSO A ARQUIVOS FORA DO DATABASE ....................................... 192
O PACKAGE TEXT_IO.................................................................................................. 192
FUNES E PROCEDURES DO PACKAGE TEXT_IO .............................................. 193
FUNES DO PACKAGE STANDARD EXTENSIONS ............................................... 197
ALTERAO DE TIPO DE CURSOR ........................................................................... 197
CHAMANDO OUTRA APLICAO.............................................................................. 198
CHAMADAS A FUNES EXTERNAS ........................................................................ 200
O PACKAGE ORA_FFI ................................................................................................. 200
TRABALHANDO COM IMAGENS NO ORACLE FORMS .......................................... 202
BOILERPLATE IMAGES ............................................................................................... 202
IMAGE ITEMS ............................................................................................................... 202
FORMATOS VLIDOS .................................................................................................. 203
MANIPULANDO IMAGENS.......................................................................................... 204
USANDO ITENS IMAGE ............................................................................................... 205

v
Developer/2000 - Forms 4.5

CAPTULO 11 : O MDULO LIBRARY......................................................................... 206


INTRODUO.................................................................................................................. 206
CRIANDO UMA LIBRARY ............................................................................................. 206
ASSOCIANDO UMA LIBRARY A UM FORM .............................................................. 207
ESCOPO DAS VARIVEIS ............................................................................................. 207
CAPTULO 12 : O MDULO MENU ............................................................................... 208
INTRODUO.................................................................................................................. 208
A BARRA DE TAREFAS DO MDULO MENU ........................................................... 210
PROPRIEDADES DO ITEM DE MENU.......................................................................... 211
COMANDOS ASSOCIADOS AOS ITENS DE MENU CHECK E RADIO..................... 215
PROPRIEDADES DO MENU ........................................................................................ 216
PROPRIEDADES DO MDULO MENU ...................................................................... 217
PARMETROS ................................................................................................................. 218
CRIANDO PARMETROS PARA O MENU.................................................................. 219
PROPRIEDADES DOS PARMETROS ........................................................................ 219
ASSOCIANDO UM MENU A UM FORM....................................................................... 220
DEFAULT FORM MENU................................................................................................. 221
MODIFICANDO AS CARACTERSTICAS DO MENU................................................. 222
ROTINAS DE MANIPULAO DE MENUS................................................................. 222

vi
Developer/2000 - Forms 4.5

Captulo 1 : UMA VISO GERAL


INTRODUO
O software Oracle Forms tem o objetivo de desenvolver aplicaes online para
acesso a uma base de dados Oracle, que efetuem consultas, incluses, atualizaes
e excluses de dados.

Pode-se definir aplicaes usando menus simples at aplicaes grficas complexas.

dividido em trs componentes:

Oracle Forms Designer (F45DES)


o componente em que definimos os mdulos (Forms, Menus e Librarys), ou
seja, no Designer sero criadas as aplicaes. Permite que os objetos
projetados sejam armazenado em um arquivo ou no database.

Oracle Forms Generate (F45GEN)


o componente que gera o cdigo executvel de um Form, Menu ou Library,
ou seja, no Generate sero geradas as aplicaes. Este componente tambm
permite que faamos a converso das vrias representaes de uma
aplicao:

cria arquivos textos a partir da definio dos mdulos armazenados na


base de dados.
cria Forms, Menus e Librarys, a partir de arquivos textos, em uma base
de dados.
atualiza Forms e menus de verses anteriores do Oracle Forms.

Oracle Forms Runform (F45RUN)


o componente em que so executadas as aplicaes. Pode ser usado
tambm para teste e depurao de aplicaes.

Uma Viso Geral - 1


Developer/2000 - Forms 4.5

MDULOS
Quando desenhamos uma aplicao no Designer, na verdade trabalhamos com
componentes do aplicativo, chamados mdulos, os quais se dividem nos seguintes
tipos:

HIERARQUIA FUNCIONAL

MDULOS DO ORACLE FORMS

HIERARQUIA VISUAL

FORM MODULE

WINDOW
ITENS

CANVAS

ITENS

Uma Viso Geral - 2


Developer/2000 - Forms 4.5

FORM
O Form a aplicao principal, em sua estrutura definimos todos os objetos e
instrues necessrias a uma aplicao.

Visualmente um Form representado na tela como uma ou mais janelas contendo


uma ou mais canvas e uma combinao de objetos tais como windows, campos,
check boxes, buttons, alerts, lista de valores, triggers, que permitem aos operadores
manipular as informaes do banco de dados.

MENU
Uma coleo de menus (um menu principal e qualquer nmero de submenus) e
comandos, que juntos criam uma aplicao de menu.

Os menus possuem uma hierarquia de rvore, ou seja, existe um menu principal e um


ou mais submenus.

Cada menu composto de um ou mais itens de menu. Quando um operador


seleciona um item no menu, o Oracle Forms executa o comando associado quele
item.

LIBRARY
Uma coleo de procedures, funes e packages criados pelo usurio, que podem ser
chamados dos outros mdulos.

INTEGRAO DE MDULOS
Pode-se efetuar a integrao destes mdulos, conforme necessrio, para construir
uma aplicao completa.

Pode-se tambm incorporar mdulos de outras ferramentas Developer/2000, tais


como Oracle Reports ou Oracle Graphics (por exemplo: um button em um Form pode
executar um relatrio escrito em Oracle Reports ou um chart mostrar um grfico
gerado pelo Oracle Graphics).

Uma Viso Geral - 3


Developer/2000 - Forms 4.5

O MDULO ATIVO
Quando abrimos um mdulo (Form, menu ou library), ele torna-se um mdulo ativo
para o Designer e seu nome apresentado na linha de status.

Podemos ter mais de um mdulo aberto ao mesmo tempo. Um mdulo permanece


aberto at que seja explicitamente close (dilogo FILE) ou seja removido do Object
Navigator ou at que encerremos o Oracle Forms Designer.

Quando vrios mdulos esto abertos ao mesmo tempo, podemos ativar aquele que
desejamos trabalhar, executando os seguintes passos:

Selecionando a window pertencente ao mdulo que desejamos trabalhar.


ou
Selecionando no nome do mdulo (ou qualquer objeto do mdulo) no Object
Navigator.

Quando ativamos diferentes mdulos, o Oracle Forms atualiza a indicao de mdulo


e item na linha de status pelo nome do mdulo ativo.

FORMATO DOS ARQUIVOS


Forms, menus e librarys criados no Designer so armazenados no formato binrio e
podem ser salvos para arquivos (em disco) ou para o database e so portveis entre
plataformas.

Na gerao o mdulo Designer cria um cdigo executvel especfico para a


plataforma.

Pode-se, tambm, usar o mdulo Generate para criar arquivo em disco legvel (texto)
que portvel entre plataformas.

Mdulo Binary (Design) Text Executvel


Form .FMB(Form Module Binary) .FMT(Form Module Text) .FMX(Form Module Executable)
Menu .MMB(Menu Module Binary) .MMT(Menu Module Text) .MMX(Menu Module Executable)
Library .PLL(PL/SQL Library) .PLT(PL/SQL Library Module Text)

Uma Viso Geral - 4


Developer/2000 - Forms 4.5

OBJETOS E PROPRIEDADES
Quando construmos uma aplicao em Oracle Forms, podemos criar objetos tais
como windows, campos, check boxes e lista de valores.

Cada tipo de objeto possui um conjunto de propriedades, que definem sua aparncia
e funcionalidade. Cada propriedade possui um nome.

Quando criamos um novo objeto, suas propriedades so automaticamente


modificadas para os valores default (por exemplo: o valor default da propriedade data
type dos campos CHAR).

A visualizao das propriedades de qualquer objeto do Oracle Forms pode ser feita
facilmente com o uso do boto direito do mouse no Object Navigator.

RECORDS
Um registro uma estrutura de dados que contm uma coleo de itens. Quando um
operador recupera dados em um Form (executa uma consulta por exemplo), cada
registro apresentado proveniente de uma row na tabela.

Quando o operador cria, modifica ou exclui um registro, esta ao causa uma ao


semelhante sobre a row correspondente na tabela.

BLOCOS
Cada item pertence a um objeto chamado bloco. Os blocos tem o objetivo de agrupar
itens relacionados dentro de uma unidade funcional. As propriedades do bloco
determinam como um Forms ir interagir com os itens que o contm.

Uma Viso Geral - 5


Developer/2000 - Forms 4.5

WINDOWS E CANVAS-VIEWS
Quando definimos as telas de uma aplicao, na verdade trabalhamos com dois tipos
de objetos do Oracle Forms: Windows e Canvas-views.

WINDOWS
Uma window pode ser entendida como um frame (moldura) vazio. Um frame (window)
prov um modo de interao, a tempo de execuo, com o ambiente, incluindo a
habilidade para rolagem, movimentao e redimensionamento da window.

O contedo de uma window, isto , aquilo que aparece dentro de um frame


determinado pelo objeto canvas-view, que preenche a window a tempo de execuo.

CANVAS-VIEW
A canvas-view o objeto de fundo no qual especificamos os itens (itens de texto,
check boxes, radio groups, e assim por diante) e os boilerplates que o operador v a
tempo de execuo.

Somente itens que tenham sido associados a uma canvas-view podem ser vistos pelo
operador. Por outro lado a canvas-view deve ser apresentada em uma window
especfica.

Uma Viso Geral - 6


Developer/2000 - Forms 4.5

OBJECT NAVIGATOR - INTRODUO


O Object Navigator fornece uma interface hierrquica dos objetos em todos os
mdulos abertos pelo usurio. Objetos so grupados sobre ns de acordo com a sua
dependncia.

Os ns pais encontrados no Object Navigator so:

FORMS
MENUS
LIBRARIES
BUILT-IN PACKAGES
DATABASE OBJECTS

Cada n precedido por um sinal de + indica que existem informaes


subordinadas no mostradas na tela.
Cada n precedido por um sinal de - indica que este n j est expandido, ou
seja, sub-rvore mostra.
Cada n precedido por um sinal de + em cinza claro indica que no existe itens
dependentes do n.
Cada objeto representado no Object Navigator por um cone que informa
visualmente o tipo do objeto e em alguns casos clicando-se duas vezes sobre este
cone ativa-se o editor apropriado para este objeto.

Uma Viso Geral - 7


Developer/2000 - Forms 4.5
As seguintes operaes so possveis no Object Navigator:

Expandir e esconder entradas na hierarquia


Selecionar objetos
Criar e excluir objetos
Copiar e mover objetos entre mdulos
Mudar entre vises de modo a mostrar os objetos desejados
Localizar rapidamente objetos atravs do Fast Search
Alcanar cdigos associados a objetos seja atravs de triggers ou rotinas

Podemos selecionar comandos do object Navigator pelo menu ou pela barra de


ferramentas que se encontra esquerda da hierarquia. Devemos selecionar o boto
(cone) para executar o comando. Se ficarmos com o mouse parado um pouco mais
sobre o cone, um pequeno help aparecer com a descrio do boto.

A BARRA DE FERRAMENTAS DO NAVIGATOR

Abrir e Copiar e
Salvar o colar propriedades.
mdulo ativo
Executar e Criar ou
Depurar o excluir objetos.
mdulo ativo
Recortar, Expandir ou contrair uma entrada
Copiar e na hierarquia
Colar objetos

Expandir ou contrair diversas


entradas na hierarquia (All).

Uma Viso Geral - 8


Developer/2000 - Forms 4.5

O BOTO DIREITO DO MOUSE


Ao utilizarmos o boto direito do mouse
sobre um dos objetos apresentados no
navegador, ser apresentado um menu
(atalho) que permitir a apresentao
das propriedades do objeto, o acesso
ao editor de Layout ou ao editor de
PL/SQL.

PROPRIEDADES DE UM OBJETO

A Janela de Propriedades est disponvel para todos os objetos do Oracle Forms.

A Janela de propriedades pode ser chamada invocando o menu Tools -> Properties
ou clicando-se 2 vezes no cone do elemento do Object Navigator.

A propriedade corrente informada


ToolBar
no topo da janela onde pode ser
alterada digitando-se o novo valor ou
usando o mouse para selecionar um
item da lista (quando houver). Valor da
Propriedade
Caso o valor de uma propriedade seja Corrente
oriundo de uma classe, o mesmo ser
apresentado com um sinal de = na
frente do texto da propriedade.

Cada janela de propriedades tem


uma pequena toolbar associada
que ser utilizada na criao e manuteno de classes.

Uma Viso Geral - 9


Developer/2000 - Forms 4.5

PASSO A PASSO - CRIANDO UMA APLICAO


ETAPAS
Os passos a seguir so necessrios para a criao de um Form no Oracle Forms
Designer.

1. Iniciar o produto F45DES.

2. Criar um novo Form ou utilizar o MODULE 1 criado por default pelo Oracle Forms.

3. Fazer a conexo ao banco de dados.

4. Criar um bloco do tipo base table. (Os itens sero criados simultaneamente).

5. Usar o editor grfico (Layout) para rearrumar os itens e acrescentar outros, tais
como: buttons e itens no associados tabela bsica.

6. Refinar a funcionalidade do Form: alterar propriedades dos objetos e criar objetos


adicionais, tais como itens de controle, canvas-view, windows secundrias, alerts,
editors e lista de valores.

7. Definir os triggers necessrios para modificar ou aumentar a funcionalidade default


da aplicao.

8. Salvar, gerar (generate) e executar o Form.

As pginas seguintes faro a seqncia passo a passo para a criao de uma


aplicao bsica.

Uma Viso Geral - 10


Developer/2000 - Forms 4.5

1 - INICIAR O PRODUTO F45DES

Double-click no cone do Oracle Forms Designer.


Oracle Forms ir apresentar o Object Navigator para permitir que se escolha
um mdulo existente.
Para encerrar o Designer, deve-se selecionar FILE, EXIT no menu principal. O
Oracle ir perguntar se desejamos salvar ou cancelar as alteraes pendentes
para cada mdulo aberto antes de encerrar.

2 - SELECIONAR A APLICAO / NEW FORM

Neste exemplo utilizaremos o prprio MODULE1 criado, por default, na abertura do


produto.

Uma Viso Geral - 11


Developer/2000 - Forms 4.5

3 - FAZER A CONEXO AO BANCO DE DADOS


A conexo feita atravs da opo Connect no menu File. O dilogo abaixo
apresentado.

Devemos informar o username, password e a string de conexo com o banco de


dados (fornecida pelo DBA da instalao).

Uma Viso Geral - 12


Developer/2000 - Forms 4.5

4 - CRIAR UM BLOCO BASE TABLE


O processo de criao de um Form se inicia pela criao de um bloco. neste objeto
que realizamos a interface com as tabelas ou views do banco de dados.

A incluso do objeto BLOCK pode ser feita atravs do Object Navigator bastando que
selecionemos (click) o n BLOCK e pressionemos a ferramenta CREATE (+) da paleta
de ferramentas do Navigator.

Podemos, ainda, usar a opo New Block no menu Tools.

Ser apresentado um dilogo (para a criao do bloco) subdividido em quatro pastas:

General
Items
Layout
Master Detail

Uma Viso Geral - 13


Developer/2000 - Forms 4.5

A PASTA GENERAL

Base Table - Nome da tabela ou View do banco de dados no qual o bloco se basear.
Caso no seja informado o bloco ser do tipo CONTROL BLOCK.

Block Name - Nome do Bloco.

Select - O primeiro boto SELECT


apresentar os dilogos ao lado para a
seleo da tabela.

O dilogo ao lado permite que


determinemos quais os tipos de objetos
que sero apresentados na lista de
candidatos a Base Table: Tabelas,
Views, Sinnimos apenas do usurio
corrente e/ou de outros usurios.

Aps o preenchimento do
dilogo anterior, sero
apresentados os objetos que
atendam s especificaes
fornecidas (dilogo ao lado).

Uma Viso Geral - 14


Developer/2000 - Forms 4.5
Canvas - Nome da Canvas onde os itens do bloco sero desenhados.

Select - O segundo boto


apresentar um dilogo para a
seleo da CANVAS onde sero
desenhados os itens do bloco.

Sequence ID - Seqncia de
navegao para o bloco na
CANVAS.

Uma Viso Geral - 15


Developer/2000 - Forms 4.5

A PASTA ITEMS
Nesta pasta faremos a escolha dos itens que desejamos adicionar a nosso bloco.

Select Columns - Quando pressionamos este boto so apresentadas as colunas


pertencentes Base Table selecionada.

Para cada item selecionado um conjunto de informaes fornecido:

Label - Representa o ttulo com que o Oracle Forms ir identificar a coluna


quando desenh-la na canvas.

Width - Largura da coluna na unidade de dimensionamento padro da


aplicao.

Type - Indica o tipo de representao da coluna na canvas.

Include - Indica se o Oracle Forms deve ou no selecionar esta coluna para


desenh-la na canvas e cri-la como item do bloco.
A incluso ou no de uma coluna no bloco (e na canvas) pode ser feita, tambm,
com um duplo click sobre a mesma.

Uma Viso Geral - 16


Developer/2000 - Forms 4.5

A PASTA LAYOUT
Nesta pasta escolheremos o tipo do layout que desejamos seja criado (na canvas)
para os itens deste bloco.

Style - Indica a disposio dos itens a serem desenhados pelo Oracle Forms na
canvas. Pode ser Form (o nome de cada item preceder o espao destino a seu
contedo) ou tabular (os nomes de cada item ficaro acima ou ao lado do conjunto de
registros).

cd_mat nm_func vl_sal nr_ramal


Orientation - Indica se os 1
registros sero apresentados 2
verticalmente ou horizontalmente
3
(lateralmente).

cd_mat
Records - Indica a quantidade de registros
nm_func
que o bloco deve apresentar. O valor default
1. Caso seja informado mais de 1, o bloco vl_sal
ser Multi-Record. nr_ramal
1 2 3

Uma Viso Geral - 17


Developer/2000 - Forms 4.5
Spacing - Especifica o espacejamento entre os itens (em caracteres).

Integrity Constraints - Especifica se o Oracle Forms deve efetuar a validao de


constraints definidas para a tabela e coluna do dicionrio do Oracle para o bloco base
table.

O Oracle Forms faz as seguintes operaes quando esta opo selecionada:

Modifica a propriedade PRIMARY KEY para ON e a propriedade UPDATE


ALLOWED para OFF para os itens que correspondem s colunas primary key e
marca a propriedade PRIMARY KEY para o bloco.

Cria um trigger WHEN-VALIDATE-ITEM (para PK simples) ou WHEN-


VALIDATE-RECORD (para PK compostas) para assegurar valores nicos em
itens que correspondam s colunas PK da tabela e para assegurar as constraints
CHECK.

Cria um trigger WHEN-REMOVE-RECORD para o bloco se a tabela possuir


um relacionamento PK-FK com outra tabela. A trigger impede a tentativa de
excluso de um registro quando existirem registros detalhe na tabela relacionada.

Marca a propriedade Default para itens que correspondam s colunas que


tenham constraints do tipo default value.

Button Palette - Especifica que o Oracle Forms deve criar um outro bloco contendo
um conjunto de botes de navegao para o base table block.

Scroll Bar - Especifica se o Oracle Forms deve criar uma barra de rolagem para o
bloco. A opo orientation determina se a barra ser vertical ou horizontal.

Uma Viso Geral - 18


Developer/2000 - Forms 4.5

A PASTA MASTER DETAIL

Master Block - Indica o nome do bloco master ao qual o bloco atual (detail) se
subordinar. O bloco master j deve existir no Form.

Select - Mostra a lista de blocos do Form.

Join Condition - Especifica a condio de ligao (relacionamento) entre um registro


detalhe e um registro principal(master).

Uma vez especificadas as opes desejadas, devemos pressionar o boto OK para


que o Oracle Forms gere o bloco e os itens para cada coluna da tabela que tenha
sido selecionada.

Uma Viso Geral - 19


Developer/2000 - Forms 4.5

5 - USAR O EDITOR DE LAYOUT


Esta etapa ser vista posteriormente.

6 - REFINAR A FUNCIONALIDADE DO FORM - PROPRIEDADES


Esta etapa ser vista posteriormente.

7 - REFINAR A FUNCIONALIDADE DO FORM - TRIGGERS


Esta etapa ser vista posteriormente.

Uma Viso Geral - 20


Developer/2000 - Forms 4.5

8.1 - SALVAR A APLICAO


Usar o boto correspondente na barra de ferramentas do Navigator ou a opo Save
do menu File.

8.2 - GERAR A APLICAO


A etapa de gerao da aplicao tem a finalidade de validao e criao do .FMX
para posterior execuo pelo aplicativo F45Run. Para tal devemos usar a opo
Generate do sub-menu Administration do menu File.

8.3 - EXECUTAR A APLICAO


A execuo pode ser feita com a ferramenta adequada na barra de ferramentas do
Navigator ou com a opo Run do menu File.

Ser apresentada uma tela composta dos itens selecionados, da barra de botes
(button palette), barra de rolagem (scroll bar) e menu.

Neste menu esto presentes todas as aes que podemos realizar no Form gerado,
ou seja, a funcionalidade default criada pelo Oracle Forms.

Veremos a seguir algumas destas aes.

Uma Viso Geral - 21


Developer/2000 - Forms 4.5

8.4 - NAVEGANDO PELO MENU DA APLICAO GERADA

ACTION
Clear All - limpa (esvazia) todos os itens do(s) bloco(s).

Save - Efetiva as modificaes feitas no registro para o database.

Print - Imprime a imagem da tela.

Exit - Encerra a aplicao.

EDIT
Cut/ Copy/Paste - Estas funes se aplicam ao item (campo) que detm o
foco.

Edit - Chama o editor associado ao item ou o editor default do Oracle Forms.


til quando o tamanho do campo na tela menor que o tamanho da coluna no
banco de dados.

Uma Viso Geral - 22


Developer/2000 - Forms 4.5

BLOCK
Previous/Next - Navega para o prximo bloco ou para o bloco anterior.

Clear - Limpa (esvazia) todos os itens do bloco que detm o foco.

FIELD
Previous/Next - Navega para o prximo /anterior campo em relao quele
que detm o foco.

Clear - Limpa (esvazia) o item (campo) com o foco.

Duplicate - Associa ao item corrente o valor do item correspondente no


registro anterior.

RECORD
Previous/Next - Navega para o prximo/anterior registro do bloco que detm o
foco.

Scroll Down/Up - Rola os registros para frente ou para trs. Se o bloco do


tipo single record, a rolagem de 1 em 1.

Clear - Faz com que o Oracle Forms retire o registro do bloco. O registro no
removido da tabela.

Remove - Retira o registro do bloco e coloca-o numa lista de registros a serem


removidos do banco de dados.

Duplicate - Copia os valores de cada um dos itens do registro anterior.

Insert - Cria um novo registro(vazio) aps o registro corrente. O Oracle dirige o


foco para este novo registro.

Lock - Tenta bloquear (lock) o registro corrente no banco de dados.

Uma Viso Geral - 23


Developer/2000 - Forms 4.5

QUERY
Enter - Limpa todos os registros do bloco corrente e coloca o Form no modo
Enter Query. Se houverem modificaes pendentes para a base de dados
(incluses, excluses ou alteraes), ser apresentado ao operador um dilogo
solicitando que seja feito um commit.

Execute - Limpa todos os registros do bloco corrente (caso no tenha sido


feito anteriormente pelo Enter Query). Executa a query correspondente ao bloco e
obtm os registros (preenchendo o buffer de dados). Se houverem modificaes
pendentes para a base de dados (incluses, excluses ou alteraes), ser
apresentado ao operador um dilogo solicitando que seja feito um commit.

Last Criteria - Volta ao modo de enter query.

Cancel - Cancela a query corrente, saindo do modo Enter query.

Count Hits - Conta a quantidade de registros que a query ir obter para o


bloco corrente.

Fetch Next Set - Obtm o prximo conjunto de registros a serem mostrados


pela query.

HELP
Help - Esta opo mostra na linha de mensagem o texto Hint do item no qual
est o foco (default) ou o texto de ajuda associado pelo programador.

Keys - apresentada uma janela com o conjunto de teclas vlidas no local


que o usurio se encontra.

List - apresentada uma lista de valores (Lov) associada ao item no qual est
o foco.

Display Error - apresentada uma janela contendo o erro que causou a


interrupo do processamento. Se no houver erro quando esta opo for
acionada o Oracle Forms ignora a chamada e no mostra a tela Display Error.

Debug - Esta opo s estar disponvel quando marcada a tempo de


Designer. Interrompe a execuo do programa e apresenta informaes a respeito
do ambiente. O modo de depurao de um programa ser assunto para estudo
posterior.

Uma Viso Geral - 24


Developer/2000 - Forms 4.5

A paleta de botes includa no bloco possui a seguinte funcionalidade :

Query - A primeira vez que pressionamos este boto executado um enter


query. Na segunda vez executado um execute query.

>> Rolagem para o prximo conjunto de registros.

> Prximo registro.

< Registro anterior.

<< Rolagem para o conjunto anterior de registros.

Save - Realiza uma operao de Commit, efetivando na base de dados todas


as modificaes ocorridas para o bloco.

Uma Viso Geral - 25


Developer/2000 - Forms 4.5

Captulo 2 : FUNCIONALIDADE DO FORMS


BLOCOS
Cada item ( text item, image item, radio group, etc. ) no Oracle Forms pertence a um
bloco.

Devemos criar um bloco antes de criar os itens associados quele bloco. No existe
limite para o nmero de blocos que podem ser definidos em um Form.

Blocos nada mais so que um mecanismo de manipulao de itens relacionados. Da


mesma forma que as tabelas possuem colunas e linhas, blocos consistem de itens
relacionados que armazenam dados em RECORDS. As propriedades do bloco
determinam a funcionalidade dos itens contidos no mesmo.

Um bloco somente um grupamento lgico. Os itens dentro deste bloco podem ser
colocados em diferentes canvas e podem ser mostrados em janelas diferentes.

CRIANDO BLOCOS
A criao dos blocos pode ser feita com a ferramenta CREATE (+) presente na barra
de ferramentas do Navigator ou com a opo New Block do menu Tools.

EXCLUINDO BLOCOS
Podemos remover um bloco (a tempo de Design) da seguinte forma:

No Object Navigator selecionar o objeto.


Teclar [Delete] ou usar a ferramenta Delete(X) na paleta de ferramentas do
Navigator.

A remoo de um bloco implica na excluso de todos os itens que o bloco contm e


todos os triggers associados ao bloco ou a seus itens. Se o bloco pertence a uma
relao Master-Detail, a relao removida tambm.

Funcionalidade do Forms - 26
Developer/2000 - Forms 4.5
Os blocos podem ser de 2 tipos:

BASE TABLE BLOCK


um bloco associado a uma tabela ou view especfica.

Um ou mais itens deste bloco se relacionam diretamente a colunas na tabela ou view


correspondente. Estes itens so chamados de base table itens.

Por default, o Oracle gera rotinas para consultar, alterar, incluir ou excluir linhas nas
tabelas associadas a este tipo de bloco.

Um base table block pode conter itens de controle e itens de tabela.

CONTROL BLOCK
Um Control Block um bloco que no est associado a uma tabela do database,
portanto, os itens em um Control Block no esto associados a colunas da base de
dados.

Um CONTROL BLOCK contm somente itens de controle.

Os itens de controle possuem uma variedade de usos:

Totais, mdias, sumrios, etc.

Valores de outra tabela no associada ao bloco.

Entrada de valores requerida pela aplicao.

Buttons e Charts, no armazenam valores e desta forma no se relacionam a


colunas no database, logo, so sempre itens de controle.

Funcionalidade do Forms - 27
Developer/2000 - Forms 4.5

PROPRIEDADES DOS BLOCOS


Os blocos possuem um conjunto de propriedades que definiro sua funcionalidade no
Forms.

As propriedades so apresentadas separadas em grupos.

Algumas destas propriedades j foram vistas anteriormente, no momento da criao


do bloco e podero ser modificadas, como veremos a seguir.

Funcionalidade do Forms - 28
Developer/2000 - Forms 4.5

Name - nome do bloco


Class - especifica o nome da classe qual o objeto ser associado.

DISPLAY
Scroll Bar - indica se o Oracle Forms deve criar uma barra de rolagem para o
bloco. Quando esta propriedade True o Oracle Forms cria a barra na canvas
nomeada na propriedade Scroll Bar Canvas.

Scroll Bar Canvas - indica o nome da canvas na qual desejamos que a barra
seja colocada. A barra separada dos itens do bloco e pode ser apresentada em
qualquer canvas do form. Tanto blocos MULTI-RECORD como SINGLE-RECORD
podem ter uma Scroll Bar.

Scroll Bar Orientation - indica se a barra de rolagem ser vertical ou


horizontal.

Scroll Bar X Position - indica o posicionamento do canto esquerdo superior


da barra em relao CANVAS (eixo X). Default 0.

Scroll Bar y Position - idem ao anterior (eixo Y). Default 0.

Scroll Bar Width - largura da barra. Default 2.

Scroll Bar Height - altura da barra. Default 10.

Reverse Direction - especifica que a barra de rolagem deve funcionar em sentido


inverso.

Visual Atribute Name - indica o nome de um atributo visual para o objeto.

Funcionalidade do Forms - 29
Developer/2000 - Forms 4.5

Font Name - nome da fonte usada para textos no objeto.

Font Size - tamanho da fonte, especificado em points.

Font Style - estilo da fonte (itlico, plain, underline, etc.).

Font Width - largura da fonte (Normal, Expand, Dense, etc.).

Font Weigth - granulao da cor da fonte (Bold, Medium, Ligth, etc.).

Foreground Color - cor da regio do objeto de foreground. Para itens a cor do


texto.

Background Color - cor de fundo do objeto (background).

Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada com
as cores definidas pelos atributos Foreground Color e Background Color.

Charmode Logical Attribute - especifica o nome de um atributo definido em


um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).

White on Black - indica que o objeto ser visto em um vdeo monocromtico


(texto branco sobre fundo preto).

Current Record Attribute - indica o nome de um atributo visual usado quando


o item for parte do registro corrente.

RECORDS
Records Displayed - determina o nmero mximo de registros que sero
visveis no bloco. O default 1.

Records Orientation - determina a orientao dos registros no bloco


(VERTICAL ou HORIZONTAL). S vlido para blocos multi-record.

Funcionalidade do Forms - 30
Developer/2000 - Forms 4.5

NAVIGATION
Navigational Style - indica como uma operao next item, ou um previous
item processada entre o ltimo item navegvel e o primeiro item navegvel de
um bloco.

Same Record (default) - A operao NEXT ITEM (do ltimo item para o
primeiro) move o foco para o primeiro item navegvel no bloco
conservando o mesmo registro.

Change Record - A operao NEXT ITEM (do ltimo item para o primeiro)
move o foco para o primeiro item navegvel no bloco no prximo registro.
Se o registro atual for o ltimo, o Oracle cria um novo registro.

Change Block - A operao NEXT ITEM do ltimo item de um bloco move


o foco para o primeiro item navegvel no primeiro registro do prximo
bloco.

Next Navigation Block - indica o prximo bloco na seqncia de navegao.


Esta propriedade permite que indiquemos um nome de bloco independente da
seqncia (sequence ID) especificada pelo Oracle.

Previous Navigation Block - indica o bloco anterior na seqncia de


navegao. Esta propriedade permite que indiquemos um nome de bloco
independente da seqncia (sequence ID) especificada pelo Oracle.

Funcionalidade do Forms - 31
Developer/2000 - Forms 4.5

DATABASE
Base Table - nome da tabela da base de dados associada ao bloco.

Primary Key - indica que existem itens PK no bloco para os quais o Oracle
Forms deve assegurar valores nicos. Os itens que correspondem s PK devem
ter a propriedade Primary Key setada a nvel de item.

Column Security - quando esta opo setada, o operador (a tempo de


execuo) dever ter o privilgio de UPDATE para as colunas correspondentes
aos itens do bloco.

Delete allowed - indica se haver excluso de rows no bloco (na tabela


correspondente na base de dados).

Insert Allowed - indica se haver incluso de rows no bloco (na tabela


correspondente na base de dados).

Query Allowed - indica se haver consulta de rows no bloco (na tabela


correspondente na base de dados).

WHERE Clause - a tempo de execuo o Oracle Forms executar esta


condio quando uma consulta for feita para este bloco. Por default a consulta
irrestrita, ou seja, todas as rows so selecionadas da base table.

ORDER BY Clause - indica a ordem das rows selecionadas.

Optimizer Hint - especifica a hint string a ser passada para o otimizador


Oracle a tempo de construo das queries.

Records Buffered - especifica o nmero mnimo de registros bufferizados em


memria que o Oracle Forms dever armazenar durante a query no bloco. (a este
valor ser acrescido 3).

Records Fetched - especifica o nmero mximo de registros que o Oracle Forms


dever obter do database de cada vez para popular o bloco durante uma consulta.

Funcionalidade do Forms - 32
Developer/2000 - Forms 4.5
Update Allowed - indica se haver alterao de rows no bloco (na tabela
correspondente na base de dados).

Update Changed Columns - quando os registros so marcados como


alterados, indica que somente as colunas modificadas sero includas no comando
SQL UPDATE. O defaut False, ou seja, todas as colunas so includas no
comando de atualizao.

Key Mode - indica como o Oracle identifica a unicidade das rows (propriedade
especfica para databases non-Oracle). Para databases Oracle mantenha o valor
em Unique (default).

Locking Mode - indica se o Oracle deve lock o registro no database durante o


processamento do Form. A opo immediate (default) indica que o Oracle deve
tentar bloquear o registro logo que o operador modificar um item do registro. A
opo delayed indica que o lock ocorrer s quando a transao for posted para o
database.

Transactional Triggers - identifica um bloco como um transactional control block,


isto , um no database block que o Oracle deve gerenciar como um transactional block.
Esta propriedade especfica para aplicaes que iro usar databases no Oracle o
objetivo simular um base table block.

FUNCTIONAL
Direction - especifica a direo de desenvolvimento do objeto (para NLS
applications).

MISCELLANEOUS
In Menu - esta opo, quando setada, permitir que o operador (a tempo de
execuo) selecione uma lista de blocos pressionando a tecla [BLOCK MENU] e
que navegue para qualquer um daqueles da lista. Na lista sero mostrados os
nomes dos blocos, que podero ser substitudos pelo texto descrito na propriedade
Block Description.

Block Description - descrio do bloco a ser mostrada na lista de blocos


mostrados com a tecla [BLOCK MENU].

Reference Information - indica o objeto ao qual este se refere (mdulo,


localizao e nome).

Funcionalidade do Forms - 33
Developer/2000 - Forms 4.5

ITENS
Os itens so os objetos que apresentam informaes para os operadores, iniciam
uma ao, armazenam valores, mostram imagens, etc. Tanto podem representar a
interface entre os operadores e a aplicao, quanto ser utilizados como elementos de
trabalho para a aplicao.

TIPOS DE ITENS

BUTTON
Um retngulo com um texto ou um cone
grfico. Os buttons tem o objetivo de
iniciar aes ou executar comandos.
DISPLAY ITEM
Um item read-only cujo valor deve ser
preenchido por programao.
CHECK BOX
Um label com um indicador de estado
que indica o valor corrente (checado ou
no).
IMAGE
Um retngulo com bordas, de qualquer tamanho que mostra imagens armazenadas
no database ou em arquivo.
CHART ITEM
Um retngulo com bordas, de qualquer tamanho que mostra um grfico gerado pelo
Oracle Graphics. Um operador no pode navegar para ou manipular chart itens.
LIST ITEM
Uma lista de opes. Sua funcionalidade pode ser a de uma Pop-list, uma Text-list ou
uma combo box.
RADIO GROUP
um controle que mostra um nmero fixo de opes que so mutuamente exclusivas.
Cada opo representada por um radio button individual.

Funcionalidade do Forms - 34
Developer/2000 - Forms 4.5

TEXT ITEM (DEFAUT)


Um campo para textos simples ou multi-line.

USER AREA
Um retngulo com bordas de qualquer tamanho. O display e a funcionalidade de uma
user area controlado por uma user exit escrita em uma 3GL que , ento, linkada ao
Form.

VBX CONTROL
Foram, originalmente, desenvolvidos como extenses ao MS Visual Basic e incluem
itens como sliders, grids, etc.

So distribudos em bibliotecas com a extenso .VBX. Cada VBX define um conjunto


de propriedades, eventos, mtodos e mensagens de erro, que devem ser
pesquisadas na documentao especfica fornecida pelo fabricante.

OLE CONTAINER
OLE (Object Linking and Embedding) prov a capacidade de integrarmos objetos de
muitos programas de aplicao em um nico documento.

Uma OLE server application cria objetos OLE que so embutidos ou ligados a uma
OLE container application, as quais armazenam e mostram objetos OLE.

As aplicaes podem ser OLE server, OLE container ou ambas. O Oracle Forms
uma aplicao OLE container e o Oracle Graphics e o Microsoft Word so exemplos
de aplicaes OLE server.

Um objeto OLE est embutido ou ligado a um OLE container, ou seja, um item no


Oracle Forms.

No Oracle Forms os objetos do tipo embutido so parte do Form, enquanto objetos do


tipo ligao (linked) so referncias de um Form a um linked source file.

Funcionalidade do Forms - 35
Developer/2000 - Forms 4.5

CRIANDO ITENS NO FORMS


Existem 3 modos de criarmos um item no Oracle Forms:

Criando um bloco do tipo Base Table. O Oracle Forms criar,


automaticamente, os itens selecionados.

Definindo um novo item a partir do Object Navigator.

Desenhando-se um novo item diretamente na canvas desejada com o editor


Layout.

EXCLUINDO ITENS DO FORM


Para excluir um item fazemos o seguinte:

No Object Navigator escolhemos o item desejado e usamos a tecla [Delete] ou


a ferramenta Delete (X) da paleta.

No editor de Layout, basta que faamos a seleo do item desejado e usemos


a tecla [Delete].

Funcionalidade do Forms - 36
Developer/2000 - Forms 4.5

PROPRIEDADES DOS ITENS


Para obtermos a tela de propriedades de um item devemos selecion-lo, usar o boto
direito do mouse e escolher a opo PROPERTIES ou dar um click duplo sobre o
cone correspondente ao item no Object Navigator.

Funcionalidade do Forms - 37
Developer/2000 - Forms 4.5

TEXT ITEM
Name - nome do item.
Class - nome da classe do item.

TYPE
Item Type - Text Item

DISPLAY
Canvas - nome da canvas em que o item ser mostrado.
Displayed - indica se o item ser mostrado na execuo. Default TRUE.
X e Y Position - marca a localizao do canto esquerdo superior do retngulo
que envolve o item nas canvas que o item est associado.
Width e Height - correspondem especificao de comprimento (Width) e
altura (Height), do item, ou seja, sua representao na canvas.
Space Between Records - indica o espao entre os registros na canvas para
blocos multi-record.
Bevel - Indica se o item ter aspecto tridimensional.
Rendered - indica que o item ser mostrado como um rendered object quando
ele no estiver como foco.
Visual Atribute Name - indica o nome de um atributo visual para o objeto.
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background)
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).
Current Record Attribute - indica o nome de um atributo visual usado quando
o item for parte do registro corrente.

Funcionalidade do Forms - 38
Developer/2000 - Forms 4.5

DATA
Mirror item - especifica o nome do item do qual o item corrente derivado.
Esta propriedade sincroniza o valor de ambos os itens uma vez que quando o
operador altera o valor de um deles o outro, automaticamente, se altera tambm.
Como restrio temos que os itens devem estar no mesmo bloco.
Data Type - tipos de valores que o item pode armazenar.

ITEM TIPOS DE DADOS VLIDOS RECOMENDADOS


CHECK BOX CHAR, DATE, NUMBER
DISPLAY ITEM CHAR, DATE, NUMBER
RADIO GROUP CHAR, DATE, NUMBER
LIST TEM CHAR, DATE, NUMBER
TEXT ITEM CHAR, NUMBER, DATE, LONG

Maximum Length - o nmero mximo de caracteres que um item pode


armazenar.
Fixed Length - quando esta propriedade TRUE, obriga que o operador ao informar
um contedo para o item preencha-o no tamanho mximo (ex.: CEP).
Required - quando esta propriedade est TRUE obriga o operador a
preencher o campo :

operador no pode navegar para fora do item (pressionando [NEXT ITEM])


at que informe um valor vlido.
operador no poder COMMIT o registro at que o item requerido seja
preenchido.

Format Mask - mscara para formatao do item tanto para display quanto
para input. Aplicveis a itens do tipo NUMBER, DATE, TIME e DATETIME.

Possui os seguintes smbolos vlidos para NUMBER:

9 um caracter numrico. O nmero de noves determina


o tamanho do campo.
0 mostra os zeros quando presente.
$ prefixa o nmero com o smbolo $.
B mostra os zeros esquerda como brancos.
MI mostra - aps um valor negativo.
PR mostra um valor negativo entre < e >.
, mostra uma vrgula na posio desejada.
. mostra um ponto decimal na posio desejada.

Os principais smbolos para itens DATE so:

Funcionalidade do Forms - 39
Developer/2000 - Forms 4.5

MM ms (de 1 a 12)
Mon nome do ms abreviado para 3 letras.
Month nome do ms (9 caracteres)
DD dia (1 a 31)
DY nome do dia (3 letras)
Day nome do dia (9 caracteres)
YYYY, YYY, YY, Y 4, 3, 2 ou 1 caracter do ano.
HH ou HH12 hora do dia (1 a 12)
HH24 hora do dia (0 a 23)
MI minuto (0-59)
SS segundo (0-59)

Range Low/High Value - determina o valor mximo/mnimo (inclusive) para o


item.
Default Value - um valor default para o item, que deve ser compatvel com o
tipo do item. O valor default pode ser um dos seguintes:

raw value ( 216, TOKYO )


$$DATE$$, $$DBDATE$$, $$DATETIME$$, $$DBDATETIME$$
Form item (:nome-bloco.nome-item)
global variable (:Global. Teste)
Form parameter (:PARAMETER.parm )
sequence (:SEQUENCE.seq.NEXTVAL)

Copy Value From Item - identifica a origem do valor para popular o item. Em
uma relao master-detail, o Oracle marca esta propriedade automaticamente no
item foreign key no bloco detalhe. Neste caso informado o nome da primary key
do bloco master, cujo valor copiado para o item foreign key quando um registro
criado ou consultado.

Funcionalidade do Forms - 40
Developer/2000 - Forms 4.5

RECORDS
Items Displayed - especifica o nmero de instncias mostradas para o item
quando o mesmo pertencer a um bloco multi-record.

NAVIGATION
Enabled - determina se o operador poder usar o mouse para manipular um
item que tenha a propriedade NAVIGABLE setada para OFF. A tabela abaixo
mostra a relao entre ENABLED e NAVIGABLE

NAVIGABLE ENABLED RESULTADO


ON ON O item navegvel e o Oracle Forms pode mover o foco
para o item durante o processo de navegao default. O item
apresentado normalmente.
OFF ON O item no navegvel. Durante a navegao default o
Oracle pula o item para o prximo navegvel da seqncia. O
item mostrado normalmente e o operador pode navegar
para ele e manipular o item com o mouse.
OFF OFF O item no navegvel e apresentado com contraste
reduzido para indicar que ele no est disponvel para input
ou manipulao com o mouse.

Navigable - indica se o operador poder ou no navegar para este item.


Next Navigation Item - prximo item na seqncia de navegao em relao a
este.
Previous Navigation Item - item anterior na seqncia de navegao em relao a
este.

Funcionalidade do Forms - 41
Developer/2000 - Forms 4.5

Database
Base Table Item - indica se o item correspondente a uma coluna na base table do
bloco.
Query Only - indica se o item ser exclusivamente para consulta.
Primary Key - deve ser setado para TRUE para todos os itens que
correspondam a PK na base table do bloco.
Insert Allowed - determina se o operador poder modificar o valor do item em
um registro novo.
Query Allowed - indica que o operador poder navegar para o item quando
estiver no modo de ENTER QUERY. Quando um Form est no modo ENTER
QUERY, o Oracle pula todos os campos que tem a propriedade Query Allowed
OFF, mesmo se os itens forem navegveis normalmente.
Query Length - especifica o nmero de caracteres que um operador poder
informar para pesquisa quando o Forms estiver no modo ENTER QUERY.
Case Insensitive Query - se aplica somente a text items e indica que o Oracle
deve tratar letras minsculas e maisculas do mesmo modo quando processar um
query.
Update Allowed - mutuamente exclusivo com UPDATE IF NULL. Especifica
que o valor do item poder ser alterado independente do seu contedo.
Update Only If Null - mutualmente exclusivo com UPDATE ALLOWED.
Especifica que o valor do item somente poder ser alterado se for NULL.
Lock Record - especifica que o Oracle deve tentar lock a row no database que
corresponda ao registro corrente no bloco quando o valor do item for modificado,
seja pelo operador ou por programao.

Funcionalidade do Forms - 42
Developer/2000 - Forms 4.5

FUNCTIONAL
Case Restriction - esta opo aplicvel apenas a valores informados pelo
operador, ou seja, no altera valores lidos da base ou associados pela
programao.

mixed O Oracle Forms mostra o texto como ele informado.


upper O Oracle Forms converte letra minscula para maiscula.
lower O Oracle Forms converte letra maiscula para minscula.

Alignment - alinhamento do texto dentro do campo(start, left, right, center,


end).
Multi-Line - permite que um item armazene mltiplas linhas de texto. Esta
opo no torna o item possvel de apresentar mltiplas linhas. para isto devemos
alterar o tamanho, altura, etc. do item.
Wrap Style - determina o estilo de apresentao do texto:

word(default) O texto quebrado entre palavras.


character O texto quebrado ao trmino da linha (entre caracteres).
none. O texto no apresentado entre linhas.

Secure - torna o texto que o operador digita invisvel. Usado para password
protection.
Keep Position - quando esta propriedade TRUE, o Oracle coloca o cursor
no item exatamente onde ele estava na ltima vez que este item recebeu o foco
nesta sesso.
Auto Skip - com esta propriedade TRUE, o foco automaticamente se move
para o prximo item navegvel quando o operador entra ou altera o ltimo caracter
do item (tamanho mximo).
Reading Order - ordem de leitura, que pode ser Default, Left-to-Right ou Right-to-
Left.
Initial Keyboard State - indica o estado inicial do teclado para o item.
Somente vlido para aplicaes NLS.

default baseado no valor do Reading Order.


local Right ou Left.
roman Left to Right.

Vertical Scroll Bar - indica se deve ser criada uma barra de rolagem para o item.

Funcionalidade do Forms - 43
Developer/2000 - Forms 4.5

Miscellaneous
LOV - especifica o nome de um LOV (list of value) a ser associado ao item.
LOV X E Y Position - localizao da apresentao do Lov quando acionado
por este item.
LOV for Validation - indica se os valores apresentados pelo Lov sero os
nicos aceitveis para o item.
Editor - especifica o nome de um editor a ser associado ao item. Para usar o
editor default do sistema deve-se preencher com SYSTEM - EDITOR.
Editor X E Y Position - localizao da apresentao do editor quando
acionado por este item.
Hint - texto a ser apresentado na linha de mensagem quando o operador se
posicionar no item.
Auto Hint - marcando esta propriedade o Oracle mostra o contedo da
propriedade Hint quando o foco passa para o item. Desmarcando-se esta opo o
Oracle mostrar o contedo do Hint quando o operador teclar [HELP] ou
selecionar a opo HELP do menu default enquanto posicionado sobre o item.
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Funcionalidade do Forms - 44
Developer/2000 - Forms 4.5

BUTTONS
Name - nome do item.
Class - nome da classe do item.

TYPE
Item Type Button

DISPLAY
Canvas - nome da canvas em que o item ser mostrado.
Displayed - indica se um item ser mostrado a tempo de execuo. O default
TRUE.
X e Y Position - marca a localizao do canto esquerdo superior do retngulo
que envolve o item nas canvas que o item est associado.
Width e Height - correspondem especificao de comprimento (Width) e
altura (Height), do item, ou seja, sua representao na canvas.
Space Between Records - indica o espao entre os registros na canvas para
blocos multi-record.
Visual Atribute Name - indica o nome de um atributo visual para o objeto.
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.).
Font Width - largura da fonte (Normal, Expand, Dense, etc.).
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.).
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background).
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).

Funcionalidade do Forms - 45
Developer/2000 - Forms 4.5

RECORDS
Items Displayed - especifica o nmero de instncias mostradas para o item
quando o mesmo pertencer a um bloco multi-record.

NAVIGATION
Enabled - determina se o operador poder usar o mouse para manipular um
item que tenha a propriedade NAVIGABLE setada para OFF. A tabela abaixo
mostra a relao entre ENABLED e NAVIGABLE

NAVIGABLE ENABLED RESULTADO


ON ON O item navegvel e o Oracle Forms pode mover o foco
para o item durante o processo de navegao default. O item
apresentado normalmente.
OFF ON O item no navegvel. Durante a navegao default o
Oracle pula o item para o prximo navegvel da seqncia. O
item mostrado normalmente e o operador pode navegar
para ele e manipular o item com o mouse.
OFF OFF O item no navegvel e apresentado com contraste
reduzido para indicar que ele no est disponvel para input
ou manipulao com o mouse.

Navigable - indica se o operador poder ou no navegar para este item.


Mouse Navigate - indica se o operador poder ou no navegar para este item
com o mouse, isto , se o Oracle Forms deve direcionar o foco para o item.
Next Navigation Item - prximo item na seqncia de navegao em relao a
este.
Previous Navigation Item - item anterior na seqncia de navegao em relao a
este.

Funcionalidade do Forms - 46
Developer/2000 - Forms 4.5

FUNCTIONAL
Access Key - especifica o caracter que ser a chave de acesso, permitindo
que a operador faa acesso ao item pressionando uma combinao de teclas. (ex.:
ALT-C). O caracter faz parte do label.
Direction - especifica a direo de desenvolvimento do objeto (para NLS
applications).
Label - texto a ser apresentado no boto.
Iconic - indica que o boto deve receber cone
Icon Name - nome do arquivo do cone.
Default Button - indica que o boto deve ser o default.

MISCELLANEOUS
Hint - texto a ser apresentado na linha de mensagem quando o operador se
posicionar no item.
Auto Hint - marcando esta propriedade o Oracle mostra o contedo da
propriedade Hint quando o foco passa para o item. Desmarcando-se esta opo o
Oracle mostrar o contedo do Hint quando o operador teclar [HELP] ou
selecionar a opo HELP do menu default enquanto posicionado sobre o item.
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Funcionalidade do Forms - 47
Developer/2000 - Forms 4.5

CHECK BOXES
Name - nome do item.
Class - nome da classe do item.

TYPE
Item Type - Check Box

DISPLAY
Canvas - nome da canvas em que o item ser mostrado.
Displayed - indica se um item ser mostrado a tempo de execuo. O default
TRUE.
X e Y Position - marca a localizao do canto esquerdo superior do retngulo
que envolve o item nas canvas que o item est associado.
Width e Height - correspondem especificao de comprimento (Width) e
altura (Height), do item, ou seja, sua representao na canvas.
Space Between Records - indica o espao entre os registros na canvas para
blocos multi-record.
Visual Atribute Name - indica o nome de um atributo visual para o objeto.
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background)
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).
Current Record Attribute - indica o nome de um atributo visual usado quando
o item for parte do registro corrente.

Funcionalidade do Forms - 48
Developer/2000 - Forms 4.5

DATA
Mirror item - especifica o nome do item do qual o item corrente derivado.
Esta propriedade sincroniza o valor de ambos os itens uma vez que quando o
operador altera o valor de um deles o outro, automaticamente, se altera tambm.
Como restrio temos que os itens devem estar no mesmo bloco.
Data Type - tipos de valores que o item pode armazenar. (Char, Date,
Number).
Maximum Length - o nmero mximo de caracteres que um item pode
armazenar.
Default Value - um valor default para o item, que deve ser compatvel com o
tipo do item.
Copy Value from Item - identifica a origem do valor para popular o item. Em
uma relao master-detail, o Oracle seta esta propriedade automaticamente no
item foreign key no bloco detalhe. Neste caso informado o nome da primary key
do bloco master, cujo valor copiado para o item foreign key quando um registro
criado ou consultado.

RECORDS
Items Displayed - especifica o nmero de instncias mostradas para o item
quando o mesmo pertencer a um bloco multi-record.

Funcionalidade do Forms - 49
Developer/2000 - Forms 4.5

NAVIGATION
Enabled - determina se o operador poder usar o mouse para manipular um
item que tenha a propriedade NAVIGABLE setada para OFF. A tabela abaixo
mostra a relao entre ENABLED e NAVIGABLE

NAVIGABLE ENABLED RESULTADO


ON ON O item navegvel e o Oracle Forms pode mover o foco
para o item durante o processo de navegao default. O item
apresentado normalmente.
OFF ON O item no navegvel. Durante a navegao default o
Oracle pula o item para o prximo navegvel da seqncia. O
item mostrado normalmente e o operador pode navegar
para ele e manipular o item com o mouse.
OFF OFF O item no navegvel e apresentado com contraste
reduzido para indicar que ele no est disponvel para input
ou manipulao com o mouse.

Navigable - indica se o operador poder ou no navegar para este item.


Mouse Navigate - indica se o operador poder ou no navegar para este item
com o mouse, isto , se o Oracle Forms deve direcionar o foco para o item.
Next Navigation Item - prximo item na seqncia de navegao em relao a
este.
Previous Navigation Item - item anterior na seqncia de navegao em relao a
este.

DATABASE
Base Table Item - indica se o item correspondente a uma coluna na base table do
bloco.
Query Only - indica se o item ser exclusivamente para consulta.
Primary Key - deve ser setado para TRUE para todos os itens que
correspondam a PK na base table do bloco.
Insert Allowed - determina se o operador poder modificar o valor do item em
um registro novo.
Query Allowed - indica que o operador poder navegar para o item quando
estiver no modo de ENTER QUERY. Quando um Form est no modo ENTER
QUERY, o Oracle pula todos os campos que tem a propriedade Query Allowed
OFF, mesmo se os itens forem navegveis normalmente.
Update Allowed - mutuamente exclusivo com UPDATE IF NULL. Especifica
que o valor do item poder ser alterado independente do seu contedo.

Funcionalidade do Forms - 50
Developer/2000 - Forms 4.5

FUNCTIONAL
Access Key - especifica o caracter que ser a chave de acesso, permitindo
que o operador faa acesso ao item pressionando uma combinao de teclas. (ex.:
ALT-C). O caracter faz parte do label.
Direction - especifica a direo de desenvolvimento do objeto (para NLS
applications).
Label - texto a ser mostrado ao lado do Check Box.
Checked Value - valor que ser considerado estado Checked para o Check Box.
Unchecked Value - valor que ser considerado estado Unchecked para o Check
Box.
Check Box Other Values - indica que se outros valores forem lidos ou
atribudos ao item Check Box. O estado do Check Box deve ser:

Not Allowed O valor ser rejeitado, havendo um erro.


Checked O valor ser considerado Checked.
Unchecked O valor ser considerado Unchecked.

MISCELLANEOUS
Hint - texto a ser apresentado na linha de mensagem quando o operador se
posicionar no item.
Auto Hint - marcando esta propriedade o Oracle mostra o contedo da
propriedade Hint quando o foco passa para o item. Desmarcando-se esta opo o
Oracle mostrar o contedo do Hint quando o operador teclar [HELP] ou selecionar
a opo HELP do menu default enquanto posicionado sobre o item.
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Funcionalidade do Forms - 51
Developer/2000 - Forms 4.5

CHART ITEMS
Name - nome do item.
Class - nome da classe do item.

TYPE
Item Type - Chart Item

DISPLAY
Canvas - nome da canvas em que o item ser mostrado.
Displayed - indica se um item ser mostrado a tempo de execuo. O default
TRUE.
X e Y Position - marca a localizao do canto esquerdo superior do retngulo
que envolve o item nas canvas que o item est associado.
Width e Height - correspondem especificao de comprimento (Width) e
altura (Height), do item, ou seja, sua representao na canvas.
Space Between Records - indica o espao entre os registros na canvas para
blocos multi-record.
Bevel - Indica se o item ter aspecto tridimensional.
Visual Atribute Name - indica o nome de um atributo visual para o objeto.
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background)
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).

Funcionalidade do Forms - 52
Developer/2000 - Forms 4.5

RECORDS
Items Displayed - especifica o nmero de instncias mostradas para o item
quando o mesmo pertencer a um bloco multi-record.

NAVIGATION
Next Navigation Item - prximo item na seqncia de navegao em relao a
este.
Previous Navigation Item - item anterior na seqncia de navegao em relao a
este.

MISCELLANEOUS
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Funcionalidade do Forms - 53
Developer/2000 - Forms 4.5

DISPLAY ITEMS
Name - nome do item.
Class - nome da classe do item.

TYPE
Item Type - Display Item

DISPLAY
Canvas - nome da canvas em que o item ser mostrado.
Displayed - indica se um item ser mostrado a tempo de execuo. O default
TRUE.
X e Y Position - marca a localizao do canto esquerdo superior do retngulo
que envolve o item nas canvas que o item est associado.
Width e Height - correspondem especificao de comprimento (Width) e
altura (Height), do item, ou seja, sua representao na canvas.
Space Between Records - indica o espao entre os registros na canvas para
blocos multi-record.
Bevel - Indica se o item ter aspecto tridimensional.
Rendered - indica que o item ser mostrado como um rendered object quando
ele no estiver como foco.
Visual Atribute Name - indica o nome de um atributo visual para o objeto.
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background)
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).
Current Record Attribute - indica o nome de um atributo visual usado quando
o item for parte do registro corrente.

Funcionalidade do Forms - 54
Developer/2000 - Forms 4.5

DATA
Mirror item - especifica o nome do item do qual o item corrente derivado.
Esta propriedade sincroniza o valor de ambos os itens uma vez que quando o
operador altera o valor de um deles o outro, automaticamente, se altera tambm.
Como restrio temos que os itens devem estar no mesmo bloco.
Data Type - tipos de valores que o item pode armazenar (Char, Date,
Number).
Maximum Length - o nmero mximo de caracteres que um item pode
armazenar.
Default Value - um valor default para o item, que deve ser compatvel com o
tipo do item. O valor default pode ser um dos seguintes:

raw value ( 216, TOKYO )


$$DATE$$, $$DBDATE$$, $$DATETIME$$, $$DBDATETIME$$
Form item (:nome-bloco.nome-item)
global variable (:Global. Teste)
Form parameter (:PARAMETER.parm )
sequence (:SEQUENCE.seq.NEXTVAL)

Copy Value from Item - identifica a origem do valor para popular o item. Em
uma relao master-detail, o Oracle seta esta propriedade automaticamente no
item foreign key no bloco detalhe. Neste caso informado o nome da primary key
do bloco master, cujo valor copiado para o item foreign key quando um registro
criado ou consultado.

RECORDS
Items Displayed - especifica o nmero de instncias mostradas para o item
quando o mesmo pertencer a um bloco multi-record.

NAVIGATION
Next Navigation Item - prximo item na seqncia de navegao em relao a
este.
Previous Navigation Item - item anterior na seqncia de navegao em relao a
este.

Funcionalidade do Forms - 55
Developer/2000 - Forms 4.5

DATABASE
Base Table Item - indica se o item correspondente a uma coluna na base table do
bloco.
Query Only - indica se o item ser exclusivamente para consulta.
Primary Key - deve ser setado para TRUE para todos os itens que
correspondam a PK na base table do bloco.

FUNCTIONAL
Alignment - alinhamento do texto dentro do campo(start, left, right, center,
end).
Reading Order - ordem de leitura, que pode ser Default, Left-to-Right ou Right-to-
Left.
Initial Keyboard State - indica o estado inicial do teclado para o item.
Somente vlido para aplicaes NLS.

default baseado no valor do Reading Order.


local Right ou Left.
roman Left to Right.

MISCELLANEOUS
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Funcionalidade do Forms - 56
Developer/2000 - Forms 4.5

IMAGE ITEMS
Name - nome do item.
Class - nome da classe do item.

TYPE
Item Type Image

DISPLAY
Canvas - nome da canvas em que o item ser mostrado.
Displayed - indica se um item ser mostrado a tempo de execuo. O default
TRUE.
X e Y Position - marca a localizao do canto esquerdo superior do retngulo
que envolve o item nas canvas que o item est associado.
Width e Height - correspondem especificao de comprimento (Width) e
altura (Height), do item, ou seja, sua representao na canvas.
Space Between Records - indica o espao entre os registros na canvas para
blocos multi-record.
Bevel - Indica se o item ter aspecto tridimensional.
Visual Atribute Name - indica o nome de um atributo visual para o objeto.
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background)
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).
Current Record Attribute - indica o nome de um atributo visual usado quando
o item for parte do registro corrente.

Funcionalidade do Forms - 57
Developer/2000 - Forms 4.5

DATA
Mirror item - especifica o nome do item do qual o item corrente derivado.
Esta propriedade sincroniza o valor de ambos os itens uma vez que quando o
operador altera o valor de um deles o outro, automaticamente, se altera tambm.
Como restrio temos que os itens devem estar no mesmo bloco.
Required - quando esta propriedade est TRUE obriga o operador a
preencher o campo :

operador no pode navegar para fora do item (pressionando [NEXT ITEM])


at que informe um valor vlido.
operador no poder COMMIT o registro at que o item requerido seja
preenchido.

RECORDS
Items Displayed - especifica o nmero de instncias mostradas para o item
quando o mesmo pertencer a um bloco multi-record.

NAVIGATION
Enabled - determina se o operador poder usar o mouse para manipular um
item que tenha a propriedade NAVIGABLE setada para OFF. A tabela abaixo
mostra a relao entre ENABLED e NAVIGABLE.

NAVIGABLE ENABLED RESULTADO


ON ON O item navegvel e o Oracle Forms pode mover o foco para o
item durante o processo de navegao default. O item
apresentado normalmente.
OFF ON O item no navegvel. Durante a navegao default o Oracle pula
o item para o prximo navegvel da seqncia. O item mostrado
normalmente e o operador pode navegar para ele e manipular o
item com o mouse.
OFF OFF O item no navegvel e apresentado com contraste reduzido
para indicar que ele no est disponvel para input ou manipulao
com o mouse.

Navigable - indica se o operador poder ou no navegar para este item.


Next Navigation Item - prximo item na seqncia de navegao em relao a
este.
Previous Navigation Item - item anterior na seqncia de navegao em relao a
este.

Funcionalidade do Forms - 58
Developer/2000 - Forms 4.5

DATABASE
Base Table Item - indica se o item correspondente a uma coluna na base table do
bloco.
Query Only - indica se o item ser exclusivamente para consulta.
Insert Allowed - determina se o operador poder modificar o valor do item em
um registro novo.
Update Allowed - mutuamente exclusivo com UPDATE IF NULL. Especifica
que o valor do item poder ser alterado independente do seu contedo.
Update Only If Null - mutualmente exclusivo com UPDATE ALLOWED.
Especifica que o valor do item somente poder ser alterado se for NULL.

FUNCTIONAL
Compression - indica quando uma imagem lida de um arquivo deve ser
comprimida quando convertida para o formato interno do Oracle.
Quality - indica o nvel de qualidade da imagem. proporcional necessidade
de memria.
Sizing Style - determina o tamanho da imagem quando seu tamanho no
igual ao do item.

Crop - mostra somente a poro que couber no espao.


Adjust - ajusta a imagem para o tamanho do retngulo.

Horizontal Scroll Bar - indica se deve ser criada uma barra de rolagem
horizontal para o item.
Vertical Scroll Bar - indica se deve ser criada uma barra de rolagem vertical para o
item.

MISCELLANEOUS
Hint - texto a ser apresentado na linha de mensagem quando o operador se
posicionar no item.
Auto Hint - marcando esta propriedade o Oracle mostra o contedo da
propriedade Hint quando o foco passa para o item. Desmarcando-se esta opo o
Oracle mostrar o contedo do Hint quando o operador teclar [HELP] ou
selecionar a opo HELP do menu default enquanto posicionado sobre o item.
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Funcionalidade do Forms - 59
Developer/2000 - Forms 4.5

RADIO GROUP
Name - nome do item.
Class - nome da classe do item.

TYPE
Item Type - Radio Group

DISPLAY
Canvas - nome da canvas em que o item ser mostrado.
Visual Atribute Name - indica o nome de um atributo visual para o objeto.
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background)
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).

Funcionalidade do Forms - 60
Developer/2000 - Forms 4.5

DATA
Mirror item - especifica o nome do item do qual o item corrente derivado.
Esta propriedade sincroniza o valor de ambos os itens uma vez que quando o
operador altera o valor de um deles o outro, automaticamente, se altera tambm.
Como restrio temos que os itens devem estar no mesmo bloco.
Data Type - tipos de valores que o item pode armazenar (Char, Number ou
Date).
Maximum Length - o nmero mximo de caracteres que um item pode
armazenar.
Default Value - um valor default para o item, que deve ser compatvel com o
tipo do item.
Copy Value from Item - identifica a origem do valor para popular o item. Em
uma relao master-detail, o Oracle seta esta propriedade automaticamente no
item foreign key no bloco detalhe. Neste caso informado o nome da primary key
do bloco master, cujo valor copiado para o item foreign key quando um registro
criado ou consultado.

RECORDS
Items Displayed - especifica o nmero de instncias mostradas para o item
quando o mesmo pertencer a um bloco multi-record.

NAVIGATION
Navigable - indica se o operador poder ou no navegar para este item.
Mouse Navigate - indica se o operador poder ou no navegar para este item
com o mouse, isto , se o Oracle Forms deve direcionar o foco para o item.
Next Navigation Item - prximo item na seqncia de navegao em relao a
este.
Previous Navigation Item - item anterior na seqncia de navegao em relao a
este.

Funcionalidade do Forms - 61
Developer/2000 - Forms 4.5

DATABASE
Base Table Item - indica se o item correspondente a uma coluna na base table do
bloco.
Query Only - indica se o item ser exclusivamente para consulta.
Primary Key - deve ser setado para TRUE para todos os itens que
correspondam a PK na base table do bloco.
Insert Allowed - determina se o operador poder modificar o valor do item em
um registro novo.
Query Allowed - indica que o operador poder navegar para o item quando
estiver no modo de ENTER QUERY. Quando um Form est no modo ENTER
QUERY, o Oracle pula todos os campos que tem a propriedade Query Allowed
OFF, mesmo se os itens forem navegveis normalmente.
Update Allowed - mutuamente exclusivo com UPDATE IF NULL. Especifica
que o valor do item poder ser alterado independente do seu contedo.

FUNCTIONAL
Access Key - especifica o caracter que ser a chave de acesso, permitindo
que a operador faa acesso ao item pressionando uma combinao de teclas. (ex.:
ALT-C). O caracter faz parte do label.
Direction - especifica a direo de desenvolvimento do objeto (para NLS
applications).
Other Values - indica como um valor lido ou atribudo a um radio button deve
ser interpretado. O valor pode ser um daqueles associados a um radio item ou o
nome de um radio item.

MISCELLANEOUS
Hint - texto a ser apresentado na linha de mensagem quando o operador se
posicionar no item.
Auto Hint - marcando esta propriedade o Oracle mostra o contedo da
propriedade Hint quando o foco passa para o item. Desmarcando-se esta opo o
Oracle mostrar o contedo do Hint quando o operador teclar [HELP] ou
selecionar a opo HELP do menu default enquanto posicionado sobre o item.
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Funcionalidade do Forms - 62
Developer/2000 - Forms 4.5

RADIO BUTTON
Name - nome do item.
Class - nome da classe do item.

DISPLAY
Displayed - indica se um item ser mostrado a tempo de execuo. O default
TRUE.
X e Y Position - marca a localizao do canto esquerdo superior do retngulo
que envolve o item nas canvas que o item est associado.
Width e Height - correspondem especificao de comprimento (Width) e
altura (Height), do item, ou seja, sua representao na canvas.
Space Between Records - indica o espao entre os registros na canvas para
blocos multi-record.
Visual Atribute Name - indica o nome de um atributo visual para o objeto.
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background)
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).

Funcionalidade do Forms - 63
Developer/2000 - Forms 4.5

NAVIGATION
Enabled - determina se o operador poder manipular o item.

FUNCTIONAL
Access Key - especifica o caracter que ser a chave de acesso, permitindo
que a operador faa acesso ao item pressionando uma combinao de teclas. (ex.:
ALT-C). O caracter faz parte do label.
Label - texto a ser apresentado ao lado do Radio Button.
Value - Valor a ser atribudo ao Radio Button no caso do operador marcar esta
opo. Deve ser compatvel com o tipo do item (Data Type). Deve ser nico dentro
dos valores associados para o mesmo Radio Group. Quando deixamos esta
propriedade em branco, o valor default associado NULL.

MISCELLANEOUS
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Funcionalidade do Forms - 64
Developer/2000 - Forms 4.5

LIST ITEM
Name - nome do item.
Class - nome da classe do item.

TYPE
Item Type - List Item

DISPLAY
Canvas - nome da canvas em que o item ser mostrado.
Displayed - indica se um item ser mostrado a tempo de execuo. O default
TRUE.
X e Y Position - marca a localizao do canto esquerdo superior do retngulo
que envolve o item nas canvas que o item est associado.
Width e Height - correspondem especificao de comprimento (Width) e
altura (Height), do item, ou seja, sua representao na canvas.
Space Between Records - indica o espao entre os registros na canvas para
blocos multi-record.
Visual Atribute Name - indica o nome de um atributo visual para o objeto.
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background)
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).
Current Record Attribute - indica o nome de um atributo visual usado quando
o item for parte do registro corrente.

Funcionalidade do Forms - 65
Developer/2000 - Forms 4.5

DATA
Mirror item - especifica o nome do item do qual o item corrente derivado.
Esta propriedade sincroniza o valor de ambos os itens uma vez que quando o
operador altera o valor de um deles o outro, automaticamente, se altera tambm.
Como restrio temos que os itens devem estar no mesmo bloco.
Data Type - tipos de valores que o item pode armazenar (Char, Date,
Number).
Maximum Length - o nmero mximo de caracteres que um item pode
armazenar.
Default Value - um valor default para o item, que deve ser compatvel com o
tipo do item.
Copy Value from Item - identifica a origem do valor para popular o item. Em
uma relao master-detail, o Oracle seta esta propriedade automaticamente no
item foreign key no bloco detalhe. Neste caso informado o nome da primary key
do bloco master, cujo valor copiado para o item foreign key quando um registro
criado ou consultado.

RECORDS
Items Displayed - especifica o nmero de instncias mostradas para o item
quando o mesmo pertencer a um bloco multi-record.

Funcionalidade do Forms - 66
Developer/2000 - Forms 4.5

NAVIGATION
Enabled - determina se o operador poder usar o mouse para manipular um
item que tenha a propriedade NAVIGABLE setada para OFF. A tabela abaixo
mostra a relao entre ENABLED e NAVIGABLE

NAVIGABLE ENABLED RESULTADO


ON ON O item navegvel e o Oracle Forms pode mover o foco
para o item durante o processo de navegao default. O item
apresentado normalmente.
OFF ON O item no navegvel. Durante a navegao default o
Oracle pula o item para o prximo navegvel da seqncia. O
item mostrado normalmente e o operador pode navegar
para ele e manipular o item com o mouse.
OFF OFF O item no navegvel e apresentado com contraste
reduzido para indicar que ele no est disponvel para input
ou manipulao com o mouse.

Navigable - indica se o operador poder ou no navegar para este item.


Mouse Navigate - indica se o operador poder ou no navegar para este item
com o mouse, isto , se o Oracle Forms deve direcionar o foco para o item.
Next Navigation Item - prximo item na seqncia de navegao em relao a
este.
Previous Navigation Item - item anterior na seqncia de navegao em relao a
este.

DATABASE
Base Table Item - indica se o item correspondente a uma coluna na base table do
bloco.
Query Only - indica se o item ser exclusivamente para consulta.
Primary Key - deve ser setado para TRUE para todos os itens que
correspondam a PK na base table do bloco.
Insert Allowed - determina se o operador poder modificar o valor do item em
um registro novo.
Query Allowed - indica que o operador poder navegar para o item quando
estiver no modo de ENTER QUERY. Quando um Form est no modo ENTER
QUERY, o Oracle pula todos os campos que tem a propriedade Query Allowed
OFF, mesmo se os itens forem navegveis normalmente.
Update Allowed - mutuamente exclusivo com UPDATE IF NULL. Especifica
que o valor do item poder ser alterado independente do seu contedo.

Funcionalidade do Forms - 67
Developer/2000 - Forms 4.5

FUNCTIONAL
Access Key - especifica o caracter que ser a chave de acesso, permitindo
que a operador faa acesso ao item pressionando uma combinao de teclas. (ex.:
ALT-C). O caracter faz parte do label.
Direction - especifica a direo de desenvolvimento do objeto (para NLS
pplications).
Initial Keyboard State - indica o estado rudo do teclado para o item. Somente
vlido para aplicaes NLS.

default baseado no valor do Reading Order.


local Right to Left.
roman Left to Right.

List Elements - lista de elementos.


List Style - indica o estilo da lista
(Poplist, Tlist, ComboBox).
Other Values - indica que como
qualquer valor lido ou atribudo deve
ser interpretado.

MISCELLANEOUS
Hint - texto a ser apresentado na
linha de mensagem quando o operador
se posicionar no item.
Auto Hint - marcando esta propriedade o Oracle mostra o contedo da
propriedade Hint quando o foco passa para o item. Desmarcando-se esta opo o
Oracle mostrar o contedo do Hint quando o operador teclar [HELP] ou
selecionar a opo HELP do menu default enquanto posicionado sobre o item.
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Funcionalidade do Forms - 68
Developer/2000 - Forms 4.5

Captulo 3 : EVENTOS E TRIGGERS


INTRODUO
Triggers so blocos de cdigo PL/SQL que escrevemos para adicionar
funcionalidade a uma aplicao default.

Triggers so ativados pelo ORACLE FORMS em resposta a um evento.

Os nomes dos triggers correspondem aos eventos. o nome que estabelece a


associao entre o evento e o cdigo do trigger.

ESCOPO DE UM TRIGGER
Um trigger deve ser associado a um objeto especfico no Form, isto , um item, um
bloco ou ao prprio Form. O objeto ao qual o trigger associado define seu escopo.

O escopo de um trigger determina quando um evento deve ocorrer para o trigger


responder. Por exemplo, um trigger associado a um bloco disparado se o evento ao
qual o trigger est ligado ocorrer dentro daquele bloco, mas no ser disparado
quando o mesmo evento ocorrer em qualquer outro bloco.

Quando definimos triggers em diferentes nveis (Form, bloco, ou item) associados ao


mesmo evento, por default, apenas um (1) trigger ser executado quando o evento
ocorrer. A precedncia do trigger de mais baixo nvel (1.item, 2.bloco, 3.Form). Os
demais so ignorados.

OBSERVAES
Alguns triggers s podem ser definidos em um nvel particular. Por exemplo: o
trigger WHEN-VALIDATE-RECORD s vlido se definido a nvel de bloco ou
Form.

Outros triggers, podem ser definidos a nvel de item, bloco ou Form, de acordo
com a funcionalidade desejada.

Eventos e Triggers - 69
Developer/2000 - Forms 4.5

CRIANDO TRIGGERS
A criao de um trigger pode ser
feita com a ferramenta CREATE
(+) no Object Navigator dentro do
escopo desejado (Form, Bloco ou
Item).

Na janela apresentada
observamos o conjunto de eventos
(tipos de triggers) que podemos
definir.

A lista de eventos apresentada


varia de acordo com o escopo, isto
, os triggers especficos a um
determinado nvel de escopo
somente so listados se
estivermos criando o trigger no
nvel adequado.

Dentre os tipos de eventos que


podemos associar a um trigger,
encontramos a opo (User-
Named).

Esta opo cria um trigger associado a um evento indeterminado (desconhecido ao


Oracle Forms). Desta forma sua execuo somente ser disparada com o uso da
procedure EXECUTE-TRIGGER.

Ao escolhermos o evento desejado, ser acionado o editor de PL/SQL para que


possamos associar lgica ao evento.

Eventos e Triggers - 70
Developer/2000 - Forms 4.5

O EDITOR DE PL/SQL

As informaes apresentadas na janela do EDITOR PL/SQL so as seguintes:

TYPE - tipo da rotina. As opes vlidas para este campo so: trigger ou
program unit.

OBJECT - Se o campo TYPE tiver o valor TRIGGER, este campo (Object)


indica o escopo do trigger.

Nvel Janela 1 Janela 2


FORM (Form Level)
BLOCO Nome do bloco (Block Level)
ITEM Nome do bloco Nome do item

NAME - Nome do evento ao qual o trigger est ligado.

COMPILE - Aciona a execuo do compilador PL/SQL para o trigger.

REVERT - Desfaz a ltima compilao (ou salva) do trigger.

NEW - Cria um novo trigger com o mesmo escopo do trigger atual.

DELETE - Remove o trigger (ou programa).

CLOSE - Salva o trigger e fecha o editor PL/SQL, sem compilar.

Eventos e Triggers - 71
Developer/2000 - Forms 4.5

CATEGORIA DOS TRIGGERS - INTRODUO

Os triggers podem ser grupados dentro das seguintes categorias funcionais:

block processing navigational


interface event query time
master detail transactional
message handling validation

Neste captulo trataremos das categorias query, interface e navigational.

QUERY TIME
So acionados imediatamente antes e imediatamente aps o operador ou a
aplicao executar uma query em um bloco.

Pre-Query - valida o critrio de consulta atual ou acrescenta critrios de


consulta adicionais por programao.

Post-Query - executa uma ao aps a obteno de um registro. acionado


uma vez para cada registro movido para o bloco.

Eventos e Triggers - 72
Developer/2000 - Forms 4.5

INTERFACE EVENT
Este tipo de trigger acionado em resposta a uma ao do usurio (ou por
programao).

When-Button-Pressed - inicia uma ao quando o operador pressiona um


boto, seja com mouse ou teclado.
When-Checkbox-Changed - inicia uma ao quando o operador troca o
estado de um check-box.
When-Image-Activated - inicia uma ao quando o operador faz um click
duplo em um item do tipo imagem.
When-Image-Pressed - inicia uma ao quando o operador faz um click
(simples) em um item do tipo imagem.
Key-(todas) - ser visto posteriormente.
When-Radio-Changed - inicia uma ao quando o operador altera o radio
selecionado em um grupo de radio buttons.
When-Timer-Expired - inicia uma ao quando o tempo programado expira.
When-Window-Activated - inicia uma ao quando um operador ou a aplicao ativa
uma window.
When-Window-Closed - inicia uma ao quando um operador fecha uma
window com o comando close.
When-Window-Deactivated - inicia uma ao quando uma window
desativada em funo de outra window tornar - se ativa.
When-Window-Resized - inicia uma ao quando a window redimensionada
pelo operador ou por programao.
When-Mouse-Down - Inicia a ao quando o operador pressiona o mouse sobre um item
ou canvas.
When-Mouse-Up - Inicia a ao quando o operador solta o boto do mouse
sobre um item ou canvas.
When-Mouse-Click - Inicia a ao quando o operador pressiona o boto do
mouse sobre um item ou canvas.
When-Mouse-Double-Click - Inicia a ao quando um click duplo gerado sobre um
item ou canvas.
When-Mouse-Enter - Inicia a ao quando o operador move o mouse para
dentro de um item ou canvas.
When-Mouse-Leave - Inicia a ao quando o operador move o mouse para
fora de um item ou canvas.
When-Mouse-Move - Inicia a ao quando o operador move o mouse dentro de um item
ou canvas..

Eventos e Triggers - 73
Developer/2000 - Forms 4.5

NAVIGATIONAL TRIGGERS
So acionados em resposta a eventos de navegao.

Os eventos de navegao podem ser subdivididos em duas (2) categorias:

PRE / POST e
WHEN-NEW-INSTANCE

PRE E POST TRIGGERS


So acionados quando o Oracle Forms navega internamente atravs de diferentes
nveis da hierarquia do objeto.

Estes triggers so acionados em resposta a uma navegao iniciada pelo operador


(ex.: [NEXT ITEM]). Porm, s vezes, eles tambm so acionados em resposta a uma
navegao interna que o Oracle Forms executa durante o processamento default.

Pre-Form - executa uma ao antes do Oracle Forms navegar para o Form.


Funciona como um Form startup.
Pre-Block - executa uma ao antes do Oracle Forms navegar para o nvel
de bloco a partir do nvel de Form.
Pre-Record - executa uma ao antes do Oracle Forms navegar para o nvel
de record vindo do nvel de bloco.
Pre-Text-Item - executa uma ao antes do Oracle Forms navegar para um
text item, vindo do nvel de record.
Post-Text-Item - manipula um item quando o Oracle Forms deixa o text item e
navega para o nvel de registro.
Post-Record - manipula um registro quando o Oracle Forms deixa o registro
e navega para o nvel de bloco.
Post-Block - manipula o registro corrente quando o Oracle Forms deixa um
bloco e navega para o nvel de form.
Post-Form - executa uma ao antes do Oracle Forms navegar para fora do
form.

Eventos e Triggers - 74
Developer/2000 - Forms 4.5

WHEN-NEW-INSTANCE TRIGGERS
So acionados ao fim de uma seqncia de navegao que coloca o foco em um item
diferente.

Este tipo de trigger acionado imediatamente aps o Oracle Forms mover o foco
para um item, quando o Form retorna para o estado de espera pela digitao do
operador.

When-New-Form-Instance - executa uma ao no startup do form.


When-New-Block-Instance - executa uma ao imediatamente aps o foco se
mover para um item em um outro bloco que no aquele que originalmente possua o
foco.
When-New-Record-Instance - executa uma ao imediatamente aps o foco
se mover para um item em um registro diferente. Se o novo registro estiver em um
outro bloco, ser acionado aps o trigger WHEN-NEW-BLOCK-INSTANCE, mas
antes do WHEN-NEW-ITEM-INSTANCE.
When-New-Item-Instance - executa uma ao imediatamente aps o foco se
mover para um item diferente. Se o novo item estiver em um bloco diferente, ser
acionado aps o trigger WHEN-NEW-BLOCK-INSTANCE.

Eventos e Triggers - 75
Developer/2000 - Forms 4.5

PROPRIEDADES DOS TRIGGERS


Podemos acionar a janela de propriedades de um trigger no Object Navigator
(selecionando-se o trigger desejado e usando-se o boto direito do mouse).

Name - nome do trigger (evento ao qual est associado).


Class - nome da classe.

Eventos e Triggers - 76
Developer/2000 - Forms 4.5

FUNCTIONAL
Trigger Text - texto do trigger.
Trigger Type - tipo do trigger. Os valores vlidos para esta propriedade so:

Built-in - evento acionado pelo Oracle Forms.


User-named - acionado pelo programador com a package EXECUTE-
TRIGGER.

Trigger Style - determina o modo como o texto do trigger est escrito.

PL/SQL - texto escrito em PL/SQL.


V2 - suportado apenas para compatibilidade com verses anteriores.

Fire in Enter Query Mode - indica se o trigger deve ser disparado quando o
Forms estiver no modo de consulta. Esta opo s aplicvel aos seguintes
tipos de triggers :

KEY-*
ON-ERROR / ON-MESSAGE
WHEN - <evento>, exceto:

When-Database-Record When-Create-Record
When-Image-Activated When-Remove-Record
When-New-Block-Instance When-Validate-Record
When-New-Form-Instance When-Validate-Item

Show Keys - indica se a descrio de um trigger do tipo key-* deve ser


mostrada a tempo de execuo quando o operador acionar Show Keys.
Show Keys Description - texto a ser mostrado caso a propriedade Show Keys
seja True. O texto default ser apresentado no caso desta propriedade ficar em
branco e Show Keys receber o valor True.
Execution Style - especifica como o trigger deve executar se existir um trigger
de nvel mais alto associado ao mesmo evento.

Override (default) - este trigger ser acionado no lugar do outro de mais alto nvel.
Before/After - este trigger ser acionado antes ou depois do outro de mais alto
nvel.

Eventos e Triggers - 77
Developer/2000 - Forms 4.5

FALHA NOS TRIGGERS


Uma vez que um trigger acionado, ele pode acabar com sucesso ou falha. Quando
ocorre uma falha, o Oracle Forms aborta o trigger e executa os processos de ps
falha necessrios (rollback, etc.).

Quando um trigger falha, a ao (evento) causador do trigger tambm falha.

Suponhamos que um usurio tenha acionado a tecla [NEXT ITEM]. iniciado um


processo de navegao partindo do item atual para o prximo item da seqncia de
navegao.

Neste processo podem ser acionados diversos triggers: post-text-item, post-change,


post-record, pre-record, pre-text-item, when-new-item-instance, etc.

Se qualquer um dos triggers acionados por este processo de navegao falhar,


a navegao falha, isto , o usurio no consegue sair do item atual.

Desta forma, se percebermos algum erro e desejarmos impedir que a ao (evento)


tenha prosseguimento, podemos causar uma falha no trigger em execuo.

No Oracle Forms as rotinas em PL/SQL possuem uma varivel de exception, que


podemos usar para controlar o trmino de um trigger ou program unit trata-se da
exception FORM-TRIGGER-FAILURE.

EXEMPLO
IF :VL_SAL < 500 THEN
RAISE FORM_TRIGGER_FAILURE;
END IF;

Eventos e Triggers - 78
Developer/2000 - Forms 4.5

ROTINAS PR DEFINIDAS
O Oracle Forms possui em torno
de 100 rotinas pr definidas que
podem ser usadas nos triggers.

No Object Navigator podemos


percorrer a lista de rotinas
disponveis aumentando o
detalhamento do n Built-in
Packages.

As rotinas esto grupadas de


acordo com sua funcionalidade em
pacotes (packages) especficos :

STANDARD Extensions -
corresponde ao conjunto de
rotinas padro do Oracle
Forms.
Os outros pacotes possuem rotinas com funcionalidade especfica.

TOOL_ERR - O package DEBUG fornece um conjunto de informaes a


respeito do erro acontecido em uma rea do Form chamada de "error stack". Esta
rea contm cdigos de erro e mensagens de erro correspondentes no stack
indexadas de zero a n-1 (onde n o nmero de erros). O pacote Tool_Err permite
o acesso e manipulao do "error stack".

OLE2 - Conjunto de rotinas (PL/SQL APIs) para criao, manipulao e


acesso a atributos de objetos OLE2 Automation. Os objetos OLE2 Automation
encapsulam um conjunto de atributos e mtodos que podem ser manipulados ou
invocados de um OLE2 Automation Client. Este pacote (OLE2) permite que
faamos acesso aos OLE2 Automation Servers diretamente do PL/SQL.

DDE - Este pacote permite a utilizao de Dynamic Data Exchange (DDE)


dentro dos componentes Developer/2000. O DDE um mecanismo pelo qual as
aplicaes podem se comunicar e trocar dados em ambiente Windows.

Eventos e Triggers - 79
Developer/2000 - Forms 4.5
TOOL_ENV - Permite que faamos a interao com variveis do ambiente
Oracle. Por exemplo, suponhamos que desejssemos obter o USERID corrente.
Poderamos usar o seguinte PL/SQL : TOOL_ENV.GETVAR('USER', :resposta);

ORA_NLS - O pacote ORA_NLS permite que tenhamos acesso a informaes


sobre a linguagem corrente no ambiente. Estas informaes podem ser usadas
para que inspecionemos atributos da linguagem, permitindo a customizao da
aplicao (formatao local para datas e nmeros).

TOOL_RES - Este pacote prov um meio de extrairmos "string resources" de


um arquivos de recursos. Junto com o software Oracle*Terminal so fornecidos
dois utilitrios para a gerao de arquivos de recursos :RESPA21 (converte um
arquivo .PRN para um arquivo .RES) e RESPR21 (converte um arquivo .RES para
um arquivo .PRN).

ORA_FFI - Grupo de rotinas PL/SQL capazes de criar uma interface com


FOREIGN FUNCTIONS (programas escritos em 3GL).

TEXT_IO - Contm um conjunto de rotinas que fornecem formas de gravao


e leitura em arquivos.

FORMS_OLE - Corresponde a um conjunto de rotinas associadas com um


OLE CONTAINER (item OLE2).

VBX - Corresponde a um conjunto de rotinas relacionadas interface com


controles VBX, que podem ser anexados aplicao.

STANDARD - Corresponde ao conjunto de rotinas padro do PL/SQL.

Eventos e Triggers - 80
Developer/2000 - Forms 4.5

O PACOTE STANDARD EXTENSIONS - INTRODUO


Neste package esto presentes a maioria das rotinas que necessitamos para o
desenvolvimento dos aplicativos.

Ao longo do curso utilizaremos vrias destas rotinas. A sintaxe completa e


exemplificao de cada uma delas pode ser obtida no Help do Oracle Forms.

ROTINAS DE NAVEGAO

Down
First_Record
Go_Block(Block_name)
Go_Form(Formmodule_Id)
Go_Form(Formmodule_Name)
Go_Item(Item_Id)
Go_Item(Item_Name)
Go_Record(Record_number)
Last_Record
Next_Block
Next_Form
Next_Item
Next_Record
Previous_Block
Previous_Form
Previous_Item
Previous_Record
Up

As rotinas que iniciam uma ao de navegao (so chamadas de restritas) so


ilegais em triggers que foram acionados em resposta a eventos de navegao,
isto , triggers que sejam acionados enquanto a navegao esteja ocorrendo
(ex.: PRE_BLOCK, PRE_FORM, POST_TEXT_ITEM, POST_RECORD, etc.).

Todas as rotinas restritas, porm, podem ser chamadas de um trigger do tipo WHEN-
NEW-INSTANCE, porque este trigger somente ser acionado aps a navegao para
o item ter ocorrido.

Eventos e Triggers - 81
Developer/2000 - Forms 4.5

ROTINA PARA ENVIO DE MENSAGENS


Message (Message, User_Response)

ROTINAS PARA MODIFICAO DAS PROPRIEDADES DOS OBJETOS


Set_Alert_Button_Property(Alert_Id, Button, Property, Value)
Set_Alert_Button_Property(Alert_Name, Button, Property, Value)
Set_Alert_Property(Alert_Id, Property, Message)
Set_Alert_Property(Alert_Name, Property, Message)
Set_Application_Property(Property, Value)
Set_Block_Property(Block_Id, Property, Value)
Set_Block_Property(Block_Name, Property, Value)
Set_Canvas_Property(Canvas_Id, Property, Value)
Set_Canvas_Property(Canvas_Id, Property, X, Y)
Set_Canvas_Property(Canvas_Name, Property, Value)
Set_Canvas_Property(Canvas_Name, Property, X, Y)
Set_Form_Property(Formmodule_Id, Property, Value)
Set_Form_Property(Formmodule_Name, Property, Value)
Set_Item_Property(Item_Id, Property, Value)
Set_Item_Property(Item_Id, Property, X, Y)
Set_Item_Property(Item_Name, Property, Value)
Set_Item_Property(Item_Name, Property, X, Y)
Set_Lov_Column_Property(Lov_Id, Colnum, Property, Value)
Set_Lov_Column_Property(Lov_Name, Colnum, Property, Value)
Set_Lov_Property(Lov_Id, Property, Value)
Set_Lov_Property(Lov_Id, Property, X, Y)
Set_Lov_Property(Lov_Name, Property, Value)
Set_Lov_Property(Lov_Name, Property, X, Y)
Set_Radio_Button_Property(Item_Id, Button_Name, Property, Value)
Set_Radio_Button_Property(Item_Id, Button_Name, Property, X, Y)
Set_Radio_Button_Property(Item_Name, Button_Name, Property, Value)
Set_Radio_Button_Property(Item_Name, Button_Name, Property, X, Y)
Set_Record_Property(Record_Number, Block_Name, Property, Value)
Set_Relation_Property(Relation_Id, Property, Value)
Set_Relation_Property(Relation_Name, Property, Value)
Set_View_Property(View_Id, Property, X, Y)
Set_View_Property(View_Name, Property, X, Y)
Set_Window_Property(Window_Id, Property, Value)
Set_Window_Property(Window_Id, Property, X, Y)
Set_Window_Property(Window_Name, Property, Value)
Set_Window_Property(Window_Name, Property, X, Y)

Eventos e Triggers - 82
Developer/2000 - Forms 4.5

ROTINAS PARA TRATAMENTO DE ARQUIVOS IMAGE


Read_Image_File(File_Name, File_Type, Item_Id)
Read_Image_File(File_Name, File_Type, Item_Name)
Write_Image_File(File_Name, File_Type, Item_Id)
Write_Image_File(File_Name, File_Type, Item_Name)

ROTINAS DE TEMPORIZAO
Create_Timer(Timer_Name, Milliseconds, Iterate)
Delete_Timer(Timer_Id)
Delete_Timer(Timer_Name)
Set_Timer(Timer_Id, Milliseconds, Iterate)
Set_Timer(Timer_Name, Milliseconds, Iterate)

ROTINAS PARA OBTENO DO ID DO OBJETO


Find_Alert(Alert_Name)
Find_Block(Block_Name)
Find_Canvas(Canvas_Name)
Find_Column(Groupcolumn_Name)
Find_Editor(Editor_Name)
Find_Form(Formmodule_Name)
Find_Group(Recordgroup_Name)
Find_Item(Item_Name)
Find_Lov(Lov_Name)
Find_Menu_Item(Menuitem_Name)
Find_Relation(Relation_Name)
Find_Timer(Timer_Name)
Find_View(View_Name)
Find_Window(Window_Name)

Eventos e Triggers - 83
Developer/2000 - Forms 4.5

FALHA NAS ROTINAS PR DEFINIDAS


Quando uma rotina (pr definida) falha, ocorre um erro de execuo e o Oracle
Forms responde com uma mensagem de erro correspondente.

Porm, no marcada nenhuma exceo no trigger. Desta forma, o trigger no falha


e todos os comandos subsequentes chamada da rotina so executados.

Para obter o sucesso ou fracasso de uma rotina (pr definida), podemos usar as
seguintes funes:

ROTINAS DE CONTROLE DE TRMINO


FORM_SUCCESS; return BOOLEAN
FORM_FAILURE; return BOOLEAN
FORM_FATAL; return BOOLEAN

Estas funes possuem o resultado da ltima built-in routine.

GO_BLOCK (xyz_block);
IF NOT FORM_SUCCESS THEN
RAISE FORM_TRIGGER_FAILURE;
END IF;

OBS: no exemplo anterior, quando foi detectado um erro na rotina GO_BLOCK, foi
necessrio forar um erro no trigger atravs do comando RAISE.

A VARIVEL DE EXCEPTION FORM_TRIGGER_FAILURE


Esta varivel includa em toda aplicao Form e pode ser usada sem necessidade
de declarao.

Eventos e Triggers - 84
Developer/2000 - Forms 4.5

Captulo 4 : INTERFACE VISUAL


WINDOWS
Quando definimos uma aplicao trabalhamos com dois tipos de objetos:

Windows
Canvas-views

Uma window pode ser entendida


como uma moldura vazia.

A canvas-view o objeto de
fundo no qual desenhamos os
itens (text items, check boxes,
radio groups, etc.) e os
boilerplates.

A tempo de execuo os operadores podem ver somente os itens que tenham sido
associados a uma canvas especfica. Cada canvas, por outro lado, deve ser mostrada
em uma window especfica.

Quando criamos uma window, marcamos propriedades que indicam seu tamanho,
localizao e funcionalidade. Desta forma podemos indicar quando o operador pode
mover, redimensionar ou rolar uma window.

Quando criamos um novo mdulo Form, o Oracle Forms associa,


automaticamente, uma window a este mdulo, que possui o nome de Window0.

Interface Visual - 85
Developer/2000 - Forms 4.5

MODALIDADE DAS WINDOWS


Uma modeless window permanece ativa at que o operador a encerre (ou o
programa).

Mais de uma modeless window pode ser mostrada ao mesmo tempo e os operadores
podem navegar atravs delas se a aplicao permitir.

As modeless windows podem ser apresentadas na frente ou atrs de outras windows.

Uma modal window mais restrita que uma modeless window, uma vez que o
operador s poder passar para outra window aps encerr-la.

As aplicaes, normalmente, s mostram uma modal de cada vez, apesar de ser


possvel chamar uma modal a partir de outra.

ESTILO DAS WINDOWS

Podemos determinar o estilo das windows como Document ou Dialog.

O estilo de uma window determinar suas caractersticas nos gerenciadores de


windows que suportam o padro MDI (Multiple Document Interface System).

As aplicaes MDI mostram sempre uma window "Master" da aplicao, chamada de


application window. Todas as outras windows da aplicao so document windows ou
dialog windows.

As document windows so sempre mostradas dentro da moldura de uma application


window. Se o operador redimensionar a application window para que ela fique menor
que uma document window, ela ser recortada, isto , aparecer apenas um pedao
dela.

J as dialog windows so de flutuao livre, isto , um operador poder mov-la


para fora da application window se for definida como mvel. Se o operador
redimensionar a application window para que ela fique menor que a dialog window,
esta no afetada.

Interface Visual - 86
Developer/2000 - Forms 4.5

APRESENTAO DAS WINDOWS


Quando construmos uma aplicao, criamos uma canvas-view e ento a associamos
a uma window.

Uma nova canvas-view associada window pr definida por default.

Se desejarmos que uma canvas-view seja mostrada em uma outra window, devemos
criar a nova window e ento, re-associar a canvas-view para aquela nova window.

A tempo de execuo, as windows so mostradas e escondidas em resposta a


eventos (navegao, programao, etc.).

Interface Visual - 87
Developer/2000 - Forms 4.5

PROPRIEDADES DAS WINDOWS


Name - Nome da window.
Class - Classe da window.

DISPLAY
X/Y Position - Indica a posio onde a window aparecer na tela.
Width/Heigth - Especifica a largura e altura da window.
Bevel - Esta opo pode ser setada para Raised ou Lowered para formatar a
borda do item quando executarmos em um gerenciador que suporte 3 dimenses.
Title - Ttulo da window.
Visual Atribute Name - Indica o nome de um atributo visual para o objeto.
Font Name - Nome da fonte usada para textos no objeto.
Font Size - Tamanho da fonte, especificado em points.
Font Style - Estilo da fonte (itlico, plain, underline, etc.)
Font Width - Largura da fonte (Normal, Expand, Dense, etc.).
Font Weigth - Granulao da corda fonte (Bold, Medium, Ligth, etc.).
Foreground Color - Cor da regio do objeto de foreground. Para itens a cor do
texto.
Background Color - Cor da regio do objeto de fundo (background).
Fill Pattern - Textura da regio de preenchimento (fill). A textura ser montada com
as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - Especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao.
White on Black - Indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).

Interface Visual - 88
Developer/2000 - Forms 4.5

FUNCTIONAL
View - Especifica a canvas-view que ser a view content primria da window.
Horiz/Vert Toolbar - Nome da canvas que ser a barra de ferramentas da window.
Style - Estilo da window.
Modal - Indica se a window modal (on) ou modeless (off-default).
Remove On Exit - Indica que o Oracle Forms esconde a window corrente
automaticamente quando o operador navega para um item em outra window.
Direction - Direcionamento de desenvolvimento de objetos bidirecionais.
Especfico para aplicaes NLS.
Icon Name - Especifica o cone que o Oracle deve mostrar quando o operador
minimiza a window. O cone deve existir a tempo de execuo no disco.
Iconifiable deve ser on.
Icon Title - Especifica o texto (string) que deve ser mostrado na window
iconizada. Iconifiable deve ser on.
Horz / Vert Scroll Bar - Indica se a window ter uma scroll bar e se ela ser
horizontal ou vertical. bordered deve ser on.

GUI HINTS
Closeable - Indica se a window fechvel.
Fixed Size - Especifica que a window ter tamanho fixo e no pode ser
redimensionada a tempo de execuo.
Iconifiable - Especifica que a window pode ser iconizada.
Inherit Menu - Indica que a window deve mostrar o menu corrente.
Moveable - Indica que o operador pode mover a window de uma localizao
para outra na tela.
Zoomable - Indica se o operador pode redimensionar a window usando a
capacidade de zoom provida pelo gerenciador de windows (a tempo de execuo).
Fixed size deve ser off.

MISCELLANEOUS
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Interface Visual - 89
Developer/2000 - Forms 4.5

CANVAS-VIEW
Sabemos que uma window corresponde a uma moldura vazia. J a canvas-view o
objeto de fundo no qual desenhamos os itens (text items, check boxes, radio groups,
etc.) e os boilerplates.

A tempo de execuo os operadores podem ver somente os itens que tenham sido
associados a uma canvas.

Cada canvas tem um atributo chamado viewport. Podemos entender o viewport como um
retngulo invisvel posicionado sobre a canvas.

Quando associamos uma canvas a uma window, somente a view, isto , a


posio da canvas dentro do viewport aparecer na window.

Interface Visual - 90
Developer/2000 - Forms 4.5

TIPOS DE CANVAS-VIEW
Existem quatro tipos de canvas-view :

CONTENT VIEW
uma view base que ocupa o painel inteiro da janela na qual ela mostrada. A
tempo de execuo s podemos associar uma content view na window de cada
vez.

STACKED VIEW
Esta view difere da outra no fato que ela no uma view base para a window a qual
ela est sendo associada. Por esta razo ela pode ser apresentada em qualquer
coordenada x e y dentro da rea da window.

Uma stacked view pode ser mostrada em uma window ao mesmo tempo que
uma content view e qualquer nmero de outras stacked views.

HORIZONTAL TOOLBAR / VERTICAL TOOLBAR


A uma window podemos associar apenas uma Horizontal Toolbar e uma Vertical
Toolbar. Estas views sero usadas como barra de ferramentas para a janela. Elas
diferem da view content apenas por suas funes.

Interface Visual - 91
Developer/2000 - Forms 4.5

PROPRIEDADES DA CANVAS-VIEW
Name - Nome da canvas. Deve ser nico.
Class - classe da canvas.

TYPE
Canvas - View Type - Tipo da Canvas (Content, Stacked, Vertical Toolbar,
Horizontal Toolbar).

DISPLAY
Displayed - Determina se a view ser mostrada imediatamente ou ficar
escondida quando a window for mostrada. O default ON (mostrada)
Width/Height - Especifica o tamanho da canvas nas unidades setadas para o
mdulo. O tamanho default 80 x 24 (caracter) ou seu equivalente na unidade em
uso.
Bevel - Determina se a view ter a borda visvel. Para que no tenha borda
colocamos none.
Visual Atribute Name - Indica o nome de um atributo visual para o objeto.
Font Name - Nome da fonte usada para textos no objeto.
Font Size - Tamanho da fonte, especificado em points.
Font Style - Estilo da fonte (itlico, plain, underline, etc.)
Font Width - Largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - Granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - Cor da regio do objeto de fouground. Para itens a cor do
texto.
Background Color - Cor da regio do objeto de fundo (background)
Fill Pattern - Textura da regio de preenchimento (fill). A textura ser montada com
as cores definidas pelos atributos Foreground Color e Baclground Color.
Charmode Logical Attribute - Especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - Indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).

Interface Visual - 92
Developer/2000 - Forms 4.5

FUNCTIONAL
Window - A window na qual a canvas ser mostrada. Esta propriedade
obrigatria e deve ser setada para window0 (default) ou o nome de uma outra window.
Raise on Entry - Aplicvel apenas quando existem outras views associadas
mesma window. Quando raise on entry est OFF (default), o Oracle Forms coloca
a view na frente de todas as outras views somente se o item para o qual o
operador navegou est escondido (atrs de) outra view. Se esta propriedade
estiver ON o Oracle ir sempre colocar a view na frente das demais quando um
operador navegar para um item desta view.
X/Y Position on Canvas - Especifica a posio do canto esquerdo superior do
viewport na canvas. O default 0, o que permite que a canvas inteira seja
mostrada dentro da view.
Direction - Direcionamento de desenvolvimento de objetos bidirecionais.
Especfico para aplicaes NLS.

STACKED VIEW
View Width/Height - Determina o tamanho do viewport, o qual no pode ser
maior que o tamanho da canvas.
Display X Position/Display Y Position - Define as coordenadas do canto
esquerdo superior da view em relao ao canto esquerdo superior da window
corrente.
Vertical / Horizontal Scroll Bar - Determina se a canvas-view ter uma scroll
bar e se ela ser horizontal ou vertical.

MISCELLANEOUS
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Interface Visual - 93
Developer/2000 - Forms 4.5

INTERAO ENTRE WINDOW E CANVAS-VIEW


Cada canvas-view deve ser associada a uma window.

Cada window tem uma propriedade opcional que indica a view primria para aquela
window.

A tempo de execuo uma window e sua respectiva canvas-view mostrada em


resposta a uma navegao ou comando de programao.

Podemos, por outro lado, associar (a tempo de desenvolvimento) mais de uma


content view e mais de uma stacked view para a mesma window.

A tempo de execuo somente uma content view pode ser mostrada de cada vez
na window.

Uma stacked view, porm, pode ser mostrada ao mesmo tempo que a content view e
qualquer nmero de outras stacked views.

Da mesma forma que com a content, somente uma canvas do tipo Horizontal Toolbar
pode ser mostrada em uma window de cada vez. O mesmo vale para Vertical Toolbar.

Desta forma, simultaneamente, em uma window podemos ver a tempo de execuo:


uma canvas Content, uma canvas Horizontal Toolbar, uma canvas Vertical
Toolbar e qualquer nmero de canvas Stacked.

Interface Visual - 94
Developer/2000 - Forms 4.5

O EDITOR LAYOUT
o editor grfico para a criao e arrumao de itens, boilerplates de textos e
grficos na interface visual da aplicao.

No Layout podemos:

1. Alterar o tamanho da canvas e viewport.


2. Criar, mover, redimensionar e alinhar itens.
3. Obter as propriedades de um item.
4. Adicionar boilerplates(textos ou grficos) para a canvas.
5. Modificar fonte, cor, espessura de linha para boilerplates e itens
6. Movimentar, copiar, recortar e colar itens e boilerplates.
7. Importar e exportar textos, imagens, etc., de e para uma canvas.

Interface Visual - 95
Developer/2000 - Forms 4.5

ATIVANDO O EDITOR LAYOUT


Quando um Form est ativo, existem 2 modos de ativar o Layout:

1. Selecionar um objeto do mdulo ativo Form e pressionar o boto direito do


mouse e escolher a opo layout editor.
2. No menu Tools, selecionar a opo layout editor.

O Layout possui os seguintes componentes:

WORKSPACE
a rea de janela do Layout. Seu tamanho independente do tamanho atual da
janela, isto , o WORKSPACE pode ser maior ou menor que a rea da janela.

Quando o WORKSPACE maior que a janela, podemos rolar a janela para ver outras
partes do WORKSPACE.

Para alterar o tamanho do WORKSPACE, devemos selecionar ARRANGE, LAYOUT


SETTINGS.

TITLE BAR
uma barra de informaes que aparece na parte superior da janela, com:

<PRODUCT> [<MODULE>:<CURRENT CANVAS>]

onde:

<product> nome da ferramenta Oracle, neste caso FORM.


<module> nome do mdulo ativo.
<current canvas> o nome da canvas corrente.

Interface Visual - 96
Developer/2000 - Forms 4.5

RULERS
Uma rgua horizontal (em cima) e uma vertical (lateral esquerda).

Esta rgua pode ser apresentada em unidades diferentes (ex.: centmetros,


caracteres, ps, etc.).

Guias
Podem ser selecionadas guias (tracejadas) horizontais e verticais para referncia.
Para selecionarmos uma guia basta que posicionemos o mouse sobre a rgua,
pressionemos e arrastemos a guia at a posio desejada.

GRID
Existe uma grade dentro do WORKSPACE para auxlio no posicionamento de objetos.

BARRA DE FERRAMENTAS (TOOLBAR)


Canvas - mostra a canvas corrente
Block - mostra o bloco corrente
Open - abre um mdulo existente em disco
Save - salva o mdulo corrente
Run - executa o mdulo corrente
Cut - copia a rea demarcada para a memria e a apaga
Copy - copia a rea demarcada para a memria
Paste - cola a rea de memria no layout
Copy Properties - copia propriedades de um objeto para a memria
Paste Properties - cola (duplica) propriedades em memria para um objeto

STATUS LINE
A linha de status no p da pgina do layout mostra as seguintes informaes:

Posio absoluta do mouse


Distncia de afastamento do mouse (quando criando/movendo objetos)
ngulo de rotao (quando em movimento)
Nvel de zoom

Interface Visual - 97
Developer/2000 - Forms 4.5

PALETA DE FERRAMENTAS
A paleta de ferramentas subdividida em grupos:

FERRAMENTAS DE MANIPULAO
Select - seleciona um objeto ou grupo de objetos, marcando-se
sobre ele.
Rotate - gira os objetos (boilerplates, itens no podem ser
rodados) ou grupos.
Magnify - aumenta ou reduz a apresentao do Layout (fator - 2x),
isto , zoom.
Reshape - permite que se modifique um objeto (boilerplate)
selecionado (ex.: ngulo de um arco).

FERRAMENTAS GRFICAS
Rectangle - cria retngulos.
Line - cria objetos lineares (linha).
Elipse - cria objetos ovais.
Arc - cria objetos em forma de arco.
Polygon - cria polgonos.
Polyline - cria linhas quebradas.
Rounded Rectangle - cria retngulos com as bordas
arredondadas.
Freehand - cria desenhos livres (linhas curvas).
Boilerplate Text - cria textos.

Interface Visual - 98
Developer/2000 - Forms 4.5

FERRAMENTAS DE ITENS
Button - cria buttons (botes).
Check Box - cria check box.
Rdio Button - cria radio buttons (pertencentes a um grupo).
Text Item - cria campos (text items).
Imagem Item - cria em item do tipo imagem.
Chart Item - cria um grfico desenhado no Oracle Graphics.
OLE2 Object - cria um objeto OLE2 no form.
VBX Control - permite que se incluam controles do tipo VBX na aplicao.
Display Item - cria um item display. Os itens do tipo display so similares aos text
itens, exceto que o operador no poder digitar ou modificar seu valor.
List Item - Cria um item do tipo list, que podem ser mostrados em pop-lists ou list boxes.

Interface Visual - 99
Developer/2000 - Forms 4.5

PALETA DE ATRIBUTOS VISUAIS


A paleta de atributos visuais contm os seguintes elementos:

ATTRIBUTES BOX
Mostra os atributos escolhidos para o objeto selecionado:

Quando um cdigo selecionado a ATTRIBUTES BOX


mostra a borda e atributo de preenchimento do objeto.
Quando nenhum objeto estiver selecionado, ela mostra os
atributos atualmente em uso, ou seja, qualquer objeto criado
adquirir estes atributos.

FILL COLOR
Indica as caractersticas de preenchimento do objeto:

Cor - o objeto ter esta cor de preenchimento.


No Fill - o objeto ser transparente
Patterns - exibe a janela de textura quando desejamos que o objeto possua 2
cores de preenchimento simultaneamente.
Tear Off Palette - fixa a janela de cores para movimentao.

LINE COLOR
Indica as caractersticas da linha que envolve o objeto (borda):

Cor - a linha ter esta cor de preenchimento.


No line - o objeto no ter borda.
Tear Off Palette - fixa a janela de cores para movimentao.

TEXT COLOR
Indica a cor do texto:

Cor - o texto ter a cor selecionada.


Tear off palette - fixa a janela de cores para movimentao.

A informao de cor de cada objeto armazenada como um ndice para


localizao de cor na paleta, portanto, se alterarmos a paleta, isto pode
modificar a cor atual dos objetos.

Interface Visual - 100


Developer/2000 - Forms 4.5

ALTERAR O TAMANHO DA CANVAS E VIEWPORT


Quando iniciamos o layout, escolhemos a canvas que desejamos trabalhar. Por
default, os itens e boilerplates que criarmos no layout so associados canvas
corrente. O nome da canvas corrente aparece na barra de ferramentas.

Cada canvas possui um atributo chamado de viewport. Este atributo define a rea da
canvas que ser apresentada na janela (window, tela) a tempo de execuo.

Podemos efetuar as seguintes operaes com a canvas-view no layout::

MOSTRAR OU ESCONDER A CANVAS


Inicialmente, quando ativamos o layout ela fica invisvel. Para vermos a canvas
devemos habilitar a opo SHOW CANVAS no menu VIEW.

REDIMENSIONAR A CANVAS
O redimensionamento feito com o cursor, clicando-se no canto superior ou
inferior da canvas e arrastando-se o mouse at a posio desejada (ou alterando-se
suas propriedades de dimensionamento width e height).

MUDAR OS ATRIBUTOS VISUAIS DA CANVAS


Quando a canvas selecionada podemos escolher a cor e a textura como qualquer
outro objeto.

SUBSTITUIR A CANVAS ATIVA


Selecionamos a opo canvas na barra de ferramentas, o Oracle mostra uma lista de
todos os objetos do tipo canvas definidos para o Forms ativo.

Selecionamos a canvas que desejamos quando efetuamos a substituio, o Oracle


aplica todas as modificaes efetuadas na canvas anterior.

Interface Visual - 101


Developer/2000 - Forms 4.5

MOSTRAR OU ESCONDER O VIEWPORT


Quando ativamos o layout, o viewport fica, inicialmente, invisvel. Para visualizarmos o
viewport, devemos habilitar a opo SHOW VIEW no menu VIEW. O viewport
aparecer como um retngulo com os cantos pretos (quadrado preto).

MOVER O VIEWPORT
Para mover o viewport, usamos o mouse. Esta opo ir alterar as coordenadas da
view, que podem ser verificadas no conjunto de propriedades da canvas.

Interface Visual - 102


Developer/2000 - Forms 4.5

CRIAR, MOVER, REDIMENSIONAR E ALINHAR ITENS

CRIANDO ITENS
Para criarmos um novo item, devemos:

Selecionar o bloco onde o item ser criado.


Na paleta de ferramentas, selecionar a ferramenta para o tipo de item que
desejamos criar.
Posicionar o cursor na canvas onde desejamos que seja o canto esquerdo
superior do item.
Pressionar o mouse uma vez para criao de itens no tamanho default ( de
acordo com a fonte selecionada) ou pressionar e arrastar o mouse at o desenho
atingir o tamanho desejado.

O Oracle Forms vai associar o novo item ao bloco corrente. Se este bloco for do
tipo multi-record, o Oracle mostrar n desenhos do item, um para cada
registro do bloco.

SETANDO O CONTEXTO PARA UM BLOCO


Na janela do Layout existe uma identificao para o bloco corrente. Para modificar o
bloco corrente devemos selecionar a opo BLOCK da barra de ferramentas. O
Oracle apresenta uma lista de blocos disponveis para que possamos escolher o
desejado.

MOVER OS ITENS
Para mover um item, usamos o mouse. Esta opo ir alterar as coordenadas do item,
que podem ser verificadas no conjunto de propriedades do item selecionado.

Interface Visual - 103


Developer/2000 - Forms 4.5

REDIMENSIONANDO OBJETOS NA CANVAS


O dimensionamento de um objeto em relao a outro pode ser feito com a opo SIZE
OBJECT do menu ARRANGE.

Neste dilogo poderemos dimensionar os objetos selecionados pelo maior, pelo


menor, pela mdia ou atribuir um valor especfico.

Este valor pode ser fornecido nas unidades: polegadas, centmetros, pontos ou
caracteres.

Podemos reutilizar estas informaes sem necessidade de reabrir o dilogo usando a


opo REPEAT SIZING no menu ARRANGE.

Interface Visual - 104


Developer/2000 - Forms 4.5

ALINHANDO OBJETOS NA CANVAS


O alinhamento pode ser feito em relao ao grid ou de um objeto em relao ao outro.
Para tal, devemos escolher a opo ALIGN OBJECTS no menu ARRANGE.

As opes de alinhamento dependem da direo horizontal ou vertical.

Horizontalmente temos: esquerda, direita, centralizado, distribudo (espaos entre


objetos iguais) e colado (stack).

Verticalmente temos: por cima, por baixo, centralizado, distribudo e colado.

O alinhamento tambm pode ser repetido com a opo REPEAT ALIGNMENT do


menu ARRANGE.

Interface Visual - 105


Developer/2000 - Forms 4.5

OBTER AS PROPRIEDADES DE UM ITEM


As propriedades podem ser obtidas de 2 formas diferentes:

Efetuando-se um duplo click sobre o item


Usando-se o boto direito do mouse

ADICIONAR BOILERPLATES(TEXTOS OU GRFICOS) PARA A CANVAS

BOILERPLATE TEXT
Para criar um boilerplate text :

Selecionar a ferramenta BOILERPLATE TEXT.


Posicionar e pressionar o mouse no local que desejamos escrever o texto .
Digitar o texto desejado.
Cancelar o modo texto, pressionando fora do espao do texto.

Para editar um texto j existente:

Selecionar a ferramenta BOILERPLATE TEXT.


Posicionar e pressionar o mouse no Boilerplate Text que voc deseja editar.
Editar o texto.
Pressionar o mouse fora do espao do texto.

BOILERPLATE GRFICO
Para adicionarmos um boilerplate grfico a canvas, usamos as ferramentas da paleta
de ferramentas listadas a seguir:

Arc Tool
Ellipse Tool
Freehand Tool
Line Tool
Polygon Tool
Polyline Tool
Rectangle Tool
Rounded Rectangle Tool

O modo de criao semelhante aos vistos anteriormente para Boilerplate Text, Items, etc.

Interface Visual - 106


Developer/2000 - Forms 4.5

MODIFICAR FONTE, COR, ESPESSURA DE LINHA PARA BOILERPLATES E ITENS


Para alterao de fonte, e caractersticas de linha usaremos opes do menu
FORMAT. A modificao de cor de linha e de preenchimento pode ser feita
diretamente na paleta de ferramentas.

FONTE
O dilogo abaixo mostrado quando escolhemos a opo FONT.

Nele podemos determinar a fonte, estilo de letra, tamanho e efeitos para o item ou
boilerplate selecionado.

Interface Visual - 107


Developer/2000 - Forms 4.5

LINHA
Existem quatro opes para customizao de linha

Line - Apresenta um conjunto de espessuras de linha.


Bevel - Apresenta um conjunto de opes relevo para linha.
Dash - Apresenta um conjunto de tipos de linhas (tracejado, pontilhado,
contnua, etc).
Arrow - Apresenta opes de setas para incluso nas linhas.

ALINHAMENTO E ESPACEJAMENTO
O alinhamento e espacejamento dos textos dos itens pode ser feito com as opes
Spacing e Alignment. A opo Direction pode ser usada quando estivermos
trabalhando em sistemas multi-lngua.

Interface Visual - 108


Developer/2000 - Forms 4.5

MOVIMENTAR, COPIAR, RECORTAR E COLAR ITENS E BOILERPLATES

SELEO
Para manipular objetos (redimensionar, cortar, copiar, mover, colar, etc.), devemos
inicialmente selecion-los. Para isto usamos as opes SELECT da paleta de
ferramentas.

OPERAES
As seguintes operaes podem ser feitas com objetos (itens e boilerplates):

Movimentao (com cursor)


Redimensionamento (com cursor)
Recorte (aps a seleo, devemos escolher a opo CUT ou COPY do menu EDIT)
Colagem (selecione a opo PASTE do menu EDIT)
Excluso (usar a opo CLEAR do menu EDIT ou apertar a tecla [Delete])
Duplicao (aps a seleo, usar a opo DUPLICATE do menu EDIT).

Quando duplicamos um item, no mesmo bloco, o Oracle associa um novo nome


a este item, uma vez que os nomes devem ser nicos dentro de um bloco.

Quando duplicamos um item, todos os triggers associados a ele so duplicados


tambm.

COMANDOS DE EDIO
Seleo de texto - Pressionar e arrastar o mouse para selecionar a
quantidade de texto desejada.
Seleo de todos os textos - No menu EDIT, escolher ALL.
Copiar o texto selecionado - No menu EDIT, escolher COPY.
Recortar o texto - No menu EDIT, escolher CUT.
Remover o texto selecionado - No menu EDIT, escolher CLEAR
Colar o texto - No menu EDIT, escolher PASTE.

Interface Visual - 109


Developer/2000 - Forms 4.5

IMPORTAR E EXPORTAR TEXTOS, IMAGENS DE E PARA UMA CANVAS


Podemos importar boilerplates drawings e imagens do database ou de arquivos do
sistema no Layout.

O Oracle suporta os seguintes formatos:

FORMATOS DRAWING
CGM
Oracle Format

FORMATOS IMAGE
BMP
TIFF
IFIF
ORACLE FORMAT
PICT
PCX

IMPORTANDO BOILERPLATES
Para realizarmos a importao de boilerplates, devemos:

Opo IMPORT do menu EDIT. Apresenta as opes: DRAWINGS ou IMAGE.


Especificamos a localizao (database ou arquivo) e o formato do grfico que
desejamos importar.
Escolhemos OK para que seja apresentado aberto o dilogo de arquivos ou o
dilogo para database e selecionamos o arquivo que desejamos importar.

Boilerplate images so diferentes de image items.


No primeiro caso so imagens fixas na tela, que fazem parte da canvas. No segundo
caso so dados carregados somente a tempo de execuo e correspondem a campos
(semelhantes a quaisquer outros), com a diferena de apresentar imagens.

Interface Visual - 110


Developer/2000 - Forms 4.5

Captulo 5 : REVENDO A FUNCIONALIDADE


RELACIONAMENTO MASTER-DETAIL
Podemos definir um relacionamento master-detail a qualquer momento durante o
desenho do Form. Este relacionamento uma associao entre dois blocos do tipo
BASE TABLE, que reflete um relacionamento entre a primary key e a foreign key
das tabelas em que os blocos se baseiam.

A criao de um relacionamento master-detail causa o seguinte efeito no Form:

Assegura que no bloco detail sejam apresentados somente registros que


estejam associados ao registro master corrente.
Coordena as consultas entre os 2 blocos.

O bloco master associado ao bloco detail atravs da JOIN CONDITION, que


estabelece a(s) PK(s) do bloco master e a(s) FK(s) do bloco detail, ou seja:

BLOCO-DETALHE.FK-ITEM = BLOCO-PRINCIPAL.PK-ITEM

cd_depto nm_depto
DEPTO

PK-Depto
FK-Func
FUNC
cd_mat nm_func cd_depto vl_sal nr_cargo

Revendo a Funcionalidade - 111


Developer/2000 - Forms 4.5

O OBJETO RELATION
Para definirmos um relacionamento Master-Detail entre blocos devemos criar um
objeto RELATION. Quando este objeto criado o Oracle Forms gera os triggers e
procedures necessrias para assegurar o relacionamento entre os blocos.

CRIANDO UMA RELAO


Existem 2 modos de criar uma relao no Oracle Forms:

No momento da criao do bloco DETAIL preenchendo a condio de JOIN e


o nome do bloco MASTER.

Criando um objeto relation. Para isto, devemos, no Object Navigator,


selecionar o n RELATIONS do bloco Master e usar a ferramenta CREATE (+).
Ser, ento, mostrado o dilogo abaixo que corresponde s propriedades da
relao.

Revendo a Funcionalidade - 112


Developer/2000 - Forms 4.5

PROPRIEDADES DE UMA RELAO


Relation Name - nome da relao.
Master Block - nome do bloco principal da relao.
Detail - nome do bloco detalhe da relao.
Master Deletes - indica como a remoo de um registro no bloco principal ir
afetar os registros associados no bloco detalhe.

Cascading - permite que o principal seja removido e automaticamente


remove todos os registros detalhes associados a tempo de commit.
Isolated - permite que o principal seja removido sem efetuar nenhuma
ao nos detalhes.
Non-Isolated - a opo default. Impede a remoo do principal se
existirem detalhes.

Se a opo cascading j foi estabelecida a nvel de base de dados, ela


no deve ser repetida a nvel de Forms.

Coordination - determina em que momento a fase de preenchimento (para o


bloco detalhe) ir ocorrer.

Deferred = False Auto-Query Ignored - a opo default. Quando o


registro no bloco master lido ou substitudo, imediatamente os registros
detalhe so lidos.
Deferred = True Auto-Query = True - quando o registro no bloco master
lido, o Oracle Forms aguarda que o operador navegue para o bloco detalhe
para efetuar a leitura dos registros relacionados.
Deferred = True Auto-Query = False - neste caso o Oracle Forms
aguarda que o operador navegue para o bloco detalhe e explicitamente
execute uma consulta para efetuar a leitura dos registros relacionados.

Quando usamos a opo DEFERRED, ser postergada apenas a leitura


da base de dados, a operao de CLEAR nos registros detalhe ocorre
imediatamente.

Revendo a Funcionalidade - 113


Developer/2000 - Forms 4.5
Prevent Masterless Operation - indica quando o operador estar apto a
consultar ou inserir registros no bloco detalhe. Ao escolhermos esta opo:

O Oracle Forms no permite que registros sejam includos no bloco


detalhe se no houver registro associado no bloco principal.
O Oracle Forms no permite que registros sejam consultados no bloco
detalhe se no houver registro carregado do database no bloco principal.

Join Condition - podemos especificar a condio de join entre o bloco master


e o detail das seguintes formas:

um nome de item que exista em ambos os blocos.


uma igualdade onde um item pertence ao bloco master e o outro do detalhe.
uma combinao de itens e condies de igualdade.

Quando criamos uma relao o Oracle Forms gera diferentes triggers de acordo
com as propriedades Master Deletes e Coordination.

O quadro abaixo mostra os tipos de triggers gerados em funo da propriedade


Master Deletes, enquanto que o texto dos triggers dependem da propriedade
Coordination e o nvel de complexidade da relao (MASTER WITH DEPENDENT
DETAILS, MASTER WITH INDEPENDENT DETAILS, DETAIL WITH TWO
MASTERS):

Propriedade MASTER DELETE TRIGGERS


NON-ISOLATED (default) ON-CHECK-DELETE-MASTER
ON-CLEAR-DETAILS
ON-POPULATE-DETAILS
CASCADING ON-CLEAR-DETAILS
ON-POPULATE-DETAILS
PRE-DELETE
ISOLATED ON-CLEAR-DETAILS
ON-POPULATE-DETAILS

Revendo a Funcionalidade - 114


Developer/2000 - Forms 4.5

CATEGORIA DOS TRIGGERS - CONTINUAO


MASTER-DETAIL
O Oracle Forms gera os triggers do tipo master-detail automaticamente quando
definimos um relacionamento master-details entre blocos.

On-Check-Delete-Master - inicia uma ao quando o Oracle Forms tenta


remover um registro de um bloco que o master de uma relao master-detail.
On-Clear-Details - inicia uma ao quando o Oracle Forms necessita limpar
os registros de um bloco que o detalhe em uma relao master-detail porque
aqueles registros no correspondem mais ao registro corrente no bloco master.
On-Populate-Details - inicia uma ao quando o Oracle Forms necessita
obter os registros para um bloco que o bloco detalhe em uma relao master-
detail, uma vez que os registros detalhe so sincronizados com o registro corrente
no bloco master.

VALIDATION TRIGGERS
So acionados quando o Oracle Forms valida dados em um item ou registro. O
Oracle Forms executa a validao durante a navegao que ocorre em resposta a
uma ao do operador, programao ou processamento default (ex.: um commit ).

When-Validate-Item - agrega cdigo validao default de um item.


When-Validate-Record - agrega cdigo validao default de um registro.]

BLOCK PROCESSING
Este tipo de trigger acionado em resposta a eventos relacionados a gerenciamento
de registros de um bloco.

When-Create_Record - executa uma ao quando o Oracle Forms cria um


novo registro em um bloco.
When-Clear-Block - executa uma ao quando o Oracle Forms limpa o bloco
corrente, isto , remove todos os registros do bloco.
When-Database-Record - executa uma ao quando o Oracle Forms altera o
status de um registro para INSERT ou UPDATE, indicando que o registro deve ser
processado pela prxima operao de COMMIT.
When-Remove-Record - executa uma ao quando um registro limpo
(CLEARED) ou removido.

Revendo a Funcionalidade - 115


Developer/2000 - Forms 4.5

TRANSACTIONAL TRIGGERS
So acionados em resposta a uma grande variedade de eventos que ocorrem quando
um Forms interage com os dados.

On-Delete - substitui o processamento default do Oracle Forms para manipulao dos


registros removidos durante o transaction posting.
On-Insert - substitui o processamento default do Oracle Forms para manuseio dos
registros inseridos durante o transaction posting.
On-Lock - substitui o processamento default do Oracle Forms para bloqueio
(lock) das rows no database.
On-Logon - substitui o processamento default do Oracle Forms para conexo
com o Oracle, especialmente para um Form que no requer uma conexo com o
database ou para a conexo a uma fonte de dados no Oracle.
On-Logout - substitui o processamento default do Oracle Forms para logout
do Oracle.
On-Update - substitui o processamento default do Oracle para manuseio dos
registros durante o transaction posting.
Post-Database-Commit - agrega cdigo ao processamento default do Oracle
Forms aps um database.
Post-Delete - audita transaes aps a remoo de uma row do database.
Post-Forms-Commit - agrega cdigo ao commit default do Oracle Forms
antes de efetivar transao.
Post-Insert - audita transaes aps a insero de uma row no database.
Post-Update - audita transaes aps a atualizao de uma row no database.
Pre-Commit - executa uma ao imediatamente antes das transaes de post
e commit, quando o Oracle Forms determina que existem alteraes no Form para
post ou para commit.
Pre-Delete - manipula um registro antes de ser removido durante o processo
default de post e commit.
Pre-Insert - manipula um registro antes dele ser inserido no database durante
o processo default de post e commit.
Pre-Update - valida ou modifica um registro antes do mesmo ser atualizado no DB
durante o processo default de post e commit.

Esta uma lista parcial dos triggers transacionais disponveis. Muitos dos no
apresentados existem apenas para aplicaes que iro executar contra bancos
de dados no Oracle.

Revendo a Funcionalidade - 116


Developer/2000 - Forms 4.5

MESSAGE-HANDLING
O Oracle Forms, automaticamente, informa os erros e mensagens (avisos) em
resposta a eventos de execuo. Os triggers do tipo message-handling so acionados
em resposta a estes eventos de informao.

On-Error - substitui uma mensagem de erro default por uma mensagem de


erro customizada.
On-Message - substitui uma mensagem default por uma mensagem
customizada.

OBTENDO INFORMAES SOBRE ERRO


Algumas das rotinas do pacote Standard Extensions nos ajudam a obter informaes
sobre o tipo, cdigo e mensagem do erro. Podemos usar estas rotinas nas triggers de
tratamento de mensagens.

Rotinas para obteno de erros do Forms


ERROR_TYPE; return CHAR
ERROR_CODE; return NUMBER
ERROR_TEXT; return CHAR

Rotinas para obteno de warning do Forms


MESSAGE_TYPE; return CHAR
MESSAGE_CODE; return NUMBER
MESSAGE_TEXT; return CHAR

Rotinas para obteno de erros do Oracle RDBMS


DBMS_ERROR_CODE; return NUMBER
DBMS_ERROR_TEXT; return CHAR

INTERFACE EVENT
Este tipo de trigger acionado em resposta a uma ao do usurio (ou por
programao). Deste grupo faltou mencionarmos os triggers do tipo Key-*.

Key-* - substitui a funcionalidade (default) correspondente funo acionada.

Revendo a Funcionalidade - 117


Developer/2000 - Forms 4.5

OUTRA CLASSIFICAO
Os triggers, tambm, podem ser subdivididos por nome. Desta forma, existem 5
categorias de triggers; cada uma relacionada a um tipo particular de evento que
ocorre durante o processo de execuo.

WHEN-<event> - indica um ponto em que podemos adicionar operaes ou


tarefas ao processamento default do Oracle Forms.
Por exemplo, o trigger WHEN-VALIDATE-ITEM acionado imediatamente aps o
Oracle Forms validar os dados em um item.

ON-<event> - indica um ponto em que substitumos o processamento default


do Oracle Forms.
Por exemplo, o trigger ON-LOGON ser acionado quando o Oracle Forms
necessitar se conectar ao Oracle.

PRE-<event> - indica um ponto imediatamente antes da ocorrncia de um


WHEN-EVENT ou ON-EVENT.

POST-<event> - indica um ponto imediatamente aps a ocorrncia de um


WHEN-EVENT ou ON-EVENT.

KEY-* - possuem uma ligao direta (1 para 1) com a tecla especfica, ou seja,
o trigger acionado quando o operador pressiona a seqncia de teclas
especficas.

Para que um trigger seja executvel no modo ENTER QUERY, a propriedade ENTER
QUERY MODE deve estar TRUE.

Para sabermos o modo de ao de um trigger (NORMAL ou ENTER QUERY),


podemos usar a varivel de sistema: SYSTEM.MODE.

OUTROS TRIGGERS DO ORACLE FORMS


When-Form-Navigate On-Fetch Pre-Logon
When-List-Activated On-Savepoint Pre-Logout
When-List-Changed On-Select Pre-Select
On-Check-unique On-Rollback Post-Logout
On-Close On-Sequence-Number Post-Select
On-Column-Security On-Count Post-Logon
On-Commit

Revendo a Funcionalidade - 118


Developer/2000 - Forms 4.5

MAIS ROTINAS DO PACKAGE STANDARD EXTENSIONS

Rotinas para manipulao da transao


Abort_Query
Clear_Block(Kwd)
Clear_Item
Commit_Form
Create_Record
Delete_Record
Enter_Query
Enter_Query(Kwd)
Enter_Query(Kwd1, Kwd2)
Enter_Query(Kwd1, Kwd2, Kwd3)
Execute_Query
Execute_Query(Kwd)
Execute_Query(Kwd1, Kwd2)
Execute_Query(Kwd1, Kwd2, Kwd3)
Duplicate_Item
Duplicate_Record
Insert_Record
Lock_Record
Rollback_Form
Update_Record
Exit_Form(Kwd1, Kwd2)

Revendo a Funcionalidade - 119


Developer/2000 - Forms 4.5

Rotinas para obteno das propriedades de um objeto


Get_Application_Property(Property)
Get_Block_Property(Block_Id, Property)
Get_Block_Property(Block_Name, Property)
Get_Canvas_Property(Canvas_Id, Property)
Get_Canvas_Property(Canvas_Name, Property)
Get_Form_Property(Formmodule_Id, Property)
Get_Form_Property(Formmodule_Name, Property)
Get_Item_Property(Item_Id, Property)
Get_Item_Property(Item_Name, Property)
Get_Lov_Property(Lov_Id, Property)
Get_Lov_Property(Lov_Name, Property)
Get_Menu_Item_Property(Menuitem_Id, Property)
Get_Menu_Item_Property(Menuitem_Name, Property)
Get_Radio_Button_Property(Item_Id, Button_Name, Property)
Get_Radio_Button_Property(Item_Name, Button_Name, Property)
Get_Record_Property(Record_Number, Block_Name, Property)
Get_Relation_Property(Relation_Id, Property)
Get_Relation_Property(Relation_Name, Property)
Get_View_Property(View_Id, Property)
Get_View_Property(View_Name, Property)
Get_Window_Property(Window_Id, Property)
Get_Window_Property(Window_Name, Property)

Revendo a Funcionalidade - 120


Developer/2000 - Forms 4.5

Rotinas para manipulao de canvas e windows


Hide_View(View_Id)
Hide_View(View_Name)
Hide_Window(Window_Id)
Hide_Window(Window_Name)
Replace_Content_View(Window_Id, View_Name)
Replace_Content_View(Window_Name, View_Id)
Replace_Content_View(Window_Name, View_Name)
Resize_View(P, Xs, Ys)
Resize_Window(Window_Id, Width, Height)
Resize_Window(Window_Name, Width, Height)
Scroll_View(View_Id, X, Y)
Scroll_View(View_Name, X, Y)
Show_View(View_Id)
Show_View(View_Name)
Show_Window(Window_Id)
Show_Window(Window_Id, X, Y)
Show_Window(Window_Name)
Show_Window(Window_Name, X, Y)

Revendo a Funcionalidade - 121


Developer/2000 - Forms 4.5

Rotinas para manipulao de List Items


Add_List_Element(Item_Id, Item_Index, Label_Str, Value_Str)
Add_List_Element(Item_Name, Item_Index, Label_Str, Value_Str)
Clear_List(Item_Id)
Clear_List(Item_Name)
Delete_List_Element(Item_Id, Item_Index)
Delete_List_Element(Item_Name, Item_Index)
Get_List_Element_Count(Item_Id)
Get_List_Element_Count(Item_Name)
Get_List_Element_Label(Item_Id, Item_Index)
Get_List_Element_Label(Item_Name, Item_Index)
Get_List_Element_Value(Item_Id, Item_Index)
Get_List_Element_Value(Item_Name, Item_Index)
Populate_List(Item_Id, Recgrp_Id)
Populate_List(Item_Id, Rg_Name)
Populate_List(Item_Name, Recgrp_Id)
Populate_List(Item_Name, Rg_Name)
Retrieve_List(Item_Id, Recgrp_Id)
Retrieve_List(Item_Id, Rg_Name)
Retrieve_List(Item_Name, Recgrp_Id)
Retrieve_List(Item_Name, Rg_Name)

Revendo a Funcionalidade - 122


Developer/2000 - Forms 4.5

VARIVEIS DO FORMS

O Oracle Forms possui quatro tipos de variveis:

Variveis Locais a um PL/SQL


Variveis Locais a uma Aplicao
Variveis Globais Sesso
Variveis de Sistema

VARIVEIS LOCAIS A UM PL/SQL


Uma varivel local aquela cujo valor s acessvel dentro do trigger ou rotina na
qual a varivel declarada. Ao trmino da rotina ou trigger a varivel deixa de existir.

VARIVEIS LOCAIS A UMA APLICAO


So aquelas que podem ser utilizadas em qualquer rotina ou trigger de um Form. So
tambm chamadas de Null-Canvas-Item.

So itens que no esto associados a uma canvas, desta forma eles nunca so
visveis, pelo usurio, a tempo de execuo.

VARIVEIS GLOBAIS SESSO


Uma varivel global aquela cujo valor acessvel para triggers e rotinas em
qualquer mdulo que esteja ativo durante a sesso corrente.

Uma varivel global armazena uma string de at 255 caracteres.

Para fazer referncia a uma varivel global (PL/SQL) devemos prefixar seu nome com
a palavra GLOBAL.

:GLOBAL.my_var := to_char (:order.total * .85);

Revendo a Funcionalidade - 123


Developer/2000 - Forms 4.5

Rotinas para manipulao de variveis Globais


Default_Value(Val, Fie) - Atribui valor a uma varivel global cujo valor seja
NULL. Por exemplo : DEFAULT_VALUE (France, GLOBAL.country);
Se o valor da varivel global no for NULL a rotina no tem efeito. Se a varivel
global no existir, o Oracle Forms cria a varivel e atribui o valor especificado.

Erase(Globvar) - Destri uma varivel global.


Por exemplo: ERASE (GLOBAL.my_var);

DIFERENAS ENTRE VARIVEIS GLOBAIS E VARIVEIS NULL-CANVAS-ITEM


Itens podem ser definidos como CHAR, NUMBER ou DATE. Variveis globais
armazenam apenas strings e usam funes de converso (ex.: TO_DATE,
TO_NUMBER, etc.), que requerem processamento adicional.

Itens podem ser dimensionados atravs da propriedade max length; variveis


globais tem sempre 255 bytes.

Variveis globais so visveis atravs de mltiplos mdulos durante uma


sesso; itens no so.

A operao CLEAR_FORM atribui null a todas as variveis null-canvas item; o


valor de uma varivel global no afetado pelo CLEAR_FORM.

Ambas as variveis podem ser usadas na clusula WHERE dos comandos


SQL.

Revendo a Funcionalidade - 124


Developer/2000 - Forms 4.5

VARIVEIS DE SISTEMA
O Oracle Forms possui um conjunto de variveis pr definidas, chamadas de System
Variables, s quais so atribudos valores a tempo de execuo pelo prprio Oracle.

Estas variveis fornecem um conjunto de informaes sobre a aplicao. Em sua


maioria so read-only.

System.BLOCK_STATUS - representa o status do bloco em que o cursor est


localizado ou o bloco corrente durante o processamento de um trigger. Pode
assumir os seguintes valores:

CHANGED - indica que o bloco contm pelo menos 1(um) registro


alterado.
NEW - indica que o bloco contm apenas registros novos.
QUERY - indica que o bloco contm somente registros vlidos
recuperados do database.

System.COORDINATION_OPERATION - Esta varivel usada juntamente


com SYSTEM.MASTER_BLOCK para auxiliar o trigger ON_CLEAR_DETAILS a
determinar que tipo de coordination causou a operao ser disparada e em que
Master Block da relao Master-Detail.

System.CURRENT_BLOCK - Se a unidade de navegao corrente bloco,


registro ou campo, a varivel de sistema contm o nome do bloco que o Oracle
Forms est processando. Se a unidade de navegao Form, o valor NULL.

System.CURRENT_DATETIME - Representa a data do sistema operacional.


O valor um CHAR no seguinte formato: DD-MON-YYYY HH24:MM:SS

System.CURRENT_ITEM - Se a unidade de navegao corrente item, a


varivel contm o nome do item que o Oracle Forms est processando (sem
bloco). Se a unidade de navegao corrente registro, bloco ou Form, o valor
NULL.

System.CURRENT_FORM - nome do Form que o Oracle Forms est


executando.

System.CURRENT_VALUE - representa o valor do item corrente. O que est


na varivel System.CURRENT_ITEM. O valor est sempre no formato string.

Revendo a Funcionalidade - 125


Developer/2000 - Forms 4.5
System.CURSOR_BLOCK - representa o nome do bloco onde o cursor est
localizado. O valor est sempre no formato string.

System.CURSOR_ITEM - representa o nome do bloco e item para block.item,


onde o foco (cursor) est localizado.

System.CURSOR_RECORD - representa o nmero do registro em que o


cursor est localizado. O nmero indica o registro corrente dentro da ordem de
apresentao dos registros no bloco. O valor est sempre no formato string.

System.CURSOR_VALUE - representa o valor do item onde o cursor est


localizado. O valor est sempre no formato string.

System.CUSTOM_ITEM_EVENT - Armazena o nome do evento disparado por


um VBX Control.

System.CUSTOM_ITEM_EVENT_PARAMETERS - Armazena os argumentos


suplementares para um evento disparado por um VBX Control.

System.DATE_THRESHOLD(*) - Determina a freqncia com que o Oracle


Forms sincroniza as datas do database com o RDBMS. Esta varivel trabalha junto
com as variveis $$DBDATE$$, $$DBDATETIME$$ e $$DBTIME$$. Seu valor tem
o formato: MI:SS.

System.EFFECTIVE_DATE(*) - Representa a data efetiva do database, no


formato: DD-MON-YYYY HH24:MI:SS.

System.EVENT_WINDOW - representa o nome da ltima window que foi


afetada pela ao que causou uma das window event triggers serem acionadas.
Se um dos triggers WHEN-WINDOW-ACTIVATED, WHEN-WINDOW-CLOSED, WHEN-
WINDOW-DEACTIVATED ou WHEN-WINDOW-RESIZED forem usados, a varivel
modificada.

System.FORM_STATUS - representa o status do Form em que o cursor est


localizado. Pode assumir um dos seguintes valores:

CHANGED - indica que o Form contm pelo menos um bloco com registro
alterado.
NEW - indica que o Form contm apenas registros novos.
QUERY - indica que existe uma consulta em andamento, ou seja, o Form
contm pelo menos um bloco em QUERY e nenhum bloco com
CHANGED.

Revendo a Funcionalidade - 126


Developer/2000 - Forms 4.5
System.LAST_QUERY - representa o comando SELECT que o Oracle Forms
usou mais recentemente para preencher um bloco durante a sesso.

System.LAST_RECORD - indica se o registro corrente o ltimo registro do


bloco. O valor um caracter com uma das seguintes opes:

TRUE - indica que o registro corrente o ltimo registro da lista.


FALSE - indica que o registro corrente no o ltimo registro.

System.MESSAGE_LEVEL(*) - indica o nvel das mensagens. Pode assumir


um dos valores: 0, 5, 10, 15, 20 ou 25. O valor sempre caracter.

System.MODE - indica se o Form est no modo Normal (NORMAL), Enter


query (ENTER-QUERY) ou Fetch Processing (QUERY).

System.MOUSE_BUTTON_ PRESSED - O nmero do boto que foi


pressionado (1/2)

System.MOUSE_BUTTON_SHIFT_STATE - O estado do shift quando o


mouse foi pressionado.

System.MOUSE_CANVAS - O nome da canvas que est sob o mouse.

System.MOUSE_FORM - Nome do mdulo Form em que o mouse est.

System.MOUSE_ITEM - O nome do item que est sob o mouse.

System.MOUSE_RECORD - O nmero do registro que o mouse est


posicionado.

System.MOUSE_RECORD_OFFSET - O offset do primeiro registro visvel em


que o mouse est posicionado.

System.MOUSE_X_POS - Coordenada X do mouse sobre a canvas, exceto


quando usada na trigger when-mouse-enter. Neste caso a coordenada relativa
ao item associado trigger.

System.MOUSE_Y_POS - Coordenada Y do mouse sobre a canvas, exceto


quando usada na trigger when-mouse-enter. Neste caso a coordenada relativa
ao item associado trigger.

Revendo a Funcionalidade - 127


Developer/2000 - Forms 4.5
System.RECORD_STATUS - representa o status do registro onde o cursor
est localizado. O valor pode ser um dos seguintes:

CHANGED - indica que o estado de validao do registro Alterao.


INSERT - indica que o registro no existe no database.
NEW - indica que um novo registro est sendo criado.
QUERY - indica que o registro vlido e que foi recuperado do database.

System.SUPPRESS_WORKING (*) - indica se a mensagem Working ...


deve ser suprimida (TRUE) ou no (FALSE).

System.TRIGGER_BLOCK - representa o nome do bloco onde o cursor


estava localizado quando o trigger corrente foi acionado.

System.TRIGGER_ITEM - representa o item (block.item) no escopo do qual o


trigger foi acionado.

System.TRIGGER_RECORD - representa o nmero de registros que o Oracle


Forms est processando.

OBS: Todas as variveis de sistema so read-only, exceto (*).

Revendo a Funcionalidade - 128


Developer/2000 - Forms 4.5

ALERTAS
Um alerta uma modal window que mostra uma mensagem para notificar o operador
de alguma condio da aplicao. Os alertas aparecem em resposta a eventos.

Existem 3 estilos de alertas: stop,


caution e note. Cada estilo indica um
nvel de severidade.

Quando criamos um alert,


necessitamos especificar somente
informaes bsicas tais como: a
mensagem que ser mostrada e
os ttulo dos botes. A tempo de
execuo, o Oracle Forms mostra
o alerta no tamanho, estilo e
formato apropriado plataforma
que ele est sendo executado.

Podemos definir at 3 botes para


um alerta. A ao que cada boto
inicia determinada pelo cdigo
PL/SQL definido para o alerta.

Revendo a Funcionalidade - 129


Developer/2000 - Forms 4.5

PROPRIEDADES DOS ALERTAS


Name - Nome do alerta.
Class - Classe a que pertence.

DISPLAY
Title - texto a ser apresentado na janela do alerta.
Visual Atribute Name - indica o nome de um atributo visual para o objeto.
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background)
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).

FUNCTIONAL
Alert Style - Determina o estilo do alerta: Stop, Caution ou Note.
Button 1 - Ttulo do primeiro boto do alerta.
Button 2 - Ttulo do segundo boto do alerta (se existir).
Button 3 - Ttulo do terceiro boto do alerta (se existir).
Default Alert Button - Indica qual dos botes ser o default (aparecer
selecionado). O usurio poder pressionar a tecla [Enter].
Message - Mensagem a ser mostrada para o usurio.
Direction - especifica a direo de desenvolvimento do objeto (para NLS
applications).

Revendo a Funcionalidade - 130


Developer/2000 - Forms 4.5

MISCELLANEOUS
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Uma vez criado o alerta, devemos definir os triggers ou rotinas para mostrar o alerta
em resposta a um evento em particular.

Rotinas associadas a alertas


Change_Alert_Message(Alert_Id, Message)
Change_Alert_Message(Alert_Name, Message)
Show_Alert(Alert_Id)
Show_Alert(Alert_Name)

A rotina SHOW-ALERT retorna um numrico correspondendo ao boto que o


operador selecionou. Os menumnicos alert_button1, alert_button2 ou
alert_button3 podem ser usados para verificarmos qual o boto que o usurio
selecionou.

Revendo a Funcionalidade - 131


Developer/2000 - Forms 4.5

EDITOR
Existe um editor de texto associado a
cada Form. Por default, os operadores
utilizam o editor quando navegam para
um text item e pressionam a tecla
[EDIT] ou selecionando EDIT no menu
default.

Podemos, criar editores especficos:

Ele poder conter algumas caractersticas especiais, sua funcionalidade, porm, a


mesma do editor default. Este editor especfico poder ser mostrado, por
programao, independente de qualquer text item particular com a procedure
SHOW_EDITOR.

Quando um editor mostrado a tempo de execuo, o Oracle Forms entrar no


modo EDIT. Isto significa que nenhum trigger ser executado at que haja o
retorno para o modo NORMAL.

O editor default possui as caractersticas de : SEARCH/REPLACE, CUT, COPY e


PASTE, s quais so herdadas pelos editores criados pelo usurio.

CRIANDO UM EDITOR ESPECFICO


No Object Navigator devemos
selecionar o n editors e usar a
ferramenta create para criar um novo
editor. Usando o boto direito do
mouse obtemos a janela de
propriedades.

Ao marcarmos OK neste janela, o


editor com as caractersticas
definidas ser criado e poder ser
associado a um ou mais itens, da
mesma forma vista anteriormente.

Revendo a Funcionalidade - 132


Developer/2000 - Forms 4.5

PROPRIEDADES DOS EDITORES


Name - Nome do editor
Class - Classe a que pertence.

DISPLAY
X Position / Y Position - posicionamento defaut para o editor
Width / Height - define o tamanho para o editor
Title/Bottom Title - ttulos de cabealho e rodap.
Visual Atribute Name - indica o nome de um atributo visual para o objeto.
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background)
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).

FUNCTIONAL
Wrap Style - estilo de apresentao do texto que ocupe mais de uma linha no
limite da janela do editor, ou seja, na quebra da linha (none, character, word).
Horizontal / Vertical Scroll Bar -Uso ou no de barra de scroll.

MISCELLANEOUS
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Revendo a Funcionalidade - 133


Developer/2000 - Forms 4.5

MODIFICANDO A POSIO DE APRESENTAO DE UM EDITOR


Na janela de propriedades do item, podemos informar a posio X e Y do canto
superior esquerdo da janela do editor em relao Canvas.

USANDO UM EDITOR DO SISTEMA


Na propriedade EDITOR NAME devemos especificar SYSTEM_EDITOR. O nome do
editor especfico a ser usado dever ser definido pela varivel de ambiente
FORMS_EDITOR, o qual deve usar formato de texto ASCII. (ver Oracle Forms
documentation para o sistema operacional especfico para as opes de editores
disponveis).

Rotinas associadas a editores


Edit_Textitem
Edit_Textitem(X, Y)
Edit_Textitem(X, Y, Width, Height)
Show_Editor(Editor_Id, Message_In, Message_Out, Result)
Show_Editor(Editor_Id, Message_In, X, Y, Message_Out, Result)
Show_Editor(Editor_Name, Message_In, Message_Out, Result)
Show_Editor(Editor_Name, Message_In, X, Y, Message_Out, Result)

As procedures EDIT_TEXTITEM e SHOW_EDITOR podero ser usadas a tempo de


execuo a fim de forar a presena de um editor.

A rotina EDIT_TEXTITEM chama o editor associado com o item corrente no Form.

GO_ITEM (nm_func) ou EDIT_TEXTITEM(X, Y, WIDTH, HEIGHT)


EDIT_TEXTITEM

A rotina SHOW_EDITOR mostra um editor especfico nas coordenadas apresentadas,


como abaixo:

SHOW_EDITOR (editor_name, message_in, X, Y, message_out, result);

MESSAGE_IN - o texto a ser editado.


MESSAGE_OUT - o texto aps a modificao feita pelo operador.
RESULT - um boleano que receber TRUE se o operador aceitar o editor (OK) e
FALSE caso o mesmo seja cancelado. Neste caso (FALSE), message_out receber
NULL.

Revendo a Funcionalidade - 134


Developer/2000 - Forms 4.5

LISTA DE VALORES (LOVS)

Uma LOV uma lista de valores


passvel de seleo, mostrada em
uma pop-up window.

As LOV's so sempre modal e os


operadores no podem trabalhar
em outras windows enquanto uma
LOV mostrada.

Uma LOV pode ser associada a um


ou mais itens no Form.

Quando o operador navega para


este item, o Oracle Forms mostra
um indicador (<LIST>) na linha de
status para indicar que existe um
LOV disponvel para aquele item.
LISTA DE VALORES

Quando este indicador aparece, o


operador pode pressionar a tecla
[<LIST OF VALUES>] para acionar
a LOV associada com o item
corrente.

Revendo a Funcionalidade - 135


Developer/2000 - Forms 4.5

CRIANDO UMA LOV

No object navigator, selecionar o n LOV .


Pressionar a create(+), (ferramenta da paleta de ferramentas).
Preencher o dilogo ao lado.

Este dilogo tem o objetivo de determinar a origem dos dados que sero
mostrados no LOV:

Existing Record Group - Neste caso devemos informar o nome do Record


Group que fornecer os dados que sero mostrados pela LOV. O Record Group j
deve ter sido criado anteriormente na aplicao.
V2-Style TABLE COLUMN Values - Opo para compatibilidade com verses
anteriores. No deve ser usada.
New Record Group Based on the Query below - Neste caso ser criado
simultaneamente a LOV e o Record Group que conter os dados a serem
apresentados por esta LOV. A Query a ser usada (pelo Record Group) para o seu
preenchimento deve ser fornecida no espao apropriado.

Revendo a Funcionalidade - 136


Developer/2000 - Forms 4.5

PROPRIEDADES DE UMA LOV

Name - Nome do LOV


Class - Classe a que a LOV
pertence.

DISPLAY
X Position / Y Position - indica o
posicionamento defaut para a
LOV.
Width / Height - define o
tamanho para a janela da LOV.
Title - Especifica o texto que o
Oracle Forms ir mostrar na barra
Ttulo da janela da LOV.
Visual Atribute Name - indica
o nome de um atributo visual para
o objeto.
Font Name - nome da fonte
usada para textos no objeto.
Font Size - tamanho da fonte,
especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background)
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).

Revendo a Funcionalidade - 137


Developer/2000 - Forms 4.5

FUNCTIONAL
LOV Type - Determina em que o LOV est baseado (Record Group ou V2-
Style).
Record Group - Nome do Record Group
Column Mapping - Pressionar a tecla More para que seja mostrado o
dilogoColumn Mapping.
Auto-Cofirm - Determina o que acontece quando o operador reduz a lista de
opes do LOV para uma nica opo, seja fazendo uma pesquisa (searching) ou
usando auto-reduo (que ocorre quando o operador digita a informao
desejada).

Quando esta propriedade recebe o valor TRUE, a LOV fecha a window


automaticamente e associa os valores correspondentes.
Quando esta propriedade recebe o valor FALSE, a LOV permanece ativa
aguardando que o operador explicitamente selecionou a opo ou cancele.

Auto-Display - Determina que o Oracle Forms mostre o LOV


automaticamente quando houver uma navegao para o item associado ao LOV.
Auto-Refresh - Determina quando o Oracle Forms re-executa o query
associado com o LOV.

Quando esta propriedade TRUE (default), o Oracle Forms executa a


query cada vez que a LOV acionada.
Quando esta propriedade FALSE o Oracle s executar a query se o
record group no tiver sido preenchido anteriormente neste ou em outro
LOV que use o mesmo record group. Neste caso devemos manipular o
preenchimento do record group por programao.

Auto Skip - Se esta propriedade recebe o valor TRUE, o Oracle Forms ir


mover o foco para o prximo item navegvel no Form quando o operador
selecionar uma opo da LOV.
Long List - Quando esta propriedade for TRUE, o Oracle ir mostrar um
dilogo de query antes de mostrar a LOV para que o operador entre com um valor
que restrinja a lista apresentada na LOV.
Direction - especifica a direo de desenvolvimento do objeto (para NLS
applications).

MISCELLANEOUS
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Revendo a Funcionalidade - 138


Developer/2000 - Forms 4.5

MAPEANDO AS COLUNAS A SEREM APRESENTADAS

Column Name - Nome da coluna


do record group.

Return Item - Nome do item


(coluna da tela, global, parmetro)
para onde ser movido o contedo da
coluna do record group. Pode ficar em
branco.

Display Width - Nmero de


caracteres que o Oracle Forms deve
reservar para mostrar esta coluna no
vdeo.
Se desejarmos que uma determinada
coluna fique escondida colocamos
neste campo o tamanho zero.

Column Title - Nome da coluna


(ttulo) que ser mostrada no vdeo.

ASSOCIAO DA LOV A UM ITEM


Podemos associar a LOV a um ou mais itens no Form. Esta associao feita na
janela de propriedades do item (grupo miscellaneous), bastando que seja preenchido
o campo LOV com o nome da LOV criada.

A associao da LOV a um item permite que o usurio pressione a tecla [ <List of


Values>] e que a lista seja apresentada.

Revendo a Funcionalidade - 139


Developer/2000 - Forms 4.5

CONTROLANDO A APRESENTAO DE UMA LOV


Podemos, entretanto, desejar que o acesso LOV seja feito atravs de um boto ou
em outra situao que exija a interveno da programao.

Desta forma utilizaremos as rotinas do pacote Standard Extensions para permitir esta
forma de trabalho.

Rotinas para manipulao de uma LOV


Show_Lov(Lov_Name)
Show_Lov(Lov_Name, X, Y)
Show_Lov(Lov_Id, X, Y)
Show_Lov
show_Lov(Lov_Id)

Revendo a Funcionalidade - 140


Developer/2000 - Forms 4.5

RECORD GROUPS
Um record group uma estrutura interna do Oracle Forms que semelhante a uma
tabela da base de dados, s que em memria.

Os record groups so objetos independentes que pertencem ao mdulo Form no qual


foram criados.

Existem 3 tipos de record groups:

QUERY RECORD GROUP


um record group que possui um comando SELECT associado.

STATIC RECORD GROUP


No possui uma query associada e os valores e estrutura so informados a tempo de
Design. A tempo de execuo os valores no podem ser alterados.

NON-QUERY RECORD GROUP


No possui uma query associada, mas a estrutura e os valores associados so
modificveis a tempo de execuo.

A tempo de desenvolvimento podemos criar query record groups e static record


groups.

A tempo de execuo podemos, por programao, criar query record groups e non-
query record groups.

Revendo a Funcionalidade - 141


Developer/2000 - Forms 4.5

CRIANDO RECORD GROUPS


A criao de Record Groups pode ser feita no momento da criao da LOV ou
diretamente no Object Navigator, usando-se a ferramenta Create (+) sobre o n
Record Group.

O dilogo (acima) apresentado permitir a criao de um Record Group baseado em


uma Query ou um Record Group baseado em valores estticos (fixos).

QUERY RECORD GROUP:


Colocamos o seletor em Based on Query below

Preenchemos o espao com o


comando select desejado

Pressionamos o boto OK

Oracle far a validao do


comando Select.

Colocar os nomes das colunas


selecionadas em column Names.

Os atributos de tipo de dado e


tamanho tambm sero carregados
para o Record Group.

Estes atributos ficaro visveis


para a coluna (do record group que
tiver o foco).

Revendo a Funcionalidade - 142


Developer/2000 - Forms 4.5

STATIC RECORD GROUP


Colocamos o seletor em Static Values

No dilogo apresentado devemos preencher o campo Column Name, com o


nomes de cada coluna desejada.

No campo record group preencher com seu tipo e tamanho correspondente.

No campo Column Value, informamos os valores associados a cada coluna.

PROPRIEDADES DE UM RECORD GROUP


Name - Nome do Record Group.
Class - Classe a que o Record Group pertence.

FUNCTIONAL
Record Group Type - Tipo do Record Group. Os valores vlidos para esta
opo so: Query ou Static.
Record Group Query - Texto da query.
Column Specification - Pressionar a tecla More para que seja mostrado o
dilogo Column Specification.

MISCELLANEOUS
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Revendo a Funcionalidade - 143


Developer/2000 - Forms 4.5

CONTROLANDO O PREENCHIMENTO DE UM RECORD GROUP

Rotinas para manipulao de um Record Group


Add_Group_Column(Recordgroup_Id, Groupcolumn_Name, Column_Type)
Add_Group_Column(Recordgroup_Id, Groupcolumn_Name, Column_Type,
Column_Width)
Add_Group_Column(Recordgroup_Name, Groupcolumn_Name,
Column_Type)
Add_Group_Column(Recordgroup_Name, Groupcolumn_Name,
Column_Type, Column_Width)
Add_Group_Row(Recordgroup_Id, Row_Number)
Add_Group_Row(Recordgroup_Name, Row_Number)
Create_Group(Recordgroup_Name)
Create_Group_From_Query(Recordgroup_Name, Query)
Delete_Group(Recordgroup_Id)
Delete_Group(Recordgroup_Name)
Delete_Group_Row(Recordgroup_Id, Row_Number)
Delete_Group_Row(Recordgroup_Name, Row_Number)
Get_Group_Char_Cell(Groupcolumn_Id, Row_Number)
Get_Group_Char_Cell(Groupcolumn_Name, Row_Number)
Get_Group_Date_Cell(Groupcolumn_Id, Row_Number)
Get_Group_Date_Cell(Groupcolumn_Name, Row_Number)
Get_Group_Number_Cell(Groupcolumn_Id, Row_Number)
Get_Group_Number_Cell(Groupcolumn_Name, Row_Number)
Get_Group_Record_Number(Groupcolumn_Id, Cell_Value)
Get_Group_Record_Number(Groupcolumn_Id, Cell_Value)
Get_Group_Record_Number(Groupcolumn_Id, Cell_Value)
Get_Group_Record_Number(Groupcolumn_Name, Cell_Value)
Get_Group_Record_Number(Groupcolumn_Name, Cell_Value)
Get_Group_Record_Number(Groupcolumn_Name, Cell_Value)
Get_Group_Row_Count(Recordgroup_Id)
Get_Group_Row_Count(Recordgroup_Name)
Get_Group_Selection(Recordgroup_Id, Selection_Number)
Get_Group_Selection(Recordgroup_Name, Selection_Number)
Get_Group_Selection_Count(Recordgroup_Id)
Get_Group_Selection_Count(Recordgroup_Name)

Revendo a Funcionalidade - 144


Developer/2000 - Forms 4.5

Populate_Group(Recordgroup_Id)
Populate_Group(Recordgroup_Name)
Populate_Group_With_Query(Recordgroup_Id, Query)
Populate_Group_With_Query(Recordgroup_Name, Query)
Reset_Group_Selection(Recordgroup_Id)
Reset_Group_Selection(Recordgroup_Name)
Set_Group_Char_Cell(Groupcolumn_Id, Row_Number, Cell_Value)
Set_Group_Char_Cell(Groupcolumn_Name, Row_Number, Cell_Value)
Set_Group_Date_Cell(Groupcolumn_Id, Row_Number, Cell_Value)
Set_Group_Date_Cell(Groupcolumn_Name, Row_Number, Cell_Value)
Set_Group_Number_Cell(Groupcolumn_Id, Row_Number, Cell_Value)
Set_Group_Number_Cell(Groupcolumn_Name, Row_Number, Cell_Value)
Set_Group_Selection(Recordgroup_Id, Row_Number)
Set_Group_Selection(Recordgroup_Name, Row_Number)
Unset_Group_Selection(Recordgroup_Id, Row_Number)
Unset_Group_Selection(Recordgroup_Name, Row_Number)

Revendo a Funcionalidade - 145


Developer/2000 - Forms 4.5

VISUAL ATTRIBUTE
Um atributo visual um grupamento de propriedades visuais que podemos criar com
o intuito de estabelecer um padro para determinadas situaes dos objetos do
Oracle.

Nos blocos e nos itens a propriedade Current Record Attribute pode ser preenchida
com o nome de um atributo visual para que o usurio possa identificar com facilidade
o registro atualmente em uso.

A propriedade Visual Attribute Name pode estabelecer um padro visual para os itens
que no pertencerem ao registro corrente.

Os objetos visveis pelo usurio (Alertas, Lovs, Editores, etc) possuem propriedade
que permite a identificao de um padro visual.

Revendo a Funcionalidade - 146


Developer/2000 - Forms 4.5

PROPRIEDADES DOS ATRIBUTOS VISUAIS


Name - Nome do atributo visual.
Class - Classe a que pertence o atributo visual.

DISPLAY
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background)
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).

MISCELLANEOUS
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Revendo a Funcionalidade - 147


Developer/2000 - Forms 4.5

CLASSE DE PROPRIEDADES
As propriedades podem ser agrupadas em classes, nos mdulos Menu e Forms.

Estas classes podem ser alteradas de modo a servir de base para tipos padres de itens (de
blocos, de alertas, etc, ou seja, de objetos).

Na janela de propriedades do objeto se informa a classe em que o objeto se basear.

As propriedades que tiverem seus valores herdados da classe base so mostrados


precedidos do sinal de igual (=).

Propriedades no existentes na classe original ou cujos valores foram modificados no item no


apresentam o sinal indicador.

Revendo a Funcionalidade - 148


Developer/2000 - Forms 4.5

CRIANDO UMA CLASSE

Devemos selecionar o n Property Class e com a


ferramenta CREATE(+) adicionar uma nova classe.

Ao selecionarmos, com o boto direito do mouse properties nesta nova classe,


encontraremos uma janela de propriedades, praticamente, vazia.

Se usarmos a ferramenta CREATE(+) da barra de ferramentas da janela de


propriedades, ser apresentado um dilogo para que possamos escolher as
propriedades desejadas.

No dilogo ao lado so apresentadas


todas as propriedades de todos os tipos
de objetos do Forms, para que possamos
selecionar aquelas que desejamos
padronizar.

A propriedade marcada ser trazida


para a classe e seu valor poder ser
atribudo, normalmente, agora.

Outra forma de chegarmos ao mesmo


resultado selecionando o tipo do objeto
para o qual desejamos estabelecer um
padro, por exemplo um item qualquer.

Usando a ferramenta Copy Properties da barra de ferramentas do Navigator


(ou a opo Copy Properties do menu Edit), poderemos copiar para o Clipboard
todas as propriedades do objeto selecionado.

Com a ferramenta Paste Properties (da prpria barra de ferramentas da


classe) podemos copiar todas as propriedades para a nova classe criada.

Desta forma poderemos, agora selecionar as propriedades indesejadas e


remov-las da classe com a ferramenta Delete Property (X) da barra de
ferramentas da classe.

Revendo a Funcionalidade - 149


Developer/2000 - Forms 4.5

As ferramentas FREEZE/UNFREEZE podem ajudar montagem


da classe uma vez que tornam possvel a comparao das
propriedades de dois objetos.

Seleciona a tela propriedades do primeiro objeto.


Congelar (freeze) esta tela de propriedades.
Selecionar a tela de propriedades do segundo objeto (shift + Double Click no cone).

As ferramentas INTERSECTION/UNION tambm nos auxiliaro


neste processo j permitiro a visualizao em uma nica caixa
de propriedades das propriedades comuns aos dois objetos ou
soma das propriedades dos dois objetos.

Revendo a Funcionalidade - 150


Developer/2000 - Forms 4.5

Captulo 6 : USO DE ROTINAS NO FORMS

FALANDO DE PL/SQL
A PL/SQL uma extenso para a linguagem SQL. Ela combina manipulao de
dados e transaes (capacidades do SQL) com construes tipicamente encontradas
em linguagens de programao estruturada tais como declaraes de variveis e
constantes, atribuies, looping, desvios, etc.

No Oracle Forms Designer escrevemos cdigo PL/SQL quando:

criamos um trigger

criamos um item no menu do tipo PL/SQL

criamos uma rotina (procedure, function ou package)

definimos um cdigo para menu startup

O Oracle Forms oferece uma grande quantidade de procedures e funes pr-


definidas que podem ser usadas em triggers, menus e rotinas, mas, que no podem
ser modificadas.

Uso de Rotinas no Forms - 151


Developer/2000 - Forms 4.5

CRIANDO UMA PROGRAM UNIT


A criao de uma rotina do usurio pode ser feita com o objetivo de colocarmos em
um nico ponto trechos de programas que se repetiro em vrias partes do aplicativo.

O procedimento a ser adotado para a criao o mesmo j visto anteriormente, ou


seja:

Seleo do n Program Units


Uso da ferramenta Create (+)

O dilogo acima ser apresentado para que faamos a opo do tipo de unidade de
programa desejada.

Ao pressionarmos o boto OK, ser acionado o edito PL/SQL para a digitao do


programa.

Uso de Rotinas no Forms - 152


Developer/2000 - Forms 4.5

IDENTIFICADORES NO ORACLE FORMS


Quando declaramos uma varivel no Oracle Forms, alm dos tipos correspondentes
s colunas de um database, j conhecidos em PL/SQL, ainda podemos ter:

ALERT ITEM
BLOCK LOV
CANVAS MENUITEM
GROUPCOLUMN PARAMLIST
EDITOR RELATION
FORM MODULE TIMER
RECORDGROUP VIEWPORT
WINDOW

No Oracle Forms, existem tipos de variveis para cada um dos tipos de objetos
existentes.

Ele associa um identificador (ID) para cada objeto criado, ou seja, um indexador
interno, cujo valor nunca apresentado.

Podemos obter o ID de um objeto atravs da funo FIND_ (Standard Extensions)


apropriada para cada tipo de objeto.

Declare
id_var window;
Begin
id_var := Find_Window(my_window);
End;

O valor retornado de uma funo FIND_ possui um tipo especfico, correspondente ao


tipo do objeto.

Uso de Rotinas no Forms - 153


Developer/2000 - Forms 4.5
Existem 2 razes para usarmos identificadores no PL/SQL:

Performance
Tornar o cdigo mais genrico (mais fcil de dar manuteno)

Cada vez que referenciamos um objeto pelo nome, o Oracle Forms faz o processamento
necessrio para obter o ID correspondente internamente.

Se fizermos referncia a um objeto mais de uma vez, o Oracle Forms repetir o processamento
o mesmo nmero de vezes.

USANDO O NOME DO OBJETO

Declare
dummy_var number;
conta number;
Begin
dummy_var := populate_group (my_group);
conta := get_group_row_count (my_group);
if conta > 20 then
delete_group_row (my_group, ALL_ROWS);
end_if;
End;

USANDO O ID DO OBJETO

Declare
dummy_var number;
count number;
group recordgroup := find_group (my_group);
Begin
dummy_var := populate_group (group);
count := get_group_row_count (group);
if count > 20 then
delete_group_row (group, ALL_ROWS);
end_if;
End;

Uso de Rotinas no Forms - 154


Developer/2000 - Forms 4.5

STORED PROCEDURES E DATABASE TRIGGERS


A criao de Stored Procedures segue o padro de criao de objetos visto at agora,
porm, esta criao no se dar no mdulo Forms, uma vez que tanto a Stored
Procedure quanto os Database Triggers sero armazenados na base de dados.

Devemos expandir o n Database Objects para que sejam apresentados os


usernames associados ao banco de dados ao qual estamos conectados.

Para cada User so apresentados quatro ns: Stored Program Units, Libraries,
Tables, Views.

A expanso de cada um dos ns apresentar os objetos existentes na base de dados


referente ao n expandido.

Se desejarmos criar e/ou modificar uma Stored Procedure ou um Database Trigger,


basta que selecionemos o n adequado e acionemos e editor de PL/SQL.

Uma Stored Procedure pode ser copiada do banco de dados para o Forms e vice e
versa, bastando que efetuemos a seleo do objeto desejado e com o boto do
mouse pressionado arrastemos para o n Program Units correspondente.

Uso de Rotinas no Forms - 155


Developer/2000 - Forms 4.5
No caso de Database Triggers, devemos selecionar a tabela desejada para que seja
mostrado o n triggers. Neste ponto, podemos ativar o editor de PL/SQL (ou a
ferramenta Create).

Ser apresentado o dilogo abaixo:

Devemos, ento, definir a trigger (ou modificaes um uma j existente) e salv-la na


base de dados.

Uso de Rotinas no Forms - 156


Developer/2000 - Forms 4.5

PARMETROS
Os parmetros so variveis do tipo char, number ou date definidas a tempo de
Design para que sejam informados no momento da ativao do Form.

F45RUN module = trade userid = scott / tiger debug = yes city = "BOGOTA"

No exemplo acima module, userid e debug so parmetros pr-definidos, enquanto


CITY um parmetro definido pelo usurio.

CRIANDO PARMETROS

No Object Navigator, selecionar o n Parameters


Com a ferramenta create(+) criar um novo parmetro.
Preencher as propriedades do parmetro

PROPRIEDADES DOS PARMETROS


Name - nome do parmetro
Class - Classe a que este
parmetro pertence.

DATA
Data Type - tipo do parmetro(char,
number ou date)
Maximum Length - Nmero
mximo de caracteres(s vlido para
char)
Default Value - Valor default do
parmetro

MISCELLANEOUS
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Uso de Rotinas no Forms - 157


Developer/2000 - Forms 4.5

USANDO OS PARMETROS NO FORMS

A referncia aos parmetros dentro de um PL/SQL do Forms feita usando a sintaxe:

: parameter. < nome do parmetro>

OBTENDO O VALOR DOS PARMETROS


No podemos usar a sintaxe anterior (em triggers, user-named routines, menu
comand ou stored procedure) se o parmetro no foi declarado no mesmo mdulo
que as rotinas.

Rotinas para obteno do valor de um parmetro

Copy(Source, Destination)
Name_In(F)

Neste caso usamos as rotinas pr-definidas NAME-IN e COPY

NAME-IN ('parameter. <nome do parmetro>')


COPY ('SAN JUAN', 'parameter. <nome do parmetro>')

Uso de Rotinas no Forms - 158


Developer/2000 - Forms 4.5

Captulo 7 : CARACTERSTICAS GERAIS


Da mesma forma que acontece com outros objetos, o Modulo Form possui
propriedades que controlam suas caractersticas a tempo de desenvolvimento e
execuo.

Estas propriedades podem ser modificadas durante o desenvolvimento da seguinte


forma :

Selecionar o objeto Form no Navigator

Usar o boto direito do mouse e escolher Properties

Modificar as propriedades desejadas

Encerrar o dilogo

Caractersticas Gerais - 159


Developer/2000 - Forms 4.5

PROPRIEDADES DO FORM
Name - o nome interno do
FORM. A tempo de desenvolvimento o
nome do mdulo apresentado na
linha de status.

Class - Nome da classe de


propriedades qual o Form se refere.

DISPLAY
Coordinate Information - Ao
pressionarmos (selecionamos) esta opo
apresentada o boto more Este boto
Apresentar um dilogo no qual
poderemos determinar o tipo de fonte a
ser usada no Forms.

Title - Especifica o ttulo a ser


mostrado para o objeto.

Current Record Attribute -


Especifica o nome de um atributo
visual quando um item parte do
registro corrente.

Horiz. MDI Toolbar - Vlido somente para Microsoft Windows. Especifica qual
canvas deve ser mostrada como uma barra de ferramentas horizontal para a MDI
application Window. A canvas especificada deve ter a propriedade type setada
para horizontal toolbar.

Vert. MDI Toolbar - Idem ao anterior para Vertical Toolbar.

Use 3D Controls - Indica que o Oracle Forms deve mostrar os itens com um
aspecto tridimensional (perspectiva). S vlido para MS Windows.

Caractersticas Gerais - 160


Developer/2000 - Forms 4.5

FUNCTIONAL
Cursor Mode - Define o estado dos cursores durante as transaes. Esta
propriedade til para aplicaes executando para bases de dados no Oracle.

Open - Indica que o cursor deve permanecer aberto durante a transao


(opo default).
Close - Indica que os cursores devem ser fechados quando ocorre um
commit.

Savepoint Mode - Define o gerenciamento para savepoints. Esta propriedade


foi includa para aplicaes que venham a executar com dados no Oracle. Para
base de dados Oracle, os valores default devem ser mantidos.

True (default) - Indica que o Oracle Forms deve criar um savepoint no


startup e no momento de cada processo post ou commit.

Mouse Navigation Limit - Determina como um operador poder navegar com


o mouse:

Form(default) - permite ao operador navegar para qualquer item no Form


corrente.
Block - permite ao operador navegar somente para itens que estejam
dentro do bloco corrente.
Record - permite ao operador navegar somente para itens que estejam
dentro do record corrente.
Item - impede o operador de navegar para fora do item corrente, ou seja,
impede o operador de navegar com o mouse.

Validation Unit - Determina quando os eventos de validao ocorrero


durante o processamento default do form. Os valores desta propriedade podem ser
(default, Form, block, record ou item). A menos que desejemos requerimentos de
validao especficos, devemos deixar o valor desta propriedade no default, uma
vez que desta forma o Oracle Forms ir utilizar a unidade de validao mais
apropriada ao ambiente de execuo. (Normalmente item, indicando que quando
houver navegao para fora de cada item sero disparados os triggers de
validao).
First Navigation Block - Indica o nome do bloco onde o Forms ir iniciar.
Console Window - Especifica o nome da Window em que ser mostrada a
Oracle Forms Console, que inclui a linha de status e a linha de mensagem.
Direction - Esta propriedade especfica para aplicaes que usem National
Language Suport (NLS) bidirecionais. Esta propriedade afetara a funcionalidade de
todo o Forms. A opo Default levar em considerao a direo natural de
escrita da NLS.

Caractersticas Gerais - 161


Developer/2000 - Forms 4.5

MENU
Menu Module - A propriedade menu module indica o tipo de menu a ser usado
com o Form corrente. O menu chamado automaticamente no incio do form.

Default indica que ser usado o menu default do Oracle. Se a deixarmos


em branco, indicamos que o Form no tem menu.

Menu Style - Especifica o estilo do menu (pull-down, full-screen ou bar).


Use File - Indica a localizao do .MMX quando for associado um Menu
customizado ao Form.

A referncia poder ser direta (TRUE), neste caso o local dever ser
informado no campo Menu Module.
Para a referncia indireta (FALSE), deve-se informar o nome do mdulo
Menu armazenado no banco de dados o qual indicar o nome e
localizao do Menu.

Starting Menu - Indica o nome de um menu individual dentro do Menu Module


que ser usado como menu principal.
Menu Role - Includo para compatibilidade com verses anteriores. Seu uso
no recomendado nesta verso.

MISCELLANEOUS
Comment - Comentrio para o item.

Caractersticas Gerais - 162


Developer/2000 - Forms 4.5

O DILOGO COORDINATE INFO


A propriedade Coordinate System
determina a unidade que usaremos para
definir o tamanho e posio (coordenada)
para os objetos a tempo de desenvolvimento
e execuo.

A unidade escolhida afeta as modificaes a


serem feitas a tempo de Runtime, uma vez
que os valores informados consideraro a
unidade escolhida. Podemos escolher entre
character ou real (centimeter, inch, point ou
pixel).

CHARACTER
Quando desenhamos em unidades de caracteres, todas as coordenadas e posies
so expressas em character cells. Isto significa que o Oracle Forms aceita somente
nmeros inteiros para as propriedades SIZE e POSITION.

Quando propriedade COORDINATE SYSTEM atribudo o valor character, as


propriedades WD(Width) e HT(Height) mostram o tamanho de um character cell na
unidade real corrente. O tamanho default para character cell baseado no tamanho
da fonte default.

Default Font Scaling - Esta propriedade se aplica somente quando a propriedade


COORDINATE SYSTEM estiver com o valor character .

ON - O Oracle Forms dimensiona os objetos de acordo com o tamanho da


fonte default a tempo de execuo.
OFF - O Oracle Forms ignora a fonte de execuo e dimensiona os objetos de
acordo com o tamanho da fonte default de Design.

REAL
A propriedade REAL UNIT, neste caso, deve receber como valor a unidade desejada
(pixel, centimeter, inch ou point).

As propriedades WD e HT mostram as dimenses da fonte default na unidade


escolhida.

Caractersticas Gerais - 163


Developer/2000 - Forms 4.5

OBSERVAES

Quando alteramos o sistema de coordenadas para um Form existente, o


Oracle Forms converte o tamanho e a posio de todos os objetos para a nova
unidade. Alguma perda de preciso poder ocorrer nesta converso, normalmente
insignificante quando convertemos de uma real unit para outra. Quando, porm, a
mudana de real units para character cells, o Oracle Forms ir arredondar todos
os valores para o valor da character cell mais prxima, o que poder alterar o
tamanho e posio dos objetos na interface visual.

Quando modificamos de uma unidade para outra, o Oracle Forms no faz a


modificao automtica dos valores atribudos nos cdigos PL/SQL, ele
simplesmente os interpreta na nova unidade.

A escolha do valor para a propriedade coordinate system deve levar em


considerao a plataforma onde o programa ser executado. Como regra geral, se
a aplicao vier a executar em plataformas character mode, devemos escolher
character cell. Caso contrrio (em plataformas GUI), a escolha determinada por
preferncias pessoais.

editor de layout trabalha com o valor especificado para o sistema de


coordenadas. Quando o valor character cells, o editor arredonda todas
dimenses e posies para valores inteiros de character cells. Produz o efeito de
snap-to-grid, com a unidade de grid sendo o tamanho de um character cell.

Caractersticas Gerais - 164


Developer/2000 - Forms 4.5

OPTIONS
No menu TOOLS, ao escolhermos OPTIONS, ser apresentado um dilogo referente
ao modo de trabalhar do Oracle Forms enquanto em desenvolvimento.

As opes esto divididas em dois conjuntos. O primeiro referente ao prprio Oracle


Forms Designer e o segundo referente ao Oracle Forms Runtime quando acionado
atravs do Oracle Forms Designer.

DESIGNER OPTIONS
Save Before Generate - Determina que o Oracle Forms salve o mdulo
corrente automaticamente quando escolhemos File, Administration, Generate no
menu principal.

Generate Before Run - Determina quando Oracle Forma automaticamente gera o


mdulo quando executarmos um Form a partir do Designer.

Suppress Hints - Determina quando hints sero suprimidos da linha de mensagem


quando estivermos trabalhando no Designer.

Caractersticas Gerais - 165


Developer/2000 - Forms 4.5
Run Modules Asynchronously - Determina quando Forms que executarmos
a partir do Designer sero executados sincronamente ou assincronamente em
relao ao prprio Design:

OFF - os Forms que executarmos no Designer sero sncronos, isto , no


poderemos trabalhar no Designer at que encerremos o Forms.
ON - os Forms que executarmos no Designer sero assncronos, isto ,
podermos nos mover do Form para o Designer e vice-versa.

Use System Editor - Determina que editor o Oracle Forms usa quando
invocamos um editor de um campo multi-line. Quando esta opo OFF, o Oracle
Forms mostra o editor default. Quanto esta opo ON, o Oracle Forms mostra o
editor default definido para o sistema operacional.

Module Access - Especifica o ambiente default para leitura e armazenamento:

File - os mdulos so lidos e salvos para arquivos do sistema operacional.


Database - os mdulos so lidos e salvos do database.
File/Database - os mdulos podem ser lidos e salvos para arquivos do
sistema operacional ou para o database. o Oracle Forms apresenta um
dilogo cada vez que executarmos uma destas operaes.

Filtro Para Module Access Database - Se especificarmos DATABASE para


mdulos, Module Acess permite que estabeleamos condies de filtragem para o
dilogo DATABASE. As condies de filtragem determinam que mdulos veremos
no dilogo DATABASE:

All Objects/Files - especifica que o filtro mostrar todos os tipos de


mdulos armazenados no database.
Forms, Menus, Libraries - especifica que o Oracle Forms mostra somente
Forms menus ou mdulos libraries no dilogo DATABASE.

Printer - Corresponde ao nome da impressora default. Este nome depende do


sistema operacional.

Caractersticas Gerais - 166


Developer/2000 - Forms 4.5
Color Palette - Especifica o nome da paleta de cores que ser
automaticamente carregada quando criamos um novo form. Se este campo for
deixado em branco a paleta default do Oracle Forms ser carregada.

Color Mode - Determina como uma paleta de cores ser carregada no


sistema. Cada vez que carregamos, abrimos ou criamos um Form, o Oracle Forms
carrega a paleta de cores na tabela de cores corrente do sistema. Uma vez que
esta tabela somente possui um limitado nmero de cores, o Oracle Forms no est
habilitado a trabalhar com vrios Forms que usem diferentes paletas de cores. Por
esta razo, devemos usar Read Only - Shared, exceto quando estivermos
realmente modificando a paleta de cores.

Editable - Neste modo poderemos modificar a paleta de cores. Uma vez


que tenhamos feito a alterao deveremos retornar ao modo Read Only -
Shared.
Read Only - Shared - Neste modo o Oracle Forms mapeia cores iguais na
mesma entrada da tabela, antes de acrescentar novas entradas.
Read Only - Private - Esta opo tem a nica finalidade de
compatibilidade com o Oracle Graphics e no relevante para o Oracle
Forms.

Caractersticas Gerais - 167


Developer/2000 - Forms 4.5

RUNTIME OPTIONS

Buffer Records In File - Atribui o nmero de registros buferizados em


memria para o mnimo de linhas mostradas mais 3 (para cada bloco). Se um
bloco recupera mais registros que este valor determinado, o Oracle Forms guarda
estes registros adicionais para um arquivo temporrio no disco.

Debug Mode - Esta opo far com que a execuo mostre mensagens sobre
o trigger em execuo e outros estados do Form corrente. Debug mode executar
uma interrupo (break) se a procedure BREAK for usada em algum trigger ou se
usarmos o comando HELP, DEBUG do menu principal do Oracle Forms.

Array Processing - Quando marcamos esta opo, o Oracle Forms utiliza o


mecanismo de array processing e quando desmarcamos ele ir retornar uma nica
row a cada interao entre o servidor e a estao cliente.

Caractersticas Gerais - 168


Developer/2000 - Forms 4.5
Optimize SQL Processing - Especifica que o Oracle Forms ir otimizar os
comados SQL processados no estilo V2 pelo compartilhamento de cursores. Por
default o Oracle Forms associa um cursor para cada comando SQL executado em
V2. Isto otimiza a performance, uma vez que o parse s executado uma vez, ou
seja, somente a primeira vez for executado para a sesso. Quando desmarcamos
esta opo, o Oracle Forms associa um nico cursor para todos os comandos SQL
executados em V2. Isto economiza memria, por outro lado perde-se em
performance uma vez que o parse ser executado cada vez que o comando for
executado.

Optimize Transaction Mode Processing - Por default, o Oracle Forms


associa um cursor separado para cada comando SQL que um Form executa
implicitamente num Post ou Query. Quando desmarcamos esta opo, o Oracle
Forms ir associar um cursor separado apenas para cada query Select. Todos os
outros comando SQL implcitos compartilharo ou reusaro cursores. Isto significa
que todos os INSERT, UPDATE, DELETE e SELECT FOR UPDATE devem ser
parsed cada vez que forem executados.

Statistics - Mostra uma mensagem ao fim da sesso que apresenta o nmero


mximo de cursores usados simultaneamente durante a sesso. Esta mensagem
aparece na tela do terminal e no na linha de mensagem. Esta opo tambm
habilita a seguinte informao para o database:

ALTER SESSION SET SQL-TRACE TRUE

Este comando habilita o acompanhamento do SQL TRACE no servidor.

Display Block Menu - Automaticamente mostra o BLOCK MENU como


primeira tela (aps a tela de login) em vez do form.

Query Only Mode - Executa o Form em modo de query somente.

Quiet Mode - Em quiet mode as mensagens no produzem BEEP audvel.

O usurio pode criar um arquivo de preferncias utilizando a sintaxe:

KEYWORD = <VALOR>|ON|OFF

Caractersticas Gerais - 169


Developer/2000 - Forms 4.5

Captulo 8 : TPICOS DIVERSOS


DEPURANDO A APLICAO
O Debugger (depurador) aparece quando se roda o Forms em debug mode.

Esta ferramenta permite que se criem aes de depurao de cdigo (breakpoints e


debugger trigger).

O Debug se torna ativo sempre que a execuo do programa for interrompida (via
breakpoint) ou atravs do menu Help->Debug.

A ao de depurar o programa se concentra em torno do Object Navigator, onde


pode-se inspecionar e modificar program units, variveis globais, itens de Forms etc.

Com o debugger possvel:

A manipulao direta de itens, variveis e cdigos PL/SQL


Acompanhar a execuo da aplicao linha a linha
Visualizar um trace (stack) da execuo do programa
Criao de breakpoints e triggers debug.

O Debugger se apresenta dividido em trs painis distintos:

Painel de fonte
Navigator
Linha de comando

Tpicos Diversos - 170


Developer/2000 - Forms 4.5

BREAKPOINTS

Breakpoint consiste em interromper a execuo do programa em uma determinada


linha de cdigo do Forms. Ao atingir o ponto de breakpoint o controle passa ao Object
Navigator do debugger.

JANELA DE DEBUG COM BREAKPOINT ATIVO

Tpicos Diversos - 171


Developer/2000 - Forms 4.5
O fluxo do programa pode ser acompanhado com os seguintes botes:

Step Into - Executa cada linha do programa passo a passo.


Step Over - Executa cada linha do programa passo a passo, porm considera
chamadas a subrotinas como uma nica linha. No detalha as subrotinas.
Step Out - Encerra a subrotina atual e retorna rotina que a chamou.
Go - Conclui a execuo passo a passo e retorna ao processamento normal
do programa.
Reset - Desiste da execuo passo a passo. O restante da rotina atual no
executada.

CRIANDO BREAKPOINTS
Devemos utilizar o Object Navigator do debug.

Aps selecionarmos um mdulo, devemos escolher uma program-unit e, no painel de fonte, na


linha desejada, utilizar o menu Debug->Break para criar um breakpoint na linha.

Tpicos Diversos - 172


Developer/2000 - Forms 4.5

TRIGGERS
Triggers de debug permitem que se associe um bloco PL/SQL numa determinada
linha do programa.

Este cdigo pode ser usado para: alterar variveis, itens, fazer atualizaes ou
qualquer outra ao necessria depurao do programa.

Para incluir uma trigger, devemos selecionar a linha desejada e utilizar a opo do
menu Debug->Trigger a fim de adicionar o cdigo PL/SQL.

Uma trigger pode ser usada para a criao de breakpoints condicionais.

IF DEBUG.GETN('my_sal') > 5000 THEN


RAISE DEBUG.BREAK;
END IF;

Este cdigo se utiliza da package Debug (este package s est disponvel a tempo de
depurao) para gerar um breakpoint quando o valor de my_sal for maior que 5000.

Tpicos Diversos - 173


Developer/2000 - Forms 4.5

ROTINAS DO PACKAGE DEBUG


GetC(varname)
GetD(varname)
GetI(varname)
GetN(varname)
Interpret (input)
SetC(varname, newvalue)
SetD(varname, newvalue)
SetI(varname, newvalue)
SetN(varname, newvalue)
Suspend

EDIO
Pode-se editar uma program unit durante a execuo do programa utilizando-se a
opo do menu Debug->Edit.

Tpicos Diversos - 174


Developer/2000 - Forms 4.5

REUTILIZAO DE CDIGOS NO FORMS 4.5


Alm de podermos criar classes de propriedades de modo a derivar itens com
mesmas caractersticas, podemos, tambm, reutilizar objetos de um mdulo dentro
de outro mdulo.

Para isto basta que se tenha os 2 mdulos abertos simultaneamente (fonte e destino)
e que se arraste o objeto de um mdulo para o outro.

Isto permite 2 modos de reutilizao: Cpia ou Referncia. No momento em que


soltarmos o objeto no novo mdulo se escolhe o tipo de reutilizao.

Tpicos Diversos - 175


Developer/2000 - Forms 4.5

CPIA
Caso se escolha copiar o objeto para o novo mdulo, o mesmo ser duplicado.

Sero levados, tambm, todos os objetos dependentes deste mdulo: itens no caso de um
bloco, triggers no caso itens, etc.

Os itens no dependentes porm relacionados podem ou no ser copiados juntos.

No dilogo apresentado temos condio de determinar quais os elementos associados que


desejamos que sejam copiados ou quais desejamos que sejam substitudos.

Os objetos associados esto grupados em pastas, de acordo com o tipo de objeto


copiado:

All Objetcs - Property Class e Visual Attribute


Blocks - Scroll Bar Canvas View
Itens - Canvas, Lovs e Editors
Canvases - Windows
Outros - Lovs (Record Groups), Menus (SubMenus) e Relations (Detail Block)

Tpicos Diversos - 176


Developer/2000 - Forms 4.5

REFERNCIA
Neste caso o objeto no fisicamente copiado e sim feita uma referncia ao objeto do
outro mdulo pelo sistema operacional.

Este novo objeto tem a maioria das propriedades read-only refletindo assim as
definies do objeto pai.

Qualquer mudana no objeto pai refletida para todos os mdulos que se


referenciam a este objeto, bastando para isso uma nova gerao dos mdulos
dependentes.

No Object Navigator objetos referncia so apresentados com um indicador (R)


direita do mesmo.

Caso se torne necessrio uma atualizao dos dados de referncia, estes podem ser
obtidos atravs da janela de propriedades do objeto em questo.

No se pode fazer referncia a program units, para isto estas devem ser criadas em
uma biblioteca.

Tpicos Diversos - 177


Developer/2000 - Forms 4.5

OBJECT GROUPS
Grupos de objetos podem ser criados de modo a facilitar a cpia ou referncia para
outros mdulos. Para se criar um object group basta que no Object Navigator
utilizemos a opo Create(+) para o n Object Group.

Poderemos, agora, arrastar, com o mouse todos os objetos que desejamos grupar
para dentro do Object Group criado.

No exemplo, foi criado um objeto CALENDRIO contendo uma canvas, 2 blocos ( e


seus itens) e triggers associadas.

Devemos observar, no entanto, que objetos pertencentes a um bloco no podem ser


adicionados, independentemente, a um object group.

Quando um bloco adicionado, todos os seus dependentes so adicionados tambm.

Tpicos Diversos - 178


Developer/2000 - Forms 4.5

Captulo 9 : VBX E OLE

CONTROLES VBX
Controles do tipo VBX so controles fornecidos por terceiros adotados hoje como
padro em vrias linguagens de programao, tais como o Visual Basic (inventor do
padro), SQLWINDOWS, DELPHI, POWERBUILDER e outros.

Controle
VBX

A interface de um VBX em uma aplicao Forms feita atravs de um item do tipo


VBX. No conjunto de propriedades deste item que preenchemos as informaes
necessrias para que o Oracle faa a ligao com o outro produto.

VBX e OLE - 179


Developer/2000 - Forms 4.5

PROPRIEDADES DE UM ITEM VBX


Name - nome do item.
Class - nome da classe a que o item pertence.

TYPE
Item Type - VBX Control.

DISPLAY
Canvas - nome da canvas em que o item ser mostrado.
Displayed - indica se um item ser mostrado a tempo de execuo. O default
TRUE.
X e Y Position - marca a localizao do canto esquerdo superior do retngulo
que envolve o item nas canvas que o item est associado.
Width e Height - correspondem especificao de comprimento (Width) e
altura (Height), do item, ou seja, sua representao na canvas.
Space Between Records - indica o espao entre os registros na canvas para
blocos multi-record.
Bevel - Indica se o item ter aspecto tridimensional.
Visual Atribute Name - indica o nome de um atributo visual para o objeto.
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background)
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).
Current Record Attribute - indica o nome de um atributo visual usado quando
o item for parte do registro corrente.

VBX e OLE - 180


Developer/2000 - Forms 4.5

DATA
Mirror item - especifica o nome do item do qual o item corrente derivado.
Esta propriedade sincroniza o valor de ambos os itens uma vez que quando o
operador altera o valor de um deles o outro, automaticamente, se altera tambm.
Como restrio temos que os itens devem estar no mesmo bloco.
Data Type - tipos de valores que o item pode armazenar (Char, Number,
Date).
Maximum Length - o nmero mximo de caracteres que um item pode
armazenar.
Required - quando esta propriedade est TRUE obriga o operador a
preencher o campo :

o operador no pode navegar para fora do item (pressionando [NEXT


ITEM]) at que informe um valor vlido.
o operador no poder COMMIT o registro at que o item requerido seja
preenchido.

Default Value - um valor default para o item, que deve ser compatvel com o
tipo do item. O valor default pode ser um dos seguintes:
Copy Value from Item - identifica a origem do valor para popular o item. Em
uma relao master-detail, o Oracle seta esta propriedade automaticamente no
item foreign key no bloco detalhe. Neste caso informado o nome da primary key
do bloco master, cujo valor copiado para o item foreign key quando um registro
criado ou consultado.

RECORDS
Items Displayed - especifica o nmero de instncias mostradas para o item
quando o mesmo pertencer a um bloco multi-record.

NAVIGATION
Enabled - determina se o operador poder usar o mouse para manipular um
item que tenha a propriedade NAVIGABLE setada para OFF.
Navigable - indica se o operador poder ou no navegar para este item.
Mouse Navigate - indica se o operador poder ou no navegar para este item
com o mouse, isto , se o Oracle Forms deve direcionar o foco para o item.
Next Navigation Item - prximo item na seqncia de navegao em relao a
este.
Previous Navigation Item - item anterior na seqncia de navegao em relao a
este.

VBX e OLE - 181


Developer/2000 - Forms 4.5

DATABASE
Base Table Item - indica se o item correspondente a uma coluna na base table do
bloco.
Query Only - indica se o item ser exclusivamente para consulta.
Primary Key - deve ser setado para TRUE para todos os itens que
correspondam a PK na base table do bloco.
Insert Allowed - determina se o operador poder modificar o valor do item em
um registro novo.
Query Allowed - indica que o operador poder navegar para o item quando
estiver no modo de ENTER QUERY. Quando um Form est no modo ENTER
QUERY, o Oracle pula todos os campos que tem a propriedade Query Allowed
OFF, mesmo se os itens forem navegveis normalmente.
Update Allowed - mutuamente exclusivo com UPDATE IF NULL. Especifica
que o valor do item poder ser alterado independente do seu contedo.

FUNCTIONAL
VBX Control File - Nome do arquivo VBX.
VBX Control Name - Nome do controle existente dentro do arquivo VBX.
VBX Control Value Property - Nome da propriedade do controle que a
responsvel pelo armazenamento do valor.

MISCELLANEOUS
Hint - texto a ser apresentado na linha de mensagem quando o operador se
posicionar no item.
Auto Hint - marcando esta propriedade o Oracle mostra o contedo da
propriedade Hint quando o foco passa para o item. Desmarcando-se esta opo o
Oracle mostrar o contedo do Hint quando o operador teclar [HELP] ou
selecionar a opo HELP do menu default enquanto posicionado sobre o item.
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

VBX e OLE - 182


Developer/2000 - Forms 4.5

O VALOR DE UM ITEM VBX


Na propriedade VBX Control Value Property, devemos indicar o nome da propriedade
correspondente no controle VBX que recebe o valor do item.

desta forma que poderemos fazer acesso ao valor, normalmente, como nos demais
itens Forms.

Por exemplo, suponhamos a existncia de um item de nome vbxKnob. Se desejarmos


atribuir um valor a este item a sintaxe no PL/SQL ser :

begin
:vbxKnob := 30;
end;

O valor, na verdade, ser atribudo propriedade especfica (definida em VBX Control


Value Property) que armazena o valor.

O PACKAGE VBX
Este pacote tem a finalidade de permitir o acesso e manipulao de propriedades,
eventos e mtodos do VBX que anexarmos nossa aplicao.

MANIPULANDO PROPRIEDADES DE UM VBX


O package possui rotinas com a finalidade de atribuirmos valor a uma propriedade ou
obtermos o valor de uma determinada propriedade.

Rotinas para manipulao de propriedades


VBX.GET_PROPERTY(ITEM_ID, PROPERTY)
VBX.GET_PROPERTY(ITEM_NAME, PROPERTY)
VBX.GET_VALUE_PROPERTY(ITEM_ID)
VBX.GET_VALUE_PROPERTY(ITEM_NAME)
VBX.SET_PROPERTY(ITEM_ID, PROPERTY, VALUE)
VBX.SET_PROPERTY(ITEM_NAME, PROPERTY, VALUE)
VBX.SET_VALUE_PROPERTY(ITEM_ID, PROPERTY)
VBX.SET_VALUE_PROPERTY(ITEM_NAME, PROPERTY)

VBX e OLE - 183


Developer/2000 - Forms 4.5

TRATANDO EVENTOS DE UM VBX


Para se interceptar eventos originrios do VBX, deve-se criar uma trigger a nvel de
item do tipo When-Custom-Item-Event.

Esta trigger ser disparada sempre que um dos eventos do VBX for acionado.

Para identificar qual o evento original disparado, deve-se checar a varivel de sistema
System.Custom_Item_Event, que conter o nome original do evento.

Pode-se tambm forar um evento do VBX a nvel de programao.

Rotinas para tratamento de eventos de um VBX


VBX.FIRE_EVENT(ITEM_ID, EVENT_NAME, PARAMLIST_ID)
VBX.FIRE_EVENT(ITEM_ID, EVENT_NAME, PARAMLIST_NAME)
VBX.FIRE_EVENT(ITEM_NAME, EVENT_NAME, PARAMLIST_ID)
VBX.FIRE_EVENT(ITEM_NAME, EVENT_NAME, PARAMLIST_NAME)

OS MTODOS DE UM VBX
O acesso a um mtodo feito, exclusivamente, com o auxlio do pacote VBX.

Rotinas para execuo de mtodos de um VBX


VBX.INVOKE_METHOD (ITEM_ID, METHOD_NAME, ARG1, ARG2, ARG3,
ARG4)
VBX.INVOKE_METHOD (ITEM_NAME, METHOD_NAME, ARG1, ARG2,
ARG3, ARG4)

VBX e OLE - 184


Developer/2000 - Forms 4.5

O CONTROLE OLE2 CONTAINER


O Oracle FORMS 4.5 implementa um controle container de objetos OLE2. Estes
controles armazenam objetos de uma das categorias OLE registradas no Windows
(Ex.: planilha do Excel, documento do Word, Figura do Paintbrush ou qualquer objeto
de uma aplicao que implemente OLE como SERVER)

Os objetos OLE podem ser dois tipos:

Embedded - O objeto est armazenado internamente, seja no Forms (FMX) ou


numa coluna LONG RAW do Database.

Linked - Neste caso o objeto est num arquivo parte do Forms ou do


database. Somente so armazenada no Forms (ou em colunas LONG RAW) as
informaes necessrias para ativar o Link.

VBX e OLE - 185


Developer/2000 - Forms 4.5

PROPRIEDADES DE UM ITEM OLE2 CONTAINER


Name - nome do item.
Class - nome da classe a que o item pertence.

TYPE
Item Type - OLE Container.

DISPLAY
Canvas - nome da canvas em que o item ser mostrado.
Displayed - indica se um item ser mostrado a tempo de execuo. O default
TRUE.
X e Y Position - marca a localizao do canto esquerdo superior do retngulo
que envolve o item nas canvas que o item est associado.
Width e Height - correspondem especificao de comprimento (Width) e
altura (Height), do item, ou seja, sua representao na canvas.
Space Between Records - indica o espao entre os registros na canvas para
blocos multi-record.
Bevel - Indica se o item ter aspecto tridimensional.
Visual Atribute Name - indica o nome de um atributo visual para o objeto.
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)
Foreground Color - cor da regio do objeto de foreground. Para itens a cor
do texto.
Background Color - cor da regio do objeto de fundo (background)
Fill Pattern - textura da regio de preenchimento (fill). A textura ser montada
com as cores definidas pelos atributos Foreground Color e Background Color.
Charmode Logical Attribute - especifica o nome de um atributo definido em
um arquivo (Oracle Terminal resouce file) a ser usado como bsico para a
aplicao (ex.: VT100).
White on Black - indica que o objeto ser visto em um vdeo monocromtico
(texto branco sobre fundo preto).
Current Record Attribute - indica o nome de um atributo visual usado quando
o item for parte do registro corrente.

VBX e OLE - 186


Developer/2000 - Forms 4.5

DATA
Mirror item - especifica o nome do item do qual o item corrente derivado.
Esta propriedade sincroniza o valor de ambos os itens uma vez que quando o
operador altera o valor de um deles o outro, automaticamente, se altera tambm.
Como restrio temos que os itens devem estar no mesmo bloco.
Required - quando esta propriedade est TRUE obriga o operador a
preencher o campo.

RECORDS
Items Displayed - especifica o nmero de instncias mostradas para o item
quando o mesmo pertencer a um bloco multi-record.

NAVIGATION
Enabled - determina se o operador poder usar o mouse para manipular um
item que tenha a propriedade NAVIGABLE setada para OFF.
Navigable - indica se o operador poder ou no navegar para este item.
Mouse Navigate - indica se o operador poder ou no navegar para este item
com o mouse, isto , se o Oracle Forms deve direcionar o foco para o item.
Next Navigation Item - prximo item na seqncia de navegao em relao a
este.
Previous Navigation Item - item anterior na seqncia de navegao em relao a
este.

DATABASE
Base Table Item - indica se o item correspondente a uma coluna na base table do
bloco.
Query Only - indica se o item ser exclusivamente para consulta.
Insert Allowed - determina se o operador poder modificar o valor do item em
um registro novo.
Query Allowed - indica que o operador poder navegar para o item quando
estiver no modo de ENTER QUERY. Quando um Form est no modo ENTER
QUERY, o Oracle pula todos os campos que tem a propriedade Query Allowed
OFF, mesmo se os itens forem navegveis normalmente.
Update Allowed - mutuamente exclusivo com UPDATE IF NULL. Especifica
que o valor do item poder ser alterado independente do seu contedo.

VBX e OLE - 187


Developer/2000 - Forms 4.5

FUNCTIONAL

IN PLACE

EXTERNA

OLE In-Place Activation - indica se o OLE ser ativado In Place, isto , se o


mesmo ficar ativo dentro dos limites (Bordas) estabelecido para ele na canvas ou
se ser usada uma outra Window (especfica) a ser usada.

OLE Activation Style - indica o evento que ir ativar o item OLE (DOUBLE
CLICK - default, Focus-in, Manual). Manual indica que deve-se usar o comando EDIT
ou OPEN do submenu do OLE popup Menu. Neste caso a propriedade Show OLE
popup Menu deve ser TRUE.

OLE Resize Style - indica como o Objeto OLE ser mostrado na rea
reservada para ele (OLE container).

CLIP - O objeto cortado.


SCALE - O objeto escalado.
INITIAL - O objeto redimensionado a tempo de criao.
DYNAMIC - O objeto redimensionado quando seu tamanho muda.

VBX e OLE - 188


Developer/2000 - Forms 4.5
OLE Tenant Types - indica o tipo de objetos OLE que podem ser inquilinos
do OLE container.

ANY - todos
NONE - nenhum
STATIC - apenas OLE statics
EMBEDDED - apenas OLE embedded
LINKED - apenas OLE linked

Show OLE Popup Menu - determina se o boto direito do mouse mostrar um


popup menu de comandos para interagir com o objeto OLE.
OLE popup Menu Items - determina a lista de aes a serem includas num
popup menu.
Show OLE Tenant Type - determina se uma borda definindo o tipo de objeto
OLE aparecer rodeando o OLE container.
OLE Class - classe a que pertence o objeto.
OLE Do In Out - especifica se o OLE server do objeto embedded permite
inside-out object support durante a ativao in-place, isto , mais de um objeto
embedded ter ativa uma janela de edio dentro de um OLE container.
OLE Tenant Aspect - determina a aparncia do objeto OLE no OLE container.

CONTENT(default) - O contedo do objeto OLE mostrado no OLE


container.
ICON - Um cone de um objeto mostrado em OLE container.
THUMBNAIL - Uma viso reduzida do objeto mostrada.

MISCELLANEOUS
Hint - texto a ser apresentado na linha de mensagem quando o operador se
posicionar no item.
Auto Hint - marcando esta propriedade o Oracle mostra o contedo da
propriedade Hint quando o foco passa para o item. Desmarcando-se esta opo o
Oracle mostrar o contedo do Hint quando o operador teclar [HELP] ou
selecionar a opo HELP do menu default enquanto posicionado sobre o item.
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

VBX e OLE - 189


Developer/2000 - Forms 4.5

O PACKAGE FORMS_OLE
As rotinas deste pacote utilizam o objeto OLE2 Container criado no Form.

Rotinas para manipulao de itens OLE2


FORMS_OLE.ACTIVATE_SERVER(ITEM_ID)
FORMS_OLE.ACTIVATE_SERVER(ITEM_NAME)
FORMS_OLE.CLOSE_SERVER(ITEM_ID)
FORMS_OLE.CLOSE_SERVER(ITEM_NAME)
FORMS_OLE.EXEC_VERB(ITEM_ID, VERB_INDEX)
FORMS_OLE.EXEC_VERB(ITEM_ID, VERB_NAME)
FORMS_OLE.EXEC_VERB(ITEM_NAME, VERB_INDEX)
FORMS_OLE.EXEC_VERB(ITEM_NAME, VERB_NAME)
FORMS_OLE.FIND_OLE_VERB(ITEM_ID, VERB_NAME)
FORMS_OLE.FIND_OLE_VERB(ITEM_NAME, VERB_NAME)
FORMS_OLE.GET_INTERFACE_POINTER(ITEM_ID)
FORMS_OLE.GET_INTERFACE_POINTER(ITEM_NAME)
FORMS_OLE.GET_VERB_COUNT(ITEM_ID)
FORMS_OLE.GET_VERB_COUNT(ITEM_NAME)
FORMS_OLE.GET_VERB_NAME(ITEM_ID, VERB_INDEX)
FORMS_OLE.GET_VERB_NAME(ITEM_NAME, VERB_INDEX)
FORMS_OLE.INITIALIZE_CONTAINER(ITEM_ID, FILE_NAME)
FORMS_OLE.INITIALIZE_CONTAINER(ITEM_NAME, FILE_NAME)
FORMS_OLE.SERVER_ACTIVE(ITEM_ID)
FORMS_OLE.SERVER_ACTIVE(ITEM_NAME)

VBX e OLE - 190


Developer/2000 - Forms 4.5

O PACKAGE OLE2
As rotinas deste pacote no utilizam nenhum item OLE2 do Form, a criao do objeto
feita, explicitamente, por rotinas do prprio pacote.

Rotinas para manipulao de objetos OLE2


OLE2.ADD_ARG(LIST, VALUE)
OLE2.ADD_ARG(LIST, VALUE)
OLE2.CREATE_ARGLIST
OLE2.CREATE_OBJ(OBJECT)
OLE2.DESTROY_ARGLIST(LIST)
OLE2.GET_CHAR_PROPERTY(OBJECT, PROPERTY, ARGLIST)
OLE2.GET_NUM_PROPERTY(OBJECT, PROPERTY, ARGLIST)
OLE2.GET_OBJ_PROPERTY(OBJECT, PROPERTY, ARGLIST)
OLE2.INVOKE(OBJECT, METHOD, ARGLIST)
OLE2.INVOKE_CHAR(OBJECT, METHOD, ARGLIST)
OLE2.INVOKE_NUM(OBJECT, METHOD, ARGLIST)
OLE2.INVOKE_OBJ(OBJECT, METHOD, ARGLIST)
OLE2.LAST_EXCEPTION
OLE2.RELEASE_OBJ(OBJECT)
OLE2.SET_PROPERTY(OBJECT, PROPERTY, VALUE, ARGLIST)
OLE2.SET_PROPERTY(OBJECT, PROPERTY, VALUE, ARGLIST)

VBX e OLE - 191


Developer/2000 - Forms 4.5

Captulo 10 : TEXT-IO E IMAGES


FAZENDO ACESSO A ARQUIVOS FORA DO DATABASE
O Forms possui um pacote (TEXT_IO) que possui um conjunto de rotinas capazes de
realizar a leitura e gravao de arquivos no ambiente operacional.

O PACKAGE TEXT_IO

Rotinas para manipulao de arquivos


TEXT_IO.FCLOSE(FILE)
TEXT_IO.FOPEN(SPEC, FILEMODE)
TEXT_IO.GET_LINE(FILE, ITEM)
TEXT_IO.IS_OPEN(FILE)
TEXT_IO.NEW_LINE(FILE, N)
TEXT_IO.NEW_LINE(N)
TEXT_IO.PUT(FILE, ITEM)
TEXT_IO.PUT(FILE, ITEM)
TEXT_IO.PUT(FILE, ITEM)
TEXT_IO.PUT(FILE, ITEM)
TEXT_IO.PUT(ITEM)
TEXT_IO.PUT(ITEM)
TEXT_IO.PUT(ITEM)
TEXT_IO.PUT(ITEM)
TEXT_IO.PUT_LINE(FILE, ITEM)
TEXT_IO.PUT_LINE(ITEM)
TEXT_IO.PUTF(ARG)
TEXT_IO.PUTF(FILE, ARG)
TEXT_IO.PUTF(FILE, FORMAT, ARG1)
TEXT_IO.PUTF(FILE, FORMAT, ARG1, ARG2)
TEXT_IO.PUTF(FILE, FORMAT, ARG1, ARG2, ARG3)
TEXT_IO.PUTF(FILE, FORMAT, ARG1, ARG2, ARG3, ARG4)
TEXT_IO.PUTF(FILE, FORMAT, ARG1, ARG2, ARG3, ARG4, ARG5)
TEXT_IO.PUTF(FORMAT, ARG1)
TEXT_IO.PUTF(FORMAT, ARG1, ARG2)
TEXT_IO.PUTF(FORMAT, ARG1, ARG2, ARG3)
TEXT_IO.PUTF(FORMAT, ARG1, ARG2, ARG3, ARG4)
TEXT_IO.PUTF(FORMAT, ARG1, ARG2, ARG3, ARG4, ARG5)

TEXT-IO e IMAGES - 192


Developer/2000 - Forms 4.5

FUNES E PROCEDURES DO PACKAGE TEXT_IO

FOPEN
Abre um arquivo para leitura ou gravao. O PATH do diretrio j deve existir, uma
vez que no feita criao pelo FOPEN. A funo FOPEN retorna um file handle que
deve ser usado em todas as operaes de I/O subseqentes no arquivo.

FUNCTION FOPEN (Filename IN VARCHAR2, Open_Mode IN VARCHAR2)


RETURN TEXT_IO.FILE_TYPE

Filename - nome do arquivo incluindo a extenso e sem qualquer path.


Open_Mode - os valores vlidos so: r - leitura, w - gravao, a - adicionar

Deve ser declarada uma varivel do tipo TEXT_IO.FILE_TYPE para receber o file
handle.

IS_OPEN
Testa um file handle para ver se ele identifica um arquivo aberto.

Obs: Esta funo indica apenas se o arquivo est aberto ou no, ou seja se o file
handle vlido ou no. Ela no garante que uma operao de I / O posterior usando
o file handle no venha a receber um erro de sistema operacional.

FUNCTION IS_OPEN (file_handle IN FILE_TYPE) RETURN BOOLEAN;

File_Handle - um file handle retornado por um FOPEN.

FCLOSE
Fecha um arquivo identificado por um file handle.

PROCEDURE FCLOSE (file_handle IN OUT FILE_TYPE);

File_Handle - um File_Handle ativo retornado por um FOPEN.

TEXT-IO e IMAGES - 193


Developer/2000 - Forms 4.5

GET_LINE
L uma linha de texto de um arquivo aberto identificado pelo file handle e coloca o
texto no buffer de sada (parmetro).

PROCEDURE GET_LINE (File_Handle IN FILE_TYPE, Buffer OUT VARCHAR2);

File_Handle - um File_Handle ativo retornado por um FOPEN.


Buffer -rea de memria que contm o texto a ser gravado para o arquivo

PUT
Armazena o texto presente no buffer no arquivo identificado pelo file handle. A linha
includa no recebe nenhum caracter de fim de linha. necessrio a execuo do
comando NEW_LINE para gerar este caracter quando desejado.

PROCEDURE PUT (File_Handle IN FILE_TYPE, Buffer IN VARCHAR2);

File_Handle - um file handle ativo retornado pelo FOPEN.


Buffer -rea de memria que contm o texto a ser gravado para o arquivo

NEW_LINE
Grava um ou mais caracteres de fim de linha para o arquivo identificado por um file
handle.

PROCEDURE NEW_LINE (File_Handle IN file_type, Lines IN natural :=1)

File_Handle - um file handle ativo retornado pelo FOPEN


Lines - o nmero de caracteres de fim de linha a serem gravados no arquivo.

TEXT-IO e IMAGES - 194


Developer/2000 - Forms 4.5

PUT_LINE
Grava o texto presente no buffer para o arquivo. Este comando adiciona um caracter
de fim de linha ao texto.

PROCEDURE PUT_LINE (File_Handle IN FILE_TYPE, Buffer IN VARCHAR2);

File_Handle - um file handle ativo retornado pelo FOPEN.


Buffer -rea de memria que contm o texto a ser gravado para o arquivo

PUTF
uma procedure que trabalha de forma semelhante a um printf (do C), porm com
limitaes. A string de formatao pode conter qualquer texto, sendo que os
caracteres %s e \n possuem significado especial.

%s - marca um ponto para substituio, no texto, pelo prximo argumento da


lista
\n - substitudo (de acordo com a plataforma) pelo caracter de fim de linha.

PROCEDURE PUTF (File_Handle IN FILE_TYPE, Format IN VARCHAR2,


[Arg1 IN VARCHAR2, . . . Arg5 IN VARCHAR2]);

File_Handle - um file handle ativo, retornado por um FOPEN.


Format - uma string que pode conter os caracteres %s e \n.
Arg1. . . Arg5 - de 1 a 5 argumentos para substituio no %s. Se houveram
mais %s que argumentos, o local ser ocupado por uma string de comprimento
zero.

TEXT-IO e IMAGES - 195


Developer/2000 - Forms 4.5

EXEMPLO
Deseja-se carregar na tabela Projetos X Atividades as atividades realizadas num
determinado mes. O arquivo com estas informaes possui o layout abaixo:

Informao Coluna
Cdigo do projeto 1a6
Cdigo da atividade 7a9
Data de incio 10 a 17 (dd/mm/yy)
Data de fim 18 a 25 (dd/mm/yy)

Em uma determinada trigger, teramos o seguinte trecho de programa.

DECLARE
ARQ TEXT_IO.FILE_TYPE;
BUFFER VARCHAR2(50);
WROW PRJATV%ROWTYPE;
BEGIN
ARQ := TEXT_IO.FOPEN ('C:\LUCIA\CURSO\CARGA.SQL', 'R');
LOOP
TEXT_IO.GET_LINE(ARQ, BUFFER);
WROW.CD_PROJ:= SUBSTR(BUFFER,1,6);
WROW.CD_ATIV := TO_NUMBER(SUBSTR(BUFFER,7,3));
WROW.DT_INI := TO_DATE(SUBSTR(BUFFER,10,8), 'DD/MM/YY');
WROW.DT_FIM := TO_DATE(SUBSTR(BUFFER,18,8), 'DD/MM/YY');
INSERT INTO PRJATV
(CD_PROJ, CD_ATIV, DT_INI, DT_FIM)
VALUES
(WROW.CD_PROJ, WROW.CD_ATIV, WROW.DT_INI, WROW.DT_FIM);
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN
COMMIT;
TEXT_IO.FCLOSE(ARQ);
END;

TEXT-IO e IMAGES - 196


Developer/2000 - Forms 4.5

FUNES DO PACKAGE STANDARD EXTENSIONS


ALTERAO DE TIPO DE CURSOR
Pode-se trocar o cursor corrente de modo a indicar um processamento mais lento, por
exemplo.

Para isso devemos utilizar as procedures:

GET_APPLICATION_PROPERTY(property);
SET_APPLICATION_PROPERTY(property, value)

O parmetro property deve ser preenchido com o valor CURSOR_STYLE.

Value pode ser:

BUSY
CROSSHAIR
DEFAULT
HELP
INSERTION

A aparncia do cursor depende do ambiente grfico em que se est trabalhando.

TEXT-IO e IMAGES - 197


Developer/2000 - Forms 4.5

CHAMANDO OUTRA APLICAO


A partir de uma aplicao Form ou de um Menu podemos executar outra aplicao
Form ou outro produto (Report, Graphics).

ROTINAS PARA ATIVAR OUTRO FORM


Call_Form(Formmodule_Name, Display, Switch_Menu, Query_Mode)
Call_Form(Formmodule_Name, Display, Switch_Menu, Query_Mode,
Paramlist_Id)
Call_Form(Formmodule_Name, Display, Switch_Menu, Query_Mode,
Paramlist_Name)
New_Form(Formmodule_Name, Rollback_Mode, Query_Mode)
New_Form(Formmodule_Name, Rollback_Mode, Query_Mode, Paramlist_Id)
New_Form(Formmodule_Name, Rollback_Mode, Query_Mode,
Paramlist_Name)
Open_Form(Formmodule_Name, Activate_Mode, Session_Mode)
Open_Form(Formmodule_Name, Activate_Mode, Session_Mode,
Paramlist_Id)
Open_Form(Formmodule_Name, Activate_Mode, Session_Mode,
Paramlist_Name)

MLTIPLAS SESSES POR CONEXO


Utilizando-se a built_in OPEN_FORM pode se abrir um novo Form utilizando-se de
outra conexo com o banco. Conseqentemente, tornando a transao deste Form
independente do resto da aplicao.

TEXT-IO e IMAGES - 198


Developer/2000 - Forms 4.5

ROTINAS PARA TRATAMENTO DE PARMETROS


Add_Parameter(List, Key, Paramtype, Value)
Add_Parameter(Name, Key, Paramtype, Value)
Create_Parameter_List(Name)
Delete_Parameter(List, Key)
Delete_Parameter(Name, Key)
Destroy_Parameter_List(List)
Destroy_Parameter_List(Name)
Get_Parameter_Attr(List, Key, Paramtype, Value)
Get_Parameter_Attr(Name, Key, Paramtype, Value)
Get_Parameter_List(Name)
Set_Parameter_Attr(List, Key, Paramtype, Value)
Set_Parameter_Attr(Name, Key, Paramtype, Value)

ROTINAS PARA ATIVAR OUTRO PRODUTO


Run_Product(Product, Document, Commmode, Execmode, Location, List,
Display)
Run_Product(Product, Document, Commmode, Execmode, Location, List,
Display)

TEXT-IO e IMAGES - 199


Developer/2000 - Forms 4.5

CHAMADAS A FUNES EXTERNAS


No mais necessrio que se crie uma user_exit para fazer acesso, no Forms, a
rotinas externas. Para isto deve-se usar a package built-in ORA_FFI (Oracle Foreign
Function Interface).

O PACKAGE ORA_FFI
ORA_FFI.FIND_FUNCTION(LIBHANDLE, FUNCNAME)
ORA_FFI.FIND_FUNCTION(LIBNAME, FUNCNAME)
ORA_FFI.FIND_LIBRARY(LIBNAME)
ORA_FFI.GENERATE_FOREIGN(HANDLE)
ORA_FFI.GENERATE_FOREIGN(HANDLE, PKGNAME)
ORA_FFI.IS_NULL_PTR(HANDLE)
ORA_FFI.IS_NULL_PTR(HANDLE)
ORA_FFI.IS_NULL_PTR(HANDLE)
ORA_FFI.LOAD_LIBRARY(DIRNAME, LIBNAME)
ORA_FFI.REGISTER_FUNCTION(LIBHANDLE, FUNCNAME)
ORA_FFI.REGISTER_FUNCTION(LIBHANDLE, FUNCNAME, CALLSTD)
ORA_FFI.REGISTER_LIBRARY(DIRNAME, LIBNAME)
ORA_FFI.REGISTER_PARAMETER(FUNCHANDLE, CARGTYPE)
ORA_FFI.REGISTER_PARAMETER(FUNCHANDLE, CARGTYPE,
LSARGTYPE)
ORA_FFI.REGISTER_RETURN(FUNCHANDLE, CRETURNTYPE)
ORA_FFI.REGISTER_RETURN(FUNCHANDLE,CRETURNTYPE,
PLSRETURNTYPE)
ORA_FFI.UNLOAD_LIBRARY(LIBHANDLE)

No caso do ambiente windows as funes externas devem ser DLLs que depois de
registradas via funes da ORA_FFI podem ser usadas no Forms.

TEXT-IO e IMAGES - 200


Developer/2000 - Forms 4.5

PASSOS PARA USO DE UMA DLL


Basicamente os passos so:

Usar ORA_FFI.LOAD_LIBRARY para obter um handle da DLL onde est a


funo.
Usar ORA_FFI.REGISTER_FUNCTION para obter um handle da funo
Usar ORA_FFI.REGISTER_PARAMETER para registrar os parmetros da
funo
Usar ORA_FFI.REGISTER_RETURN para registrar o tipo de retorno da funo

Para maiores informaes sobre a package ORA_FFI utilize o manual Oracle


Procedure Builder Developer's Guide.

TEXT-IO e IMAGES - 201


Developer/2000 - Forms 4.5

TRABALHANDO COM IMAGENS NO ORACLE FORMS


Existem dois tipos de imagens dentro de uma aplicao Oracle Forms :

BOILERPLATE IMAGES
So vetores ou bitmap images que importamos de arquivos do sistema ou do
database para uma canvas especfica no mdulo form.

Um boilerplate image esttico e permanece associado com a canvas na qual ele


colocado. Quando salvamos e geramos um mdulo Form, o boilerplate image
incorporado ao .FMB e ao .FMX.

IMAGE ITEMS
So tipos especiais de itens que mostram imagens obtidas da base de dados ou
arquivos do sistema a tempo de execuo.

A definio de um item do tipo imagem armazenada no cdigo .FMB e/ou .FMX,


mas a imagem no.

Estes itens podem ser preenchidos a partir de:

de uma coluna do tipo LONG RAW do database


atribuio de um PL/SQL
de um arquivo do sistema

TEXT-IO e IMAGES - 202


Developer/2000 - Forms 4.5

FORMATOS VLIDOS
Na tabela a seguir so apresentados os formatos de arquivo suportados pelo Oracle
Forms.

FORMATO BOILERPLATE IMAGE ITEMS CARACTERSTICA


TIFF - Tag Image File Format Y Read/Write Monochrome,
8-bit gray,
4 and 8-bit LUT,
24-bit RGB,
Planar data,
Tiled data,
Intel byte order,
Motorola byte order,
Photometric interpretation,
MSB/LSB
JFIF - Jpeg File Interchange Format Y Read/Write 24 - bit RGB
BMP - Windows/OS2 Bitmap Y Read/Write Monochrome,
4 and 8-bit LUT,
24-bit RGB,
PCX - Pc Paintbrush Y Read Only Monochrome;
2, 4 and 8-bit LUT,
8-bit RGB,
PICT - Macintosh PICT Y Read/Write Monochrome;
2, 4 and 8-bit LUT,
16 and 24 - bit RGB,
vector/object graphics
GIF - CompuServe Y Read/Write 8-bit LUT
CALS - CALS Type I Raster Y Read/Write Monochrome
RAS - Sun Raster Y Read/Write Monochrome,
4 and 8-bit LUT,
24-bit RGB,
OIF - Oracle Format Y Read/Write Formato interno
PCD - Kodak Photo CD Y Read Only Monochrome,
4 and 8-bit LUT,
24-bit RGB,

TEXT-IO e IMAGES - 203


Developer/2000 - Forms 4.5

MANIPULANDO IMAGENS
O Oracle fornece um conjunto de rotinas para que possamos trabalhar com imagens.

Image_Add(Item1_Id, Item2_Id)
Image_Add(Item1_Id, Item2_Name)
Image_Add(Item1_Name, Item2_Id)
Image_Add(Item1_Name, Item2_Name)
Image_And(Item1_Id, Item2_Id)
Image_And(Item1_Id, Item2_Name)
Image_And(Item1_Name, Item2_Id)
Image_And(Item1_Name, Item2_Name)
Image_Subtract(Item1_Id, Item2_Id)
Image_Subtract(Item1_Id, Item2_Name)
Image_Subtract(Item1_Name, Item2_Id)
Image_Subtract(Item1_Name, Item2_Name)
Image_Xor(Item1_Id, Item2_Id)
Image_Xor(Item1_Id, Item2_Name)
Image_Xor(Item1_Name, Item2_Id)
Image_Xor(Item1_Name, Item2_Name)
Image_Zoom(Item_Id, Zoom_Type, Zoom_Factor)
Image_Zoom(Item_Name, Zoom_Type, Zoom_Factor)
READ_IMAGE_FILE(FILE_NAME, FILE_TYPE, ITEM_ID)
READ_IMAGE_FILE(FILE_NAME, FILE_TYPE, ITEM_NAME)
WRITE_IMAGE_FILE(FILE_NAME, FILE_TYPE, ITEM_ID)
WRITE_IMAGE_FILE(FILE_NAME, FILE_TYPE, ITEM_NAME)

TEXT-IO e IMAGES - 204


Developer/2000 - Forms 4.5

USANDO ITENS IMAGE


As imagens e drawings so sempre gravveis no Oracle Format. Deste modo se for
executado um READ_IMAGE_FILE para popular um item do tipo imagem e, ento for
dado um commit, o Oracle Forms inclui a imagem na coluna LONG RAW
correspondente.

Os PCX e PICT podem ser lidos de arquivos do sistema mas no podem ser gravados
com WRITE_IMAGE_FILE.

As imagens armazenadas no database so sempre no formato Oracle.

Um base table image item preenchido automaticamente quando o operador ou a


aplicao executa uma consulta no bloco. Quando a imagem modificada ou
substituda, o Oracle Forms marca aquele registro como CHANGED e na prxima
operao de commit o Oracle grava a imagem na coluna LONG RAW correspondente
no database.

Um image item tambm pode ser preenchido por programao com as rotinas
READ_IMAGE_FILE (esta procedure obtm a imagem de um arquivo do sistema e
coloca no item apropriado) e WRITE_IMAGE_FILE (para gravar uma imagem em um
arquivo do sistema).

No podemos criar um comando SELECT para selecionar uma coluna LONG


RAW INTO um item do tipo imagem.

TEXT-IO e IMAGES - 205


Developer/2000 - Forms 4.5

Captulo 11 : O MDULO LIBRARY


INTRODUO
Uma Library uma coleo de programas PL/SQL, incluindo procedures, funes e
packages.

Uma vez criada, uma Library pode ser associada a qualquer outro mdulo (Form,
Menu ou outra Library).

Desta forma o cdigo criado poder ser chamado de triggers, itens de menu ou outras
rotinas criadas no mdulo chamador.

A mesma Library pode ser associada a mltiplos Forms e Menus, da mesma forma
que um Form ou Menu pode ser associado a mais de uma Library.

As Libraries so carregada para a memria ao mesmo tempo que o mdulo ao


qual ele foi associado.

CRIANDO UMA LIBRARY


Os passos a seguir so necessrios para criar uma Library.

No Object Navigator, selecione o n Libraries e com a ferramenta Create(+)


crie uma nova biblioteca.
No n Program Units (subordinado biblioteca criada) crie o conjunto de
funes, procedures e ou packages.
Salve a biblioteca para um arquivo do sistema operacional ou para o banco de
dados.

O Mdulo Library - 206


Developer/2000 - Forms 4.5

ASSOCIANDO UMA LIBRARY A UM FORM

Abra o mdulo Form desejado e selecione o n ATTACHED LIBRARIES.

Use a ferramenta Create(+) para criar sua biblioteca.

Ser mostrado um dilogo (ao lado) para que selecionemos a localizao do arquivo
desejado.

Salve o Form para incorporar a referncia Library como parte da definio do Form.

ESCOPO DAS VARIVEIS


Uma vez que librarys so compiladas independentemente dos Forms e Menus, no
podemos fazer referncia aos seguintes objetos:

:bloco.item
:GLOBAL.varivel
:SYSTEM.varivel
:PARAMETER.varivel

Podemos, somente, usar a funo NAME_IN para fazer referncia indireta s


variveis mencionadas ou usar a funo COPY para atribuir valores para elas.

O Mdulo Library - 207


Developer/2000 - Forms 4.5

Captulo 12 : O MDULO MENU


INTRODUO
Um Custom Menu (ou seja, um menu criado no Oracle Forms Designer) um
mdulo independente, que pode ser executado em trs estilos:

pull-down
bar
full-screen

Quando associamos um menu a um Form, indicamos o estilo de apresentao do


menu.

Apesar do mesmo mdulo menu poder executar em diferentes estilos nem todas as
caractersticas esto disponveis em todos os estilos. Por este motivo, quando criamos
um menu, devemos considerar o estilo no qual ele ser apresentado.

O Mdulo Menu - 208


Developer/2000 - Forms 4.5
Um mdulo menu pode incluir os seguintes tipos de itens de menu:

plain text
check
radio
separator
magic

Um mdulo menu inclui os seguintes tipos de objetos:

prprio mdulo
menus pull-down individuais na hierarquia do mdulo
itens de menu de cada menu individual e seus respectivos comandos
parmetros
rotinas
startup code

O Mdulo Menu - 209


Developer/2000 - Forms 4.5

A BARRA DE TAREFAS DO MDULO MENU

Baseado na barra de ferramentas o usurio controla o design do menu com as


seguintes opes:

Display Menu - Mostra qual o menu (e seus menus dependentes) ser mostrado no
editor.
Cut, Copy, Paste - Opes para o Clipboard (recortar, copiar e colar).
Copy Properties - Copia somente as propriedades de um item de menu para
o Clipboard.
Paste Properties - Copia as propriedades do presentes no Clipboard para o
item de menu.
Create Dow - Cria um item abaixo, se necessrio cria um novo sub-menu.
Create Right - Cria um item direita. Se necessrio cria um novo sub-menu.
Delete - Remove o item do menu.
Expand - Expande o item de menu mostrando o sub-menu dependente.
Collapse - Esconde os menus detalhes de um item de menu.
Expand All - Expande todos os itens de menu incluindo os sub-tens.
Collapse All - Esconde todos os itens e sub-tens de menu.

O Mdulo Menu - 210


Developer/2000 - Forms 4.5

PROPRIEDADES DO ITEM DE MENU


Name - nome do item.
Class - nome da classe do item.

DISPLAY
Visual Atribute Name - indica o nome de um atributo visual para o objeto.
Font Name - nome da fonte usada para textos no objeto.
Font Size - tamanho da fonte, especificado em points.
Font Style - estilo da fonte (itlico, plain, underline, etc.)
Font Width - largura da fonte (Normal, Expand, Dense, etc.)
Font Weigth - granulao da corda fonte (Bold, Medium, Ligth, etc.)

FUNCTIONAL
Menu Item Type - Pode receber um dos seguintes valores:

Plain - O label do item apresentado. a opo default.


Check - possuem 2 estados (checado ou no checado). So mostrados
com um indicador visual que informa seu estado atual.
Radio - pertencem a um menu radio group que deve conter 2 ou mais itens
do tipo radio. Um e somente 1 item deste tipo pode estar selecionado, no
grupo, em um determinado momento, ou seja, selecionar um item significa
desmarcar o selecionado anteriormente. So mostrados com um indicador
visual (crculo vazio ou cheio). Os itens de menu do tipo radio pertencentes
ao mesmo grupo devem ser mostrados continuamente no mesmo menu.
Para associar um radio item a um grupo, devemos selecionar o item de
menu e informar o nome do grupo no campo Radio Group.
Separator - um separator uma linha que aparece no menu para separar
itens de menu relacionados, de outros itens no mesmo menu.
O texto da propriedade Command Type (CMD) deve ser NULL.
Magic - So itens de menu para execuo de funes padres (nas
aplicaes GUI), tais como: ABOUT, COPY, CLEAR, CUT, HELP, PASTE,
QUIT, UNDO, WINDOW.
So, automaticamente, mostrados no estilo e posio apropriada para
interface padro de aplicativos GUI.

O Mdulo Menu - 211


Developer/2000 - Forms 4.5
Command Type - Pode receber um dos seguintes valores:

Null - default. Especifica que o item de menu no executa nenhum


comando. O comando NULL obrigatrio para separator menu items e
opcional para os outros tipos de item. A propriedade Command Text no
aplicvel.
Menu - chama um submenu. Na propriedade Command Text, devemos
preencher com o nome do sub-menu.
PL/SQL - executa um cdigo PL/SQL. A propriedade Command Text deve
ser preenchida com um comando PL/SQL (inclusive podendo conter
chamadas a rotinas pr-definidas e/ou criadas pelo usurio).
Plus - executa o SQL*PLUS. A propriedade Command Text deve ser
preenchida com um login vlido para o SQL*PLUS.
Form - chama o Oracle Forms Runform. Este tipo de comando foi includo
para compatibilidade com a verso anterior do Oracle e no
recomendada.
Macro - executa uma macro. Este tipo de comando foi includo para
compatibilizar com verses anteriores e no recomendado. A
propriedade Command Text no aplicvel.

Command Text - Texto de comando desejado.

Accelerator - uma funo ou uma seqncia de teclas que os operadores


podem pressionar para executar os comandos de menu. O Oracle Forms prov 5
logical accelerator keys que voc pode associar aos itens de menu, chamados de
[ACCELERATOR1] at [ACCELERATOR5].
No Oracle Terminal devemos associar o logical accelerator key a uma tecla ou
seqncia de teclas.

O Mdulo Menu - 212


Developer/2000 - Forms 4.5
Magic Item - Uma das opes da lista abaixo:

Magic Item Comando Funcionalidade Default


About, Undo QQ exceto MENU No.
Devemos associar um comando a estes itens para executar a
funo desejada.
Clear, Copy Nenhum Sim.
Cut, Paste Estes itens executam as operaes default indicadas para seus
nomes.
Help MENU No.
Devemos definir um submenu a ser chamado para este item e
devemos associar comandos aos itens do submenu.
Quit Nenhum Sim.
Por default este comando encerra o form aps perguntar ao
operador se deseja salvar as modificaes efetuadas.
Window NULL ou MENU Sim.
Este comando ir mostrar um submenu default que lista todas
as janelas abertas. O operador poder ativar uma outra janela
selecionando-a do submenu.

Obs: Se definirmos um submenu (em vez de NULL), o Oracle


Forms faz um merge entre os itens do submenu com a lista de
janelas abertas para criar um submenu nico. A ordem dos itens
no menu resultante indefinida.

Menu Item Radio Group - especifica o radio group ao qual o item pertence.

Label - ttulo do item de menu.


Podemos usar um caracter especial dentro do Item de menu criando mnemonics
keys. Os operadores podem pressionar o mneumnico correspondente key para
selecionar o item sem usar o mouse.
Por default o caracter mnemnico para um item de menu o primeiro caracter
maisculo. Se no existirem letras maisculas, o mnemnico ser o primeiro
caracter.
Podemos substituir as regras defaults colocando um & (ampersand) na frente do
caracter que desejamos que seja o mnemnico (ex.: Consulta).

Icon Name - o nome do arquivo com o desenho do cone.

O Mdulo Menu - 213


Developer/2000 - Forms 4.5

SECURITY
Menu Item Roles - roles do banco de dados com acesso ao item de menu.
Display w/o Privilege - indica se o item deve ser apresentado ou no para os
usurios que no tenham acesso a ele.

MICELLANEOUS
Hint - texto explicativo presente na linha de mensagem quando o foco estiver
sobre o item de menu,
Help - texto explicativo mais detalhado que o hint. Aparece quando o operador
teclar help para o item de menu.
Comment - Comentrio para o item.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

Se selecionarmos a lingeta cinza e usarmos o boto direito do mouse, teremos


acesso s propriedades do menu.

O Mdulo Menu - 214


Developer/2000 - Forms 4.5

COMANDOS ASSOCIADOS AOS ITENS DE MENU CHECK E RADIO


Os comandos so opcionais para estes tipos de item.

Se associarmos um comando a estes itens, o Oracle Forms executa o comando da


seguinte forma:

O comando associado a um check menu item executado quando o


operador coloca um item no estado oposto ao atual.

O comando associado a um radio item executado quando o operador


seleciona o item. Mesmo se aquele item j est atualmente selecionado no radio
group.

Devemos usar o tipo de comando NULL para um item check ou radio se aquele item
for usado somente para definir um modo de operao ou um contexto para
operaes na aplicao.

Quando um menu carregado, no momento do startup do Form, os estados do itens


de menu so os seguintes:

um check menu item aparece no estado unchecked.

um radio menu item aparece no estado checked (selecionado) se ele o


primeiro radio item no grupo. Se ele no for o primeiro, seu estado unchecked.

Obs: A disponibilidade e aparncia destes itens de menu so especficos para as


plataformas e as seguintes restries so aplicadas:

no devemos usar itens do tipo check, radio ou separator no menu


principal ou no menu de nvel mais alto (a qualquer momento um menu pode ser
designado como principal).

no devemos usar itens do tipo check, radio ou separator em um menu que


ser executado no estilo BAR.

O Mdulo Menu - 215


Developer/2000 - Forms 4.5

PROPRIEDADES DO MENU
Name - nome do menu.
Class - nome da classe a que o menu pertence.

DISPLAY
Title - ttulo para o menu. Tamanho mximo de 40 caracteres.
Subtitle - subttulo (para menus mostrados em full-screen). Tamanho mximo
de 40 caracteres.
Bottom Title - rodap (para menus mostrados em full-screen). Tamanho de 72
caracteres.

MISCELLANEOUS
Tear-off - um submenu que os operadores podem retirar do menu bar e
reposicionar em qualquer lugar da tela. Pode-se habilitar a funcionalidade tear-off
para qualquer submenu, porm, somente no estilo pull-down. Para isto basta que
marquemos TRUE na propriedade tear-off (na window de propriedades do menu).
Comment - Comentrio para o menu.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

O Mdulo Menu - 216


Developer/2000 - Forms 4.5

PROPRIEDADES DO MDULO MENU


Name - nome interno do mdulo.
Class - nome da classe a que o mdulo pertence.

DISPLAY
Main Menu - Indica o menu principal (inicial) do grupo de menus.
Startup Code - Especifica um cdigo PL/SQL (opcional) que o Oracle Forms
executa quanto o mdulo carregado na memria no momento da inicializao do
Form (Form startup).

SECURITY
Menu Module Roles - roles do banco de dados com acesso ao mdulo menu.
Use Security - Indica se o Oracle Forms deve usar controle de segurana
para o menu a tempo de execuo. Se desejarmos testar uma aplicao e o
username utilizado no pertencer a nenhuma das roles habilitadas para o menu,
devemos deixar esta propriedade com o valor False.

MISCELLANEOUS
Identification - Para aplicaes que estiverem sendo executadas em ambiente
caracter, esta propriedade especifica uma string que ser apresentada na linha de
mensagem quando o operador navegar para o menu (se o estilo for pull-down ou
bar). Se o estilo for full-screen esta propriedade especifica a string que identifica o
mdulo de menu.
Directory - Especifica o diretrio no qual o Oracle Forms deve procurar o
arquivo .MMX. Esta propriedade s aplicvel quando desejamos que o Oracle
Forms localize o arquivo .MMX atravs de Database Lookup.
Quando usamos Database Lookup, o mdulo menu deve estar armazenado no
banco de dados. A tempo de execuo, o Oracle Forms consulta a definio do
mdulo de menu armazenada no banco de dados para encontrar o diretrio e
nome do arquivo do arquivo "executvel" .MMX.
File - Especifica o nome do arquivo "executvel" .MMX que o Oracle Forms
deve obter a tempo de Form Startup (s vlida para Database Lookup).
Comment - Comentrio para o mdulo.

O Mdulo Menu - 217


Developer/2000 - Forms 4.5

PARMETROS

Um substitution parameter uma varivel de 2 letras (ex: RN, UN, PW, AD) que pode
ser referenciada no comando de um item de menu.

Existem 6 parmetros pr-definidos no Oracle Forms.

Os parmetros pr-definidos pelo Oracle Forms no so solicitados ao operador uma


vez que seus valores so inicializados a tempo de execuo.

UN - username corrente
PW - password corrente
AD - diretrio onde o executvel do menu corrente est armazenado
SO - item de menu corrente
TT - tipo de terminal usado no login
LN - linguagem

O Mdulo Menu - 218


Developer/2000 - Forms 4.5

CRIANDO PARMETROS PARA O MENU


Quando um operador seleciona um item de menu cujo comando inclua um parmetro,
o Oracle Forms mostra o dilogo Enter Parameter Values para solicitar ao operador
que informe um valor para os parmetros. Este valores tambm podem ser fornecidos
por programao.

PROPRIEDADES DOS PARMETROS


Name - nome do parmetro.
Class - nome da classe a que o parmetro pertence.

DATA
Maximum Length - tamanho mximo
Fixed Length - indica que o valor informado pelo operador deve ter o nmero
mximo de caracteres informado pela propriedade size.
Required - indica se o parmetro obrigatrio.
Default Value - este valor mostrado no campo correspondente quando o
dilogo enter parameter values for executado.

FUNCTIONAL
Case Restriction - informe none, upper ou lower. Converte o valor fornecido
para a opo selecionada.
Secure - indica que o valor fornecido pelo operador deve ficar invisvel (ex.:
password).
Label - ttulo do parmetro (aparecer no prompt ao operador)
Parameter Menus - (aplicvel somente a full-screen menus). Os nome dos
menus com os quais desejamos que os parmetros sejam associados.

MICELLANEOUS
Hint - mensagem que aparecer na linha apropriada quando o dilogo enter
parameter values for executado.
Comment - Comentrio para o parmetro.
Reference Information - indica o objeto ao qual este se refere (mdulo,
localizao e nome).

O Mdulo Menu - 219


Developer/2000 - Forms 4.5

ASSOCIANDO UM MENU A UM FORM


Aps criarmos um menu devemos associ-lo ao Form desejado. A associao feita
atravs de propriedades do mdulo Form.

MENU
Menu Module - Nome do mdulo Menu.
Menu Style - Indica o estilo de apresentao do menu: Bar, Full-Screen, Pull-
Down.
Use File - Quando True, indica que a propriedade Menu Module contm o
nome do arquivo .MMX do menu. Quando False, indica que a propriedade Menu
Module contm o nome de um mdulo Menu salvo no banco de dados.
Starting Menu - Esta propriedade permite que seja feita a substituio da
indicao de Menu Principal dentro de um mdulo. Os operadores no podero
navegar para menus acima daquele indicado como starting menu.
Menu Role - Especifica a role de segurana que o Oracle Forms deve usar
para executar o menu. Quando esta propriedade especificada, o Oracle Forms
executa o menu indicado como se o operador corrente fosse um membro da role
de segurana especificada.

Quando associamos um Menu a um Form, existem dois modos de especificarmos a


localizao do arquivo "executvel" do Menu:

DIRECT REFERENCE
Para fazermos referncia ao arquivo .MMX diretamente, no painel de propriedades do
Form ao qual desejamos associar o Menu informamos o diretrio e o nome do arquivo
de Menu na propriedade Menu module e preenchemos a propriedade Use File para
TRUE.

DATABASE LOOKUP
Se o menu estiver armazenado no database e se o Form for conectado quele
database a tempo de execuo, devemos:

No painel de propriedades do mdulo Menu, preencher as propriedades File e


Directory para a localizao do arquivo .MMX j gerado.
Salvar o menu para o database.
No painel de propriedades do Form que desejamos associar informar o nome
do menu no database na propriedade module name e preencher a propriedade use
file com FALSE.

O Mdulo Menu - 220


Developer/2000 - Forms 4.5

DEFAULT FORM MENU


O menu default construdo para cada Form e no um menu module separado. Ele
possui comandos padres de navegao, edio e interao com o database. Os
itens de um default menu correspondem s function keys de execuo:

ACTION MENU EDIT MENU BLOCK MENU RECORD MENU

Clear All([Clear Form]) Cut([Cut]) Previous([Previous Block]) Previous([Previous Rec])


Save([Commit]) Copy([Copy]) Next([Next Block]) Next([Next Record])
Refresh([Refresh]) Paste([Paste]) Clear([Clear Block]) Scroll Up([Scroll Up])
Print([Print]) Edit([Edit]) Scroll Down([ScrolDown])
Exit([Exit/Cancel]) Clear([Clear Record])
Remove([Delete Record])

FIELD MENU RECORD MENU QUERY MENU HELP MENU

Previous([Prev Item]) Insert([Insert Rec]) Enter([Enter Query]) Help([Help])


Next([Next Item]) Duplicate([Dupl Rec]) Execute([Execute Query]) Keys([ShowKeys])
Clear([Clear Item]) Lock([Lock Record]) LastCriteria([EnterQuery]) List([List])
Duplicate([Dup Item]) Cancel([Exit/Cancel]) Error([Displ Error])
Count Hits([Count Q Hits]) Debug([Debug])
Fetch Next Set([Next Set of Records])

O menu Default parte de cada Form e usado, automaticamente, se nenhum outro


for especificado.

Podemos, explicitamente, especificar que o Form use o menu Default :

No Object Navigator selecionar o Form desejado e obter suas propriedades.

Informar Default na propriedade Menu Module. Se desejarmos que o Form seja


executado sem menu, devemos deixar este campo em branco.

O Mdulo Menu - 221


Developer/2000 - Forms 4.5

MODIFICANDO AS CARACTERSTICAS DO MENU


O Oracle Forms tambm nos fornece um conjunto de rotinas para manipulao
dinmica dos menus da aplicao.

ROTINAS DE MANIPULAO DE MENUS


Application_Menu
Background_Menu1 a 10
Exit_Menu
Exit_Menu(Message)
Hide_Menu
Main_Menu
Menu_Clear_Field
Menu_Failure
Menu_Help
Menu_Message(Message)
Menu_Next_Field
Menu_Parameter
Menu_Previous_Field
Menu_Redisplay
Menu_Show_Keys
Menu_Success
Next_Menu_Item
Previous_Menu
Previous_Menu_Item
Replace_Menu(Menu_Application, Menu_Type, Starting_Menu, Group_Name,
Use_File)
Set_Menu_Item_Property(Menuitem_Id, Property, Value)
Set_Menu_Item_Property(Menuitem_Id, Property, Value)
Set_Menu_Item_Property(Menuitem_Name, Property, Value)
Set_Menu_Item_Property(Menuitem_Name, Property, Value)
Show_Background_Menu
Show_Menu

O Mdulo Menu - 222

Potrebbero piacerti anche