Você está na página 1de 85

Forms 6i

Forms 6i

Forms 6i

ndice
1 INTRODUO .................................................................................................................................................. 4 2 PRIMEIROS PASSOS PARA UTILIZAO DO FORMS BUILDER ............................................................... 5 2.1 ENTRADA ...................................................................................................................................................... 5 2.2 CONEXO COM A BASE DE DADOS ORACLE ..................................................................................................... 6 2.3 CRIANDO UMA NOVA APLICAO..................................................................................................................... 7 2.4 CONFIGURAO DO AMBIENTE DO BUILDER .................................................................................................... 8 3 INTERFACE DO BUILDER............................................................................................................................. 11 3.1 JANELA DO ORACLE FORMS BUILDER ........................................................................................................... 11 Barra de ferramentas .................................................................................................................................. 12 3.2 JANELA DE SHOW KEYS............................................................................................................................... 13 3.3 LINHA DE STATUS ........................................................................................................................................ 13 3.4 MENU FILE .................................................................................................................................................. 14 3.5 MENU EDIT ................................................................................................................................................. 16 3.6 MENU PROGRAM ......................................................................................................................................... 17 4 DESENVOLVIMENTO DE FORMS ................................................................................................................ 18 4.1 OBJETOS COMPONENTES DE UM FORM......................................................................................................... 18 Alerta (Alert) ................................................................................................................................................ 18 Bloco (Data Block)....................................................................................................................................... 18 Canvas ........................................................................................................................................................ 18 Editor ........................................................................................................................................................... 18 Item.............................................................................................................................................................. 18 Lista de Valores (LOV) ................................................................................................................................ 19 Parmetro.................................................................................................................................................... 19 Record Group.............................................................................................................................................. 19 Relation ....................................................................................................................................................... 20 Visual Attributes........................................................................................................................................... 20 Windows ...................................................................................................................................................... 20 Program Units e Triggers ............................................................................................................................ 20 Bibliotecas (Attached Library) ..................................................................................................................... 20 4.2 CRIANDO UM NOVO FORM ............................................................................................................................ 21 4.3 PROPRIEDADES DO MDULO ........................................................................................................................ 22 4.4 CONFIGURANDO O CANVAS .......................................................................................................................... 24 4.5 CANVAS DO TIPO GUIA (TAB CANVAS).......................................................................................................... 26 4.6 TAB PAGE ................................................................................................................................................... 27 4.7 CRIANDO BLOCOS PARA ACESSO BASE DE DADOS ...................................................................................... 28 4.8 PROPRIEDADES DE UM BLOCO...................................................................................................................... 37 4.9 CRIANDO RELACIONAMENTOS ENTRE BLOCOS .............................................................................................. 39 4.10 MANIPULANDO ITENS ................................................................................................................................. 42 Text Item...................................................................................................................................................... 42 Radio Group ................................................................................................................................................ 47 Check Box ................................................................................................................................................... 49 Propriedades ............................................................................................................................................... 50 Botes ......................................................................................................................................................... 51 List Item ....................................................................................................................................................... 53 Lista de Valores (LOV) ................................................................................................................................ 57 Editores ....................................................................................................................................................... 61 Parmetros .................................................................................................................................................. 62 4.11 MODIFICANDO A APARNCIA DE UM FORM .................................................................................................. 63 Ferramentas ................................................................................................................................................ 63

Forms 6i

Manipulando objetos no Layout Editor ........................................................................................................ 65 Dimensionando Objetos .............................................................................................................................. 67 4.12 CRIANDO ATRIBUTOS VISUAIS NOMEADOS ................................................................................................... 68 5 DESENVOLVIMENTO DE TRIGGERS........................................................................................................... 70 5.1 CRIANDO UM TRIGGER................................................................................................................................. 70 5.2 EVENTOS QUE DISPARAM TRIGGERS ............................................................................................................ 73 5.3 POPULANDO DADOS ATRAVS DE TRIGGERS ................................................................................................. 74 5.4 ALTERANDO A FUNCIONALIDADE DO FORM ATRAVS DE TRIGGERS ................................................................. 75 5.5 TRIGGERS DISPARADOS POR BOTES........................................................................................................... 76 6 COMPARTILHANDO CDIGO....................................................................................................................... 77 6.1 CRIANDO FUNCTIONS E PROCEDURES .......................................................................................................... 77 6.2 LIBRARY...................................................................................................................................................... 79 6.3 LIGANDO UMA LIBRARY A UM MDULO (ATTACH) ........................................................................................... 80 6.4 CHAMANDO UMA PROCEDURE OU FUNCTION LIGADA AO MDULO ................................................................... 80 7 DESENVOLVIMENTO DE MENUS ................................................................................................................ 80 7.1 CRIANDO UM MENU ...................................................................................................................................... 80 7.2 CRIANDO O MENU PRINCIPAL ........................................................................................................................ 82 7.3 CRIANDO OPES PARA O MENU .................................................................................................................. 82

Forms 6i

1 Introduo
O Oracle Forms uma ferramenta de desenvolvimento de aplicaes, que permite a criao de telas e menus. formada por 3 componentes :

Designer : Utilizado para a criao de aplicaes, compilao e execuo, sendo executado em ambiente grfico de edio.

Runtime : Ferramenta utilizada pelos usurios para a execuo das aplicaes j desenvolvidas. Generate : pelo runtime. Utilizado para compilar uma aplicao e gerar o arquivo executvel

Forms 6i

2 Primeiros passos para utilizao do Forms Builder

2.1 Entrada

Forms 6i

2.2 Conexo com a base de dados Oracle A conexo ao banco de dados habilita algumas funes no Designer, como compilao de objetos e gerao de executveis. A conexo pode ser feita atravs do menu File Connect, ou, quando necessria interao com a base de dados, o Designer pede a conexo. Nos dois casos abre-se a janela de conexo mostrada abaixo.

Forms 6i

2.3 Criando uma nova aplicao Atravs do menu File New, tem-se acesso a criao de um novo mdulo, que pode ser de um dos trs tipos abaixo: Form Conjunto de objetos e rotinas que apresenta-se como ferramenta on-line para entrada e recuperao de dados. Menu Um menu principal que contm diversos submenus, que compe o menu da aplicao. PL/SQL Library Conjunto de funes e procedimentos que podem ser utilizados por diversos mdulos. Os 3 tipos de mdulos so armazenados em formato binrio (na base de dados ou no sistema de arquivos). O arquivo executvel criado com base em informaes da plataforma em que o Oracle Forms est executando, no sendo portanto portvel para outras plataformas. Para portar uma aplicao entre plataformas, deve ser gerado o arquivo texto e ento o mdulo portado. Para portar uma aplicao para outra plataforma, utiliza-se o Generate. As seguintes extenses so utilizadas pelo Oracle Forms para identificar os tipos de mdulo : Mdulo Form Menu Library Binrio .FMB .MMB .PLL Texto .FMT .MMT .INP Executvel .FMX .MMX .LIB

Forms 6i

2.4 Configurao do ambiente do Builder Atravs da opo Preferences do menu Tools do Forms Designer, possvel acessar as opes da sua configurao interna. Estas opes so descritas abaixo :

Save Before Generate executvel. Build Before Runnig Supress Hints Use System Editor

Salva o mdulo (binrio) antes de gerar o

Gerar o mdulo (executvel) antes de rod-lo. No mostra o contedo da linha de mensagens. Determina qual editor o Oracle Forms usar quando voc chamar um editor de campo multi-line em uma propriedade. Opes: 1) On : Mostra o editor definido para o seu sistema. 2) Off : Mostra o editor default do Oracle Forms.

Forms 6i

Module Access Determina o local de armazenamento utilizado para ler e salvar os mdulos. Opes: File Database Ask de local Mdulos armazenados em disco. Mdulos armazenados na base de dados. Quando houver operao de leitura ou salvamento mdulo, o Oracle Forms ir solicitar que se informe o de armazenamento.

Forms 6i

Debug Messages

Habilita que durante a execuo sejam mostradas as mensagens de debug (nome das triggers no momento em que so disparadas). Opes: 1) Off: Quando feita uma consulta no banco de dados, o retorno feito do servidor para o cliente linha a linha. 2) On: O retorno feito conforme informado na propriedade fetch de cada bloco.

Array Processing

Query Only Mode Quiet Mode tempo de

Determina que o form apenas de consulta. Desabilita o beep quando uma mensagem mostrada em execuo.

10

Forms 6i

3 Interface do Builder

3.1 Janela do Oracle Forms Builder A tela bsica para trabalho no Designer mostrada abaixo, composta da janela do Designer e a janela do Object Navigator.
barra de menus

mdulo ativo barra de ferramentas

linha de

linha de status

11

Forms 6i

Barra de ferramentas Criar novo mdulo Abrir um mdulo j existente Salvar o mdulo ativo Executar tela Client/Server Executar tela Web o modo de debug Ativa Recortar Copiar Colar Criar objeto objeto Excluir Expandir ramificao Reduzir ramificao Expandir todas ramificaes ramificaes Reduzir todas

Como pode ser observado, todas as opes so realizadas sobre o mdulo ativo.

12

Forms 6i

3.2 Janela de Show Keys Durante a execuo de uma tela, possvel visualizar todas as funes acessveis em um dado momento e a combinao de teclas para invocar a funo. Esta janela chamada de Show Keys, sendo acessada atravs da combinao [Show Keys], que no Windows corresponde s teclas Ctrl-F1 pressionadas simultaneamente.

3.3 Linha de Status Mostra as seguintes informaes: Mod: File: Nome do mdulo ativo. Nome do arquivo do mdulo ativo.

13

Forms 6i

3.4 Menu File

New Open Close Save Save As Revert Connect Disconnect

Criar novo mdulo. Abrir um mdulo j existente. Fechar mdulo ativo. Salvar o mdulo ativo. Salvar o mdulo ativo com outro nome. Retorna a situao do mdulo para a sua ltima gravao. Conectar base de dados. Desconectar da base de dados.

14

Forms 6i

Administration Opes: 1) Compile File Gerar o arquivo executvel.

2) Convert

Converso de arquivo binrio para texto e vice-versa.

Exit

Fechar o Builder

15

Forms 6i

3.5 Menu Edit Undo Cut transferncia. Copy Paste posio do Clear: Desfaz a ltima operao. Excluir seleo atual e armazenar na rea de

Armazenar seleo atual na rea de transferncia. Copiar o contedo da rea de transferncia para a cursor. Excluir seleo atual.

16

Forms 6i

3.6 Menu Program

Sintax Palette

Abre uma janela em que pode ser verificada a sintaxe PL/SQL e tambm as rotinas built-in do Builder.

Find and Replace PL/SQL Procura/substituio de um texto no cdigo PL/SQL da tela. PL/SQL Editor Editor PL/SQL para digitao/compilao do cdigo fonte.

17

Forms 6i

4 Desenvolvimento de Forms
4.1 Objetos Componentes de um form Alerta (Alert) So caixas de dilogo compostas de mensagem para o usurio e botes de opes.

Bloco (Data Block) Corresponde tabela do banco de dados. composto de itens que correspondem s informaes da base de dados e outras informaes a critrio do desenvolvedor. Os blocos podem ser criados de duas maneiras: - Selecionar a ramificao Blocks no Object Navigator e clicar sobre o boto Criar objeto da barra de ferramentas, - Atravs do menu Tools | Data Block Wizard

Canvas o conjunto de blocos. Um bloco pode estar somente em um Canvas. Cada canvas corresponde a uma tela visualizada ou parte de uma tela. Editor um editor de texto mostrado como uma janela, utilizado para digitao de textos extensos em campos de tela pequenos.

Item um objeto que armazena um valor. Um bloco pode conter vrios itens. Um item est sempre associado a somente um bloco. Podem estar associados tambm a um atributo em uma tabela da base de dados. Um item podem ser de um dos vrios tipos: text item, radio group, check box, boto, lista.

18

Forms 6i

Lista de Valores (LOV) uma lista que pode servir para auxiliar o preenchimento de um item, quando no se sabe qual o valor que vai ser associado a ele. possvel buscar valores de tabelas da base de dados. Exemplo: Lista de valores para o campo Cdigo do cliente:

Parmetro uma varivel acessvel em todo o mdulo, e que pode ser atribudo valor no momento da execuo do mdulo.

Record Group Funciona como tabelas que armazenam os resultados de uma consulta ao banco de dados ou valores fixos. Podem ser utilizados para a criao de listas de valores.

19

Forms 6i

Relation Funcionam com os blocos da mesma maneira como funciona o relacionamento entre tabelas. Tomando como exemplo, um form composto de 2 blocos: - o bloco PEDIDO representa a tabela de pedidos que est na base de dados, - o bloco ITEM_PEDIDO representa a tabela de pedidos que est na base de dados. O relacionamento entre a tabela de pedidos e a tabela de itens para pedidos de 1 para n. Sendo assim existe uma foreign key partindo da tabela de itens para a tabela de pedidos. Para criar a sincronia e a integridade entre os dois blocos, tendo em vista que os itens mostrados passem a ser os correspondentes aos do novo pedido, deve ser criada uma relation entre os dois blocos. Caso no seja criada a relation, a funcionalidade dos blocos ser independente. Visual Attributes So conjuntos de caractersticas visuais (tipo de fonte, cor de frente, cor de fundo, entre outras) que podem ser associados a diversos objetos, criando assim um padro visual de estilos. Windows uma janela de visualizao que pode conter vrios canvas. Seu formato gerenciado pelo MS-Windows. Program Units e Triggers Program Unit o cdigo PL/SQL organizado em um procedimento ou funo. Trigger o cdigo PL/SQL associado a um evento. Este evento poder ser um incio de execuo, a entrada de um campo, o pressionamento de um boto, entre outros. Bibliotecas (Attached Library) So mdulos do tipo PL/SQL library, que tem suas rotinas utilizadas pelo mdulo ativo.

20

Forms 6i

Quando um mdulo utiliza uma rotina de uma biblioteca, esta necessita ser anexada (attachada) ao mdulo. 4.2 Criando um novo Form No menu File New, escolha a opo Form. Desse modo aparece uma janela para a criao da tela. Pode ser observado que a linha de status mostra o nome do mdulo e o arquivo associado ao mdulo criado.

21

Forms 6i

4.3 Propriedades do mdulo

Name mdulo). Title execuo. Console Window Menu Module form.

Nome do mdulo (usado tambm para o arquivo do

Ttulo da janela do form quando estiver em

Nome da window principal do form. Nome do mdulo de menu usado como menu para o

22

Forms 6i

Mouse Navigation Limit

Determina o local em que o mouse pode navegar. Opes: o default. A navegao est habilitada em todo o

Form form. Data Block bloco Record registro Item corrente.

A navegao est habilitada somente dentro do corrente. A navegao pode ser feita somente dentro do corrente. A navegao s pode ser feita dentro do item

First Navigation Data Block Nome do bloco onde o cursor ser posicionado no momento da execuo ou quando for limpo. Por default, o Oracle Forms utiliza o bloco que aparece em primeiro lugar na ramificao Data Blocks. Validation Unit Especifica o momento da validao das informaes inseridas pelo usurio da aplicao. Opes: Assume a validao default da plataforma (item). A validao feita somente na sada do form. A validao feita na sada do bloco. A validao feita da sada do registro. A validao feita na sada do item. Sistema de medidas utilizada no forms. Pode ser Ponto, Polegada ou Centmetro. Form Horizontal Toolbar Canvas Canvas do tipo Toolbar que comanda a barra de ferramentas horizontal do form Form Vertital Toolbar Canvas Canvas do tipo Toolbar que comanda a barra de ferramentas vertical do form

Default Form Data Block Record Item Coordinate System Caracter,

23

Forms 6i

4.4 Configurando o canvas

Name Canvas-View Type Content

Nome do canvas. Opes: o default. O canvas mostrado inteiro dentro da window a que pertence. Usado quando existem vrios canvas para uma O canvas stacked mostrado em segundo plano, sendo posto em primeiro plano quando houver navegao para um item dentro do canvas. Vertical Toolbar O canvas do tipo barra de ferramentas vertical.

Stacked mesma window.

24

Forms 6i

Horizontal Toolbar horizontal. Tab

O canvas do tipo barra de ferramentas

O canvas do tipo Guia.

Visible

Informa se o canvas mostrado na tela.

Window

Nome da window a que o canvas pertence

Width

Largura do canvas expresso em unidades definidas na propriedade Coordinate Information do mdulo Altura do canvas

Heigh

Bevel

Determina o modo de apresentao do canvas Opes: Lowered Raised None Baixo relevo Alto relevo Normal

Visual Atribute Group

Nome do atributo visual a ser usado no canvas

Foreground Color

Cor de frente

Background Color

Cor de fundo

25

Forms 6i

4.5 Canvas do tipo Guia (Tab Canvas) So canvas que simulam uma pasta, com vrias guias. Na figura abaixo mostrado um canvas do tipo guia que poderia ser usado para o cadastramento de funcionrios, com as guias Dados Pessoais, Formao escolar e Qualificaes.

26

Forms 6i

Propriedades Alm das disponveis para os demais tipos de canvas, existe a propriedade Tab Attachment Edge, que indica a localizao das guias de seleo. Top canvas Bottom Left Rigth Indica que as guias ficam na parte inferior do canvas Indica que as guias ficam esquerda do canvas Indica que as guias ficam direita do canvas Indica que as guias ficam na parte superior do

4.6 Tab Page a pgina associada determinada guia. Por exemplo, na figura abaixo so mostradas as propriedades da tab page DADOS_PESSOAIS, que est associada guia Dados Pessoais

27

Forms 6i

Propriedades

Caso seja desejvel saber em que tab pages o usurio se encontra, basta usar a funo get_canvas_property( nome_do_canvas, TOPMOST_TAB_PAGE). No exemplo mostrado acima, para saber de o usurio est na pgina de dados pessoais, usa-se o comando : if get_canvas_property(CADAST_FUNC,TOPMOST_TAB_PAGE) = DADOS_PESSOAIS . . . 4.7 Criando blocos para acesso base de dados

28

Forms 6i

Aps configurados windows e canvas, o prximo passo para a criao de uma aplicao a criao dos blocos. Ser usado como exemplo, um mdulo para a entrada e consulta de pedidos conforme citado no tpico Componentes de um form - Relation. Primeiramente criado um bloco para a tabela PEDIDO, como mostrado na figura abaixo, escolhendo inicialmente a opo Use the Data Block Wizard e para tipo de bloco, selecionando a opo Table or View.

Boto Browse Available Columns bloco. Database items

Serve para buscar lista de tabelas/views existentes. Colunas da tabela/views disponveis para incluir no

Colunas da tabela/view j selecionadas para serem includas no bloco.

Selecionar a opo Create data block and then call Layout Wizard e em seguida selecione o canvas ao qual o bloco ir pertencer. Nessa janela tambm pode ser criado um novo canvas, como mostrado na figura abaixo.

29

Forms 6i

30

Forms 6i

Em seguida deve-se informar quais colunas sero mostradas na tela, conforme mostrado na figura abaixo.

31

Forms 6i

Aps, solicitado o Prompt, que o label que ser mostrado ao lado do campo de tela.

32

Forms 6i

Em seguida definido o estilo de apresentao do bloco: Form do campo Tabular Mostra um registro por tela, com o label esquerda

Mostra no formato planilha, com vrios registros por tela e o label posicionado acima do campo.

33

Forms 6i

Por fim, deve ser informado o ttulo no bloco no campo Frame Title. Records Displayed Display Scrollbar Quantidade de registros mostrados na tela Disponibiliza barra de rolagem para o bloco

Aps criar o bloco para a tabela PEDIDO, deve-se criar o bloco para a tabela ITEM_PEDIDO.

34

Forms 6i

Os passos so os mesmos que na criao do bloco pedido.

Como existe uma foreign key na tabela ITEM_PEDIDO apontando para a tabela PEDIDO, o Forms Builder abre a possibilidade de sincronizao entre os blocos, ou seja, a possibilidade de criao de uma relation entre os dois blocos. Ao ser pressionado o boto Create Relationship, uma janela com todas as foreign keys sero abertas, a fim de selecionar o join que deseja implementar a sincronizao.

35

Forms 6i

Aps ser selecionada a foreign key mostrado de que forma ser implementada a relation

Este bloco deve ser do tipo Tabular, com 10 linhas e deve possuir barra de rolagem.

36

Forms 6i

4.8 Propriedades de um bloco

Number of Records Buffered

Quantidade mxima de registros armazenados na memria

Number of Records Displayed Quantidade de registros mostrados no bloco Database Data Block Informa se as operaes efetuadas no bloco sero refletidas em tabela da base de dados Informa se so permitidas operaes de consulta (query) Nome da tabela, caso Database Data Block tenha o valor Yes

Query Allowed

Query Data Source Name

37

Forms 6i

WHERE Clause

Clusula a ser utilizada quando for feita uma consulta (query). Vai criar um comando do tipo : SELECT <colunas usadas> from <Base Table> where <WHERE Clause > order by <ORDER BY Clause> Informa se so permitidas operaes de incluso (insert) Informa se so permitidas operaes de alterao (update) Informa se so permitidas operaes de excluso (delete) Determina a criao de uma barra de rolagem para navegao entre os registros do bloco Nome do canvas onde ser posicionada a barra de rolagem Normalmente o mesmo canvas em que os itens do bloco esto posicionados Nome da tab page onde ser posicionada a barra de rolagem Normalmente a mesma tab page em que os itens do bloco esto posicionados Determina a direo da barra de rolagem : vertical ou horizontal

Insert Allowed

Update Allowed

Delete Allowed

Show Scroll Bar

Scroll Bar Canvas

Scroll Bar Tab Page

Scroll Bar Orientation

38

Forms 6i

4.9 Criando Relacionamentos entre Blocos Uma relao pode ser criada selecionando-se a ramificao Relations do bloco PEDIDO na janela Object Navigator, e clicando no cone da barra de ferramentas Criar item. Feito esse procedimento a seguinte janela ser mostrada:

Detail Block

Nome do bloco que ser o detalhe do relacionamento (o lado n do relacionamento 1 para n). Determina o modo como ser tratada a deleo de um registro no bloco master. Opes: Permite deletar o registro mestre, deletando automaticamente os registros detalhe associados. o default. No permite deletar o registro mestre se houverem registros detalhe associados. Permite deletar o registro mestre, sem afetar os detalhe.

Master Delete

Cascading

Non-Isolated

Isolated registros

39

Forms 6i

Coordination

Determina o modo de populao do bloco detalhe quando, no bloco mestre feita uma navegao para outro registro. Opes: Os registros detalhe so imediatamente

Deferred FALSE mostrados. Deferred TRUE e Auto-Query TRUE quando feita

Os registros detalhe so mostrados somente a navegao para o bloco detalhe.

Deferred TRUE e Auto-Query FALSE Os registros detalhe so mostrados aps a navegao ter sido feita para o bloco detalhe, e o usurio da aplicao explicitamente executar uma query.

Prevent Masterless Operation Com essa opo desligada, determina que podem ser realizadas operaes no bloco detalhe quando no houver registro mestre.

Join Condition

A condio para join dos blocos, ou seja, as colunas componentes da foreign key entre as tabelas.

Aps a criao da relation, o Oracle Forms cria automaticamente as triggers: On-Clear-Details, On-Check-Delete-Master e On-Populate-Details,

40

Forms 6i

assim como as procedures : Check_Package_Failure, Clear_All_Master_Details e Query_Master_Details, como mostra a figura abaixo.

41

Forms 6i

4.10 Manipulando Itens Text Item Um campo de tela comum, que serve para entrada ou consulta de dados. Propriedades:

Enabled

Determina que o usurio pode usar o mouse para manipular o item Tipo de alinhamento ( esquerda ou direita) Habilita o item a receber vrias linhas de texto, isto , quando for pressionado <Enter>, no haver navegao para o prximo item. O que ocorre a abertura de uma nova linha para digitaco.

Justification Multi-Line

42

Forms 6i

Wrap Style

Determina como uma linha em um item multi-line ser mostrada quando for maior que a largura do item. O contedo excedente no mostrado O contedo excedente mostrado na linha seguinte O contedo excedente mostrado na linha seguinte, mas no permitite que uma palavra seja quebrada, levando a palavra inteira para a prxima linha

None Character Word

Case Restriction

Determina o modo como o contedo do item mostrado. Opes: O texto aparece como foi digitado O texto aparece todo em maisculas O texto aparece todo em minsculas No mostra caracteres digitados no item. Usado campos de senha. Determina que o cursor vai automaticamente para o prximo item quando o item for completamente

Mixed Upper Lower Conceal Data para Automatic Skip preenchido Keyboard Navigable navegao Datatype Maximum Length Fixed Length

Determina que o item est habilitado para

Tipo de dado do item (numrico,char,data, etc) Tamanho mximo do valor armazenado Determina que o item deve ser totalmente preenchido, ou seja, deve ter sempre o nmero de caracteres informado em Maximum Length Valor default do item. O item preenchido automaticamente com o valor quando criado um registro Determina que a digitao do item obrigatria.

Initial Value novo Required

43

Forms 6i

Format Mask Lowest Allowed Value Highest Allowed Value Copy Value from Item do item novo Calculation Mode

Mscara para visualizao Valor mnimo aceito Valor mximo aceito O item preenchido automaticamente com o valor indicado nessa propriedade quando criado um registro Utilizado para soma calculada a partir de operaes de grupo sobre outros itens Operao de grupo utilizada Bloco onde est localizado o item informado em Summarized Item Item sobre o qual a operao de grupo ser calculada Associa o item coluna Column Name e na tabela associada ao bloco Informa se so permitidas operaes de consulta (query) Determina que quando for feita uma query pelo item, no ser feita distino entre maisculas e minsculas. Informa se so permitidas operaes de incluso (insert) Informa se so permitidas operaes de alterao (update) Determina que o valor do item s pode ser alterado seu valor seja NULL. Nome da lista de valores para auxiliar o

Summary Function Summarized Block

Summarized Item

Database Item

Query Allowed

Case Insensitive Query

Insert Allowed

Update Allowed

Update Only if Null caso o List of Values preenchimento List X Position List Y Position

Posio da lista em relao margem esquerda Posio da lista em relao ao topo da tela

44

Forms 6i

Validate from List utilizada a Editor Visible Canvas Tab Page X Position Y Position Width Height Bevel

Determina que quando o campo validado, seja lista de valores para consistir o valor Nome do editor usado para digitao do item Determina se o item mostrado na tela Nome do canvas em que o item est localizado Nome da tab page em que o item est localizado Posio do item em relao margem esquerda Posio do item em relao ao topo da tela Largura do item Altura do item Determina o modo de apresentao do canvas. Opes:

Lowered Raised None Show Vertical Scroll Bar

Baixo relevo Alto relevo Normal Para itens multi-line, determina que ser criada uma barra de rolagem. Nome do atributo visual a ser usado no canvas Cor de frente Cor de fundo Label do item Descrio do item mostrada na linha de mensagens. Se contiver o valor FALSE, a descrio do item no aparece na linha de mensagens, sendo acessada somente pela tecla [Help]

Visual Atribute Group Foreground Color Background Color Prompt Hint Display Hint Automatically

45

Forms 6i

Tooltip

Texto para ser mostrado como dica quando o mouse for posicionado sobre o item

46

Forms 6i

Radio Group um conjunto de radio buttons, ou seja, botes que representam os diversos valores vlidos para a coluna TIPO_PAGTO da tabela Pedido, no bloco Pedido. O radio group mostrado composto dos radio buttons Vista, Prazo, Carto.

Possui as mesmas propriedades que os text itens.

47

Forms 6i

Propriedades dos radio buttons

Label Radio Button Value

Texto mostrado ao lado do boto Valor atribudo ao radio group, caso o boto esteja selecionado

48

Forms 6i

Check Box uma caixa que pode assumir somente dois valores, ligado e desligado. No exemplo abaixo, foi utilizado um Check Box para representar a coluna Ja_Entreg no bloco Pedido, que s pode assumir os valores S e N. Essa coluna no existe realmente na tabela. somente um exemplo.

49

Forms 6i

Propriedades

Value When Checked ligado. Value When Unchecked desligado.

Valor atribudo ao item caso o checkbox esteja

Valor atribudo ao item caso o checkbox esteja

Valor assumido pelo item quando um Check Box Mapping of Other Values valor diferente de checked e unchecked for utilizado. Not Allowed mostrados. Check value. No caso de uma query, os registros no so

Assume o valor especificado em checked

50

Forms 6i

Uncheck value. Botes

Assume o valor especificado em unchecked

um objeto que dispara um evento, iniciando uma ao, quando pressionado. No exemplo abaixo, foram utilizados botes para as aes de incluir pedido, confirmar dados, cancelar alteraes, sair.

51

Forms 6i

Propriedades

Label Iconic Icon Filename arquivo).

Texto que aparece na superfcie do boto Determina que ser mostrado um cone na superfcie do boto. Nome do cone a ser mostrado (no informar extenso do

52

Forms 6i

List Item Uma lista de opes para preenchimento do item. No exemplo abaixo, o item TIPO_PAGTO representado por uma pop-list. A lista aparece quando a seta clicada.

53

Forms 6i

Abaixo mostrado o mesmo item como uma lista do tipo t-list.

54

Forms 6i

Propriedades

List Style

Tipo de lista. Poder assumir os seguintes valores : - PopList - Tlist - Cambo Box

55

Forms 6i

List Elements:

Opes da lista. Selecionada esta propriedade, mostrado o boto More. Este boto chama a tela de definio de elementos da lista, que mostrada abaixo. O texto em List Elements o que aparecer na tela e List Item Value o valor atribudo ao item.

56

Forms 6i

Lista de Valores (LOV) Propriedades

Record Group

Nome do record group que busca os valores para a lista de valores Determina que quando o usurio da aplicao navegar para o item que associado com a lista de valores, a lista ser exibida automaticamente Usada em casos que a lista de valores contm muitos valores, ocasionando problemas de performance. Determina que antes que a lista de valores seja exibida, seja aberta uma caixa de dilogo, onde o usurio da aplicao possa informar um critrio para a lista de valores.

Automatic Display

Filter Before Display

57

Forms 6i

Desse modo, diminui a quantidade de valores a serem exibidos pela lista, melhorando a performance. Automatic Skip lista, feita Determina que aps a escolha de um dos valores da automaticamente a navegao para o prximo item. Restries: - As propriedades Displayed e Enable devem estar setadas com TRUE. -No disparada a trigger KEY-NEXT-ITEM.

Column Mapping Properties Informaes para o mapeamento das colunas da lista de valores. No exemplo abaixo, a coluna COD_FORNEC da lista de valores mapeada para popular o item COD_FORNEC, com tamanho 26, usando com cabealho para a lista a palavra Cliente. Obs.: Se o campo Return Item for deixado em branco, no popula nenhum item da tela.

Ao criar uma lista de valores, necessrio criar um record group, sendo abaixo mostradas suas propriedades.

58

Forms 6i

Record Group Type Query Determina que uma query recupere os valores do record group. Os valores so buscados no momento da execuo. Determina que os valores do record group sejam estticos. Os valores so informados no Designer e no podem ser alterados. Especifica a query que busca os valores para o

Static

Record Group Query record group.

Column Specification: Especifica o tipo de dado e tamanho das colunas, como mostrado no exemplo abaixo.

59

Forms 6i

60

Forms 6i

Editores No exemplo abaixo, mostrado um editor para o item OBSERVACAO. Criar coluna na tabela PEDIDO para armazenar observao e associar a um item do tipo text item com propriedade multi-line com o valor Yes.

Propriedades Title Bottom Title clique em Show Vertical Scroll Bar vertical. No exemplo foi utilizado Observao. No exemplo foi utilizado Aps digitar a observao OK. Determina a criao de uma barra de rolagem

61

Forms 6i

Parmetros So variveis especiais criadas com a finalidade de receber valores externos, vindos de um menu ou uma outra tela. Suas propriedades tem a mesmas funes das propriedades dos text items.

62

Forms 6i

4.11 Modificando a Aparncia de um Form Ferramentas Layout Editor

63

Forms 6i

Barra de Ferramentas
Seleo de objetos zoom desenhar retngulo desenhar elipse desenhar polgono desenhar retngulo arredondado etiqueta de texto boto radio button imagem Objeto OLE rea Bean lista rvore hierrquica Stacked canvas rotao rotaciona objetos desenhar linha desenhar arco desenhar figura poli-linha desenho mo livre frame checkbox text item grfico Controle ActiveX item display som Canvas do tipo Guia

cor de preenchimento cor de linha cor da fonte de letra

64

Forms 6i

Manipulando objetos no Layout Editor Alinhamento de objetos Um conjunto de objetos selecionados pode ser alinhado seguindo as opes abaixo. Acessvel atravs do menu Arrange | Allign Objects.

Align to Each Other Grid Alinha os objetos em relao a um objeto Alinha os objetos em relao grade

Horizontally None Align Left esquerda Align Right Align Center conjunto Distribute Stack Vertically Torna igual o espaamento entre os objetos Junta os objetos Alinha pelo lado direito do objeto mais direita Alinha o centro de cada objeto pelo centro do No alinha horizontalmente Alinha pelo lado esquerdo do objeto mais

65

Forms 6i

None Align Top

No alinha verticalmente Alinha pela parte de cima do objeto mais perto do topo Alinha pela parte de baixo do objeto mais perto da borda inferior Alinha o centro de cada objeto pelo centro do conjunto Torna igual o espaamento entre os objetos Junta os objetos

Align Bottom

Align Center

Distribute Stack

66

Forms 6i

Dimensionando Objetos

Um conjunto de objetos selecionados pode ter um tamanho padronizado, seguindo as opes abaixo. Acessvel atravs do menu Arrange | Size Objects.

No Change (Width/Height) Smallest (Width/Height) Largest (Width/Height) Average (Width/Height) Custom (Width/Height)

No altera tamanho Tamanho do menor objeto Tamanho do maior objeto Tamanho mdio dos objetos Assume um valor digitado

67

Forms 6i

4.12 Criando atributos visuais nomeados Um conjunto de atributos visuais pode ser criado, facilitando a padronizao visual dos objetos. Propriedades

Name Font Name Foreground Color Background Color

Nome do atributo visual Fonte de letras a ser utilizada Cor de frente dos objetos Cor de fundo dos objetos

68

Forms 6i

Fill Patern Font Size Font Weigth Font Style Font Width

Padro de preenchimento do fundo Tamanho da fonte Espessura da fonte Estilo da fonte Largura da fonte

69

Forms 6i

5 Desenvolvimento de Triggers O que so triggers Trigger o cdigo PL/SQL utilizado para tratamento de um evento ocorrido. 5.1 Criando um Trigger No exemplo, foi criado um trigger para tratar o evento de pressionamento do boto Confirmar dados.

Em outro exemplo logo abaixo, criado o cdigo necessrio para que quando o usurio navegar para o item Observacao, seja aberto o editor para digitao.

70

Forms 6i

utilizado o procedimento show_editor, que tem a seguinte sintaxe:

show_editor (<nome do editor>, <mensagem de entrada>, <x>, <y>, <mensagem de sada>, <resultado>);

<mensagem de entrada>

Texto a ser editado. Normalmente, o item a ser populado pelo editor. Coordenada x na tela (a partir da borda esquerda). Coordenada y na tela (a partir da borda superior). Item que receber o texto editado. Normalmente, o item a ser populado pelo editor. Varivel que deve ser criada no bloco PL/SQL, sendo do tipo boolean. Indica que o usurio acessou o editor Indica que o usurio cancelou o editor. Nesse caso, <mensagem de sada> retorna o valor Nulo.

<x> <y> <Mensagem de Sada>

<Resultado>

True False

71

Forms 6i

72

Forms 6i

5.2 Eventos que disparam Triggers Os eventos podem ser separados em 4 grupos: When Ocorre geralmente aps uma navegao, ou outra ao do usurio. Ex.: WHEN-VALIDATE-ITEM, WHEN-BUTTON-PRESSED. Substitui a operao normal do forms em operaes na base de Ex.: ON-INSERT, ON-UPDATE, ON-DELETE, ON-COMMIT. Pre Evento disparado antes da ao normal do forms. Ex.: PRE-INSERT, PRE-FORM. Evento disparado aps a ao normal do forms. Ex.: POS-UPDATE, POS-BLOCK. Evento disparado no pressionamento de uma tecla. Ex.: KEY-COMMIT, KEY-F1, KEY-NXTITM, KEY-ENTER.

On dados.

Post

Key

73

Forms 6i

5.3 Populando dados atravs de Triggers No form de exemplo, foi criado um item chamado DSC_RAZAO_SOCIAL. Esse item ser populado via trigger no item COD_FORNEC. O cdigo do trigger mostrado abaixo. O evento WHEN-VALIDATE-ITEM disparado aps ter sido alterado o valor de um item e houver uma navegao para fora do item.

74

Forms 6i

5.4 Alterando a funcionalidade do form atravs de triggers

No exemplo abaixo, a funcionalidade do form foi alterada conforme o valor do item TIPO_PAGTO. Quando o valor for 1 ( vista), desabilitada a navegao ao item OBSERVACAO.

75

Forms 6i

5.5 Triggers disparados por botes

Abaixo, codificado o tratamento do pressionamento do boto Incluir dados. utilizado o evento WHEN-BUTTON-PRESSED.

76

Forms 6i

6 Compartilhando Cdigo
O Oracle Forms permite o compartilhamento de cdigo PL/SQL entre os mdulos. O objetivo do compartilhamento evitar que cdigos PL/SQL sejam criados uma vez para cada mdulo. Com isso, ganha-se tempo com o desenvolvimento e manuteno de cdigo utilizados por vrios mdulos. Os cdigos PL/SQL que sero compartilhados so implementados dentro de uma biblioteca, (chamada de Library).

6.1 Criando Functions e Procedures

Aps ser selecionada a ramificao Program Units no Object Navigator e clicado o boto Criar item na barra de ferramentas, abre-se a janela mostrada abaixo, para especificao do tipo de estrutura de cdigo. Ser criada uma function para retornar o tipo do dia da semana.

77

Forms 6i

78

Forms 6i

6.2 Library Aps a criao de todas procedures e functions de uma library, ela pode ser utilizada para o compartilhamento de cdigo. A function implementada acima, ser usada para popular o form, criado como exemplo, para o tipo do dia da semana da data de emisso do pedido. Ser criado um trigger WHEN-VALIDATE-ITEM para o item DATA_EMISSAO, populando o item TIPO_DIA_SEMANA.

79

Forms 6i

6.3 Ligando uma library a um mdulo (Attach) Selecionada a ramificao em Attached Libraries, clicar no boto Criar item. Desse modo mostrado a janela abaixo, onde informado o nome da library. Aps a library ser atachada, todos as suas procedures e functions so visveis ao mdulo.

6.4 Chamando uma procedure ou function ligada ao mdulo A chamada de uma procedure ou function atachada no apresenta diferena quanto chamada de procedure ou function criada dentro do mdulo.

7 Desenvolvimento de Menus
7.1 Criando um menu Aps todos os forms de uma aplicao serem desenvolvidos, necessrio a criao de um menu para a aplicao. Isto feito a partir do menu File | New | Menu.

80

Forms 6i

Propriedades

Startup Code execuo do Module Roles Use Security

Cdigo PL/SQL que ser executado no nicio da menu Lista de roles que tm acesso ao menu Com esta opo ligada, utiliza a propriedade Module Roles para verificao de privilgio de acesso

81

Forms 6i

7.2 Criando o menu principal Para criar uma lista de opes de um menu principal, necessrio selecionar a ramificao Menus no Object Navigator, e ento clicar no boto Criar item.

7.3 Criando opes para o menu Para criar os itens de um menu, deve ser selecionado a ramificao Itens do Object Navigator, e ento clicar no boto Criar item.

82

Forms 6i

Propriedades

Label Menu Item Type Plain Check

Texto da opo do menu Especifica o tipo do item. Opes: Item de opo comum de menu. Item de menu que possui um dos dois valores : ligado e desligado. Item que acessa uma das funes padro de menu do Windows. Ex. Cut, Copy, Past, Quit, Window. Linha que separa um menu em duas reas. Determina o tipo de comando associado ao item e como o Forms Builder vai interpretar o contedo da propriedade Command Text.

Magic

Separator Comand Type

83

Forms 6i

Null

Nenhuma ao associada ao item. Para itens do tipo separator obrigatrio que esteja com valor nulo. O item um submenu do menu. O nome do submenu est na propriedade Menu Item Code Executa um comando PL/SQL que est na propriedade Menu Item Code Modo como o item mostrado caso o usurio da aplicao no tenha acesso ao item. Opes: O item no mostrado O item mostrado como desabilitado (em cinza)

Menu

PL/SQL

Display without Privilege

False True

84

Forms 6i

Diagrama Entidade Relacionamento

pertencer

PEDIDO # NUM_PEDIDO * DAT_EMISS * DAT_ENTREG

ter

ITEM_SOLICITACAO * QTD_SOLIC

ter ITEM_PEDIDO * QTD_PEDIDO * VLR_UNIT

ter

pertencer

ter

ter

pertencer SOLIC_COMPRA # NUM_SOLIC * DAT_EMISS * DAT_PREVISAO PRODUTO pertencer # COD_PRODUTO * DSC_PRODUTO * DSC_UNIDADE

ter

pertencer FORNECEDOR # COD_FORNEC * DSC_RAZAOSOCIAL * NUM_CGC * NUM_CEP * COD_CIDADE * DSC_ENDERECO o NUM_INS_EST o NUM_FONE o NUM_FAX o NUM_TELEX o NOM_CONTATO o DAT_NASC_CONTATO * COD_TIPO_FORNEC * TIPO_FORNECEDOR

pertencer

DEPTO # COD_DEPTO * DSC_DEPARTAMENTO

85