• Nenhum resultado encontrado

Apostila Oracle Forms

N/A
N/A
Protected

Academic year: 2021

Share "Apostila Oracle Forms"

Copied!
46
0
0

Texto

(1)

Oracle Forms

Básico

(2)

F

FO

ORRMMSS

B

ÁSSIICCO O

Indice

1. Arquitetura Cliente/Servidor (Oracle Forms Developer) ... 4

2. Arquitetura Web (Oracle Forms Server) ... 5

3. Modelo de dados... 6

4. Variáveis de Ambiente e Preferências... 7

5. Iniciando o Forms Builder... 8

6. Conhecendo a Ferramenta ... 9

7. Navegador de Objetos (Object Navigator) ... 10

8. Menus do Forms Builder ... 11

9. Utilizando o Assistente para criar um Form ... 15

10.Tipos de Blocos... 19 10.Folha de Propriedades ... 20 - Forms ... 20 10.Data Block... 21 10.Text Item... 23 - Relacionamento... 25 10. Classes de Objetos ... 25 11. Dicas de Ferramentas... 25 12. Atributos Visuais ... 25 13. Campos de Cálculo ... 25

14. Windows & Canvas ... 27

- Folha de Propriedade das Windows ... 27

- Window Modal e Window Modless ... 27

- Canvas... 28

- Folha de Propriedade das Windows ... 28

- View... 28

14.Trabalhando com pastas ... 29

- Passos para criar uma página TAB pelo Navegador de Objetos ... 29

- Passos para criar uma página TAB pelo Editor de Layout ... 29

15.Gatilhos e Unidades de Programa ... 30

15. Categoria de Triggers ... 30

16. Triggers de Banco x Triggers de Forms ... 31

- Triggers de Banco ... 31

- Triggers de Forms... 31

17. Classe de Triggers ... 32

18. Rotinas Construídas (Built ins)... 32

19. Tipos de Rotinas ... 32

20. Unidades de Programa (Program Units)... 33

21. Paleta de Sintaxe... 33

22. Variáveis Globais e de Sistema ... 34

23. Manipulando mensagens de erro ... 34

24.Editor de Layout... 35

- Tipos de Itens ... 35

24. Construção de árvores hierárquicas ... 37

25. Preferências ... 38

26. Alertas... 40

(3)

- Respondendo a vários Timers ... 40

28. Criando Listas de Valores... 41

- Assistente de Lov ... 41 29. Editores ... 42 30. Parameters ... 42 31.Menus ... 43 31. Menus Popup ... 44 32. Bibliotecas PL/SQL... 45 33. Bibliotecas de Objetos ... 45 34. Assistente de Gráfico... 46

(4)

F

F

OORRMMSS

6

6

II

-

-

B

B

ÁÁSSIICCOO

1

1.. AARRQQUUIITTEETTUURRAACCLLIIEENNTTEE//SSEERRVVIIDDOORR((OORRAACCLLEEFFOORRMMSSDDEEVVEELLOOPPEERR))

O Oracle Forms Developer é uma ferramenta de desenvolvimento para construção de aplicações Cliente/Servidor e Web.

Ela é composta por um conjunto de ferramentas que facilitam ao desenvolvedor a construção de Forms (formulários) de dados e aplicações para controle de regras de negócios de modo rápido e eficaz.

O Desenvolvimento se torna produtivo devido à integração entre a ferramenta e o banco de dados. O mesmo código programático funciona tanto em Cliente/Servidor como em um ambiente Web.

Um forms pode ser desenvolvido manualmente ou mesmo gerado pelo Oracle Designer.

(5)

2

2.. AARRQQUUIITTEETTUURRAAWWEEBB((OORRAACCLLEEFFOORRMMSSSSEERRVVEERR))

O Oracle Forms Server é um servidor otimizado de aplicações para a publicação de aplicações Oracle Forms na internet. O Oracle Forms Server possui uma estrutura que torna essa publicação possível sem a necessidade de reedição ou reprogramação de códigos de programas.

Essa arquitetura caracteriza-se em três camadas:

 A primeira camada (Client tier) é composta pelos clientes leves, ou seja, computadores com web browsers onde as aplicações serão visualizadas e utilizadas.  A segunda camada (Middle tier) é onde fica o servidor de aplicações web e também

a lógica de negócios da aplicação

 A terceira camada (Database tier) compreende a camada onde se encontra o banco de dados, ou seja, onde os dados da empresa são armazenados.

(6)

3

3.. MMOODDEELLOODDEEDDAADDOOSS

Para o desenvolvimento de aplicações durante este curso, utilizaremos as tabelas do modelo abaixo apresentado.

REGIAO # NRO_REGIAO * DES_REGIAO UF # SIG_UF * NOM_UF PAIS # COD_PAIS * NOM_PAIS MUNICIPIO # COD_MUNICIPIO * NOM_MUNICIPIO DISTRITO # COD_DISTRITO * NOM_DISTRITO ITEM # COD_ITEM * NOM_ITEM PED_ITEM * QTD_ITEM * VLR_ITEM CLIENTE # COD_CLIENTE * NOM_CLIENTE PEDIDO # NRO_PEDIDO * DAT_PEDIDO contido conter dividida dividir-se localizado localiza localizado localiza contido conter contido conter contido conter contida conter identificado identifica pertence possuir refere-se referenciado

(7)

4

4.. VVAARRIIÁÁVVEEIISSDDEEAAMMBBIIEENNTTEEEEPPRREEFFEERRÊÊNNCCIIAASS

O Oracle Forms possui inúmeras variáveis de ambiente pré-definidas com seus respectivos valores. Existem algumas variáveis que servem para a procura de arquivos em tempo de execução. As principais são:

 FORMS60_PATH : Caminho onde o Forms Builder procura seus arquivos em tempo de execução.

 UI_ICON : Caminho onde o Forms Builder procura seus ícones em tempo de execução.

 ORACLE_PATH : Caminho adicional de procura. O Forms Builder procura neste caminho os arquivos que não encontrou no caminho definido em FORMS60_PATH Para modificar essas variáveis no ambiente windows, utilize o regedit.exe ou regedt32.exe.

Quanto às preferências de usuário, o Forms Builder salva as opções setadas na janela de preferências em um arquivo. Este arquivo é acessado cada vez que o Forms Builder é executado. Em ambiente windows, o arquivo é o cauprefs.ora.

Você pode alterar esse arquivo utilizando um editor de texto padrão ASCII, mas a Oracle recomenda que alterações sejam feitas apenas pela janela de preferências do usuário. (Ver capítulo “Preferências do Usuário”)

(8)

5

5.. IINNIICCIIAANNDDOOOOFFOORRMMSSBBUUIILLDDEERR

Quando você iniciar o Forms Builder pela primeira vez, a tela abaixo será exibida. Vale lembrar que o idioma de sua ferramenta é definido durante o processo de instalação, sendo assim, o conteúdo das telas pode variar.

 Usar o Assistente de Bloco de Dados: Invoca o assistente de Bloco de Dados para auxiliá-lo na criação de um novo Form.

 Desenvolver um novo form manualmente: Inicia um novo form, mas sem a chamada do assistente.

 Abrir um form já existente: Abre um forms existente.

 Desenvolver um form com base em um gabarito: Cria um novo forms baseado em um modelo.

 Executar o Quick Tour: Mostra uma passagem rápida mostrando os conceitos do forms.

(9)

6

6.. CCOONNHHEECCEENNDDOOAAFFEERRRRAAMMEENNTTAA

 Navegador de Objetos: Browser para navegação entre os objetos existente dentro do Forms Builder.

 Editor de Layout: Editor para a elaboração de telas no Form.

 Livraria de Objetos: Ambiente para a armazenagem de objetos do Form em livrarias.

 Editor PL/SQL: Local para o desenvolvimento de códigos PL/SQL dentro do Forms Builder.

 Paleta de :Propriedades: Mostra as propriedades de um objeto previamente selecionado.

(10)

7

7.. NNAAVVEEGGAADDOORRDDEEOOBBJJEETTOOSS((OOBBJJEECCTTNNAAVVIIGGAATTOORR))

No Navegador de Objetos, podemos, além de navegar pelos objetos existentes em um módulo, criar Menus, Livrarias PL/SQL, Livrarias de Objeto, conhecer os pacotes embutidos (built ins) do Forms Builder e ainda acessar os objetos do banco de dados.

Na figura abaixo, temos a descrição dos ícones existentes na barra de ferramentas do Navegador de Objetos.

Novo Abrir Salvar

Executar Form Cliente/Servidor Executar Form na WEB

Modo de Depuração Recortar Copiar Colar Criar Objeto Excluir Objeto Expandir nó Contrair nó Expandir tudo Contrair tudo

(11)

8

8.. MMEENNUUSSDDOOFFOORRMMSSBBUUIILLDDEERR

Menu Arquivo(File):

 Novo

o Form – Cria um novo módulo;

o Formulário usando Gabarito;

o Menu – Cria um novo arquivo de menu;

o Biblioteca de PL/SQL – Arquivo de Biblioteca PL/SQL; o Biblioteca de Objetos – Arquivo de Biblioteca de Objetos;

 Abrir – Abre um módulo;

 Fechar – Fecha o módulo marcado;

 Salvar – Salva o módulo marcado;

 Salvar Como – Diferentes opções para salvar um módulo;  Salvar Tudo;

 Reverter – Desfaz as mudanças do módulo desde a última gravação;  Conectar – Abre a tela de conexão com o banco de dados;

 Desconectar – Desconecta do banco de dados;

 Administração:

o Acesso ao Módulo – Permite acesso a módulos salvos no BD; o Relatório de Lista de Objetos - Relatório sobre o módulo;

o Renomear – Renomeia um modulo no BD;

o Deletar – Remove um modulo do BD;

o Compilar Arquivo – Gera o executável (FMX, MMX, PLX);

(12)

o Check in; o Check out;

o Opções do Controle de Origem;

 Configuração de Página – Configura a página para impressão;

 Imprimir;

 Sair;

Menu Editar(Edit):

 Desfazer – Desfaz a última operação realizada;  Recortar – Recorta o objeto ou texto marcado;  Copiar – Copia o objeto ou texto marcado;  Colar – Cola o objeto ou texto;

 Limpar – Limpa o conteúdo;

 Duplicar – Duplica o objeto marcado;

 SmartClasses – Cria um objeto dentro da Object Library

Menu Visualizar(View):

 View de Propriedades – Mostra todos os objetos;  View Visual – Mostra apenas os objetos visuais;

 Mostrar apenas PL/SQL – Mostra apenas objetos que possuem PL/SQL.

Menu Navegador(Navigator):

 Expandir

 Contrair

 Expandir tudo

(13)

 Criar  Deletar

 Adicionar ao Marcador de Livros  Ir para o Marcador de Livros

 Colar Nomes  Colar Argumentos Menu Programa(Program):  Executar Form; o Cliente/Servidor o Web o Depurador  Compilar; o Incremental o Tudo

 Compilar seleção - compila apenas o objeto selecionado;

 Gatilhos Inteligentes - cria os gatilhos a partir dos mais usuais para o objeto;  Editor Externo

 Paleta de Sintaxe

 Localizar/Substituir PL/SQL - localiza e substitui palavras em rotinas PL/SQL;

 Editor de PL/SQL - edita PL/SQL;

 Importador de OLE - importa propriedades de objetos OLE.

Menu Ferramentas(Tools):

 Assistente de Blocos de Dados - assistente para criação de blocos;  Assistente de Layout - assistente para criação de layout;

(14)

 Assistente de Gráfico - assistente para criação de gráfico;  Assistente de LOV -

 Editor de Layout - edita o Layout;

 Navegador de Objetos - aciona o navegador de objetos;

 Paleta de Propriedades - aciona a paleta de propriedades do objeto assinalado;  Biblioteca de Objetos - invoca a biblioteca de objetos;

 Editor de Menu - edita menu;

 Report Builder – Invoca o report Buider  Preferências ;

(15)

9

9.. UUTTIILLIIZZAANNDDOOOOAASSSSIISSTTEENNTTEEPPAARRAACCRRIIAARRUUMMFFOORRMM

Primeiro passo é a escolha da origem dos dados. Estes podem ser recuperados de uma tabela, uma view ou mesmo de um procedimento armazenado no banco de dados.

O Segundo passo é escolher o tipo de layout que se quer montar. Você escolhe o tipo de canvas(tela) a ser utilizado. Pode ser uma nova ou mesmo uma já existente. Se a canvas for do tipo tab(pasta) você deverá selecionar ou criar uma nova página para a pasta.

(16)

Agora iremos escolher quais os campos que irão ser exibidos na canvas. Neste momento é possível, também, determinar qual o tipo do item selecionado.

Defina a etiqueta(prompt) para os campos. Nesse momento também é possível definir a largura e a altura dos campos, por default o forms define o tamanho baseado em seu tamanho na tabela/view/procedimento.

(17)

Agora definimos o estilo do form. No tipo formulário o prompt se posiciona à esquerda de cada campo, recomendado para forms do tipo ficha. No tipo tabular o prompt se posiciona na parte superior dos campos, recomendado para forms que possuem várias ocorrências dos campos.

No último processo colocamos um título para o quadro que envolve os registros, a quantidade de registros exibidos, a distância entre os registros e se deve ser exibida a barra de rolagem.

(18)
(19)

1

100..TTIIPPOOSSDDEEBBLLOOCCOOSS

 Mestre detalhe: Um bloco(Mestre) com um outro(Detalhe) ligado ao primeiro;

 Mestre com detalhe e dependente: Um bloco(Mestre) com um bloco(Detalhe)

dependente do primeiro, com outro bloco(Dependente) dependente ...;

 Mestre com detalhe independente: Um bloco(Mestre) com vários blocos dependentes do primeiro e independentes entre si.

Departamento Funcionários Funcionários Departamento Dependentes Departamento Funcionários Projetos

(20)

1

100..FFOOLLHHAADDEEPPRROOPPRRIIEEDDAADDEESS

- Forms

General

Name Nome Interno do Objeto Subclass Information Informações de Subclasse Comments Comentários Gerais Sobre o Objeto Help Book Title

Functional

Title Título do forms

Console Window Window onde será mostrada a console do forms (linha de mensagens, linha de status etc...)

Menu Source Localização do arquivo de menu ( Filesystem / Database ) Menu Module Especifica o nome do arquivo de menu a ser usado no forms Initial Menu Qual será o item de menu para inicio.

Menu Style Especifica o modo de exibição do menu, se é em tela-cheia ou pull-down Defer Requerid Enforcement Como “YES”, permite a navegação livre dentro do registro mesmo que um item

esteja como “REQUERID”, validando esse item somente na saída do registro.

Menu Security

Menu Role Utiliza roles para validação do menu

Navigation

Mouse Navigation Limit Define o limite de navegação com o mouse dentro do forms, bloco ou item. First Navigation Data Block Indica qual o primeiro bloco navegável do forms.

Records

Current Record Visual Attribute Group Indica que dentro do forms, qualquer que seja o bloco, a linha corrente será marcada como o “VISUAL ATTRIBUTE” indicado.

Database

Validation Unit Específica a validação de dados

Interaction Mode Em uma pesquisa se modo bloqueio, serão recuperados todos registros antes da liberação da tela para o usuário.

Maximum Query Time Especifica o tempo máximo de uma query

Maximum Record Fetched Indica o numero máximo de linhas que uma query pode retornar Isolation Mode Permite alteração ou não de linhas compartilhadas.

Physical

Coordinate System Indica o sistema de coordenação do layout editor e sua unidade de medida Use 3d Controls Controles tri-dimensionais

Form Horizotal Toolbar Canvas Indica o canvas que será usado como tollbar horizontal Form Vertical Toolbar Canvas Indica o canvas que será usado como tollbar vertical

International

Direction Especifica a direção de orientação dos layouts.

Compatibility

(21)

10.Data Block General

Name Nome do Bloco

Subclass Information

Comments Comentários Gerais do Bloco

Navigation

Navigation Style Estilo de navegação, se muda de bloco, registro ou permanece na mesma linha Previous Navigation Data Block Bloco navegável anterior ao atual

Next Navigation Data Block Bloco navegável posterior ao atual

Records

Current Record Visual Attribute Group “VISUAL ATRIBUTE” a ser usado na linha corrente dentro do bloco Query Array Size Numero máximo de registros que o Forms pode retornar do banco de uma vez Number of Record Buffered Especifica o número mínimo de registros armazenados na memória durante uma

pesquisa no bloco.

Number of Record Displayed Numero de linhas a serem mostradas no bloco

Query All Records Indica ao forms builder que ao executar a query deve retornar todos os registros Record Orientation Tipo de orientação do bloco ; horizontal ou vertical

Single Record Em um bloco de controle, indica que ele só pode ter um registro

Database

Database Data Block Indica se o bloco é baseado em uma tabela ou não

Enforce Primary Key Faz consistência de primary key no bloco , antes do banco de dados Query Allowed Habilita pesquisa

Query Data Souce Type Tipo de pesquisa a ser efetuada pelo bloco, (Procedure, Table, Sub-Query...) Query Data Source Name Tabela ou procedure de pesquisa

Query Data Source Columns Colunas a serem recuperadas pela pesquisa

Query Data Source Arguments Propriedade valida somente para blocos com Type procedure, passa as colunas e datatypes a serem pesquisados.

Alias Apelido que pode ser utilizado para o bloco

Include REF Utiliza um campo “virtual” escondido para sincronizar blocos master/detail WHERE Clausule Restringe a pesquisa de acordo com a sentença sql

ORDER BY Clausule Ordena o bloco - sentença SQL

Optimizer Hint String de hint a ser passada para o otimizador do RDBMS na construção da query . Insert Allowed Habilita inclusão

Update Allowed Habilita alteração

Locking Mode Indica o modo de “LOCK” que o “FORMS BUILDER” deve usar Delete Allowed Habilita Exclusão

Key Mode Indica uma maneira do “FORMS” identificar unicamente uma linha do BD (Só para bases NÃO ORACLE )

Update Changed Columns Only Faz update no banco, somente das colunas que foram alteradas

Enforce Columns Security Obrigatoriedade de verificação dos privilégios de alteração do usuário col-a-col Maximum Query Time Tempo máximo que uma query pode demorar

Maximum Records Fetched Numero máximo de registros que uma query pode retornar Advanced Database

DML Data Target Type Indica o alvo do DML do bloco, pode ser tabela, procedure DML Data Target Name Nome do alvo do DML do bloco

Insert Procedure Name Nome da procedure de “INSERT”

Insert Procedure Result Set Columns Quando procedure, determina os nomes e tipos das colunas a serem inseridas Insert Procedure Arguments Quando procedure, determina os nomes e tipos das colunas passadas para inclusão Update Procedure Name Nome da procedure de “UPDATE”

Update Procedure Result Set Columns Idem a inclusão, só que para a procedure de alteração Update Procedure Arguments Idem a inclusão, só que para a procedure de alteração Delete Procedure Name Nome da procedure de “DELETE”

Delete Procedure Result Set Columns Idem a inclusão, só que para a procedure de exclusão Delete Procedure Arguments Idem a inclusão, só que para a procedure de exclusão Lock Procedure Name Nome da procedure de “LOCK”

Lock Procedure Result Set Columns Idem a inclusão, só que para a procedure de lock Lock Procedure Arguments Idem a inclusão, só que para a procedure de lock

DML Array Size Número do array usado para inclusão, exclusão e alteração de registros no banco de dados.

Um array maior, diminui o tempo de processamento da transação pois diminui o trafego na rede.

(22)

Precompute Summaries Especifica que as summary columns são atualizadas antes da query normal. O Forms Builder monta uma query especial para atualiza-las

Scrollbar

Show Scroll Bar Especifica se o campo terá ou não uma scroll bar Scroll Bar Canvas Canvas em que será mostrada scrollbar

Scroll Bar Tab Page Tab em que será mostrada scrollbar Scroll Bar Orientation Vertical / Horizontal

Scroll Bar X Position Posição Horizontal Scroll Bar Y Position Posição Vertical Scroll Bar Width Largura Scroll Bar Heigth Altura

Reverse Direction Se ao chegar ao fim ela terra efeito reverso

Font & Color

Visual Attribute Group Visual Atributo para barra de rolagem Foreground Color Cor de frente

Background Color Cor de Fundo Fill Patern Textura de fundo

Caracter Mode Logical Attribute Visual atributo para modo caracter White on Black Específica o modo monocromático

Caracter Mode

Listed in Data Block Menu Se o bloco deve aparecer no menu de blocos Data Block Description Descrição para o menu de blocos.

International

(23)

10.

Text Item General

Name Nome do item

Item Type

Subclass Information Comments

Functional

Enabled Item ativado Justification Alinhamento do item

Implementation Class Classe de implementação (Java beans) Multi-Line Se o item tem várias linhas

Wrap Style Estilo de salto da linha Case Restriction Maiúscula, Minúscula, mista Conceal Data Mostra asteriscos na digitação

Keep Cursor Position Mantém cursor na ultima posição digitada Automatic Skip Salto automático de campo

Popup Menu Nome do menu popup

Navigation

Keyboard Navigable Navegável com teclado Previous Navigation Item Item anterior para navegação Next Navigation Item Item posterior para navegação

Data

Data Type Tipo de dado Maximum Length Tamanho máximo Fixed Length Exige tamanho fixo Initial Value Valor inicial Required Ë obrigatório Format Mask Máscara de formato Lowest Allowed Value Valor mínimo Highest Allowed Value Valor máximo Copy Value From Item Copiar valor do item Synchronize With Item Manter espelho do item

Calculation

Calculation Mode Modo de cálculo

Formula Especificação para formula do campo Summary Function Função de sumarização

Summarized Block Bloco do item para sumarizar Summarized Item Item para sumarizar

Records

Current Record Visual Attribute Group Atributo visual corrente Distance Between Records Distância entre registros Number of Records Displayed Número de registros mostrados.

Database

Database Item Faz parte do banco de dados Column Name Nome da coluna referenciada Primary Key Faz parte da primary-key Query Only Coluna apenas para consulta Query Allowed Pesquisa permitida Query Length Tamanho da consulta

Case Insensitive Query Busca tanto maiúscula quanto minúscula na pesquisa Insert Allowed Inserção permitida

Update Allowed Alteração permitida

Update Only If Null Permite alteração apenas se campo nulo

Lock Record Reserva a linha da tabela simultaneamente a alteração do text item

List of Values (LOV)

List of Values Nome da lista de valores List X Position Posição X da LOV List Y Position Posição Y da LOV

(24)

Editor

Editor Nome do editor Editor X Position Posição X do editor Editor Y Position Posição Y do editor

Physical

Visible Visível na Canvas

Canvas Nome do canvas onde aparece. Tab Page Nome da Pasta do canvas onde aparece X Position Posição X

Y Position Posição Y

Width Largura

Heigth Altura

Bevel Efeito de profundidade Rendered Modo rendered

Show Vertical Scroll Bar Mostra barra de rolagem para item de várias linhas

Visual Attribute

Visual Attribute Group Atributo visual do campo Prompt Visual Attribute Group Atributo visual do prompt Caracter Mode Logical Attribute Atributo para caracter White on Black Monocromático

Color

Foreground Color Cor de frente Background Color Cor de fundo Fill Pattern Preenchimento

Font

Font Name Nome da fonte

Font Size Tamanho

Font Weigth Largura Font Style Estilo Font Spacing Espaço

Prompt

Prompt Título do prompt Prompt Display Style Estilo

Prompt Justification Justificação

Prompt Attachment Edge Onde deve aparecer no item Prompt Alignment Alinhamento

Prompt Attachment Offset Deslocamento da conexão do prompt Prompt Alignment Offset Deslocamento do alinhamento do prompt Prompt Reading Order Direção

Prompt Color

Prompt Foreground Color Cor da escrita

Prompt Font

Prompt Font Name Fonte Prompt Font Size Tamanho Prompt Font Weigth Largura Prompt Font Style Estilo Prompt Font Spacing Espaço

Help

Hint Linha de dica

Display Hint Altomatically Dica deve ser mostrada

Tooltip Dica quando mouse passa pelo item Tooltip Visual Attribute Group Atributo visual do tooltip

International

Initial Keyboard State Estado inicial do teclado Reading Order Ordem de leitura Keyboard State Estado do teclado

(25)

- Relacionamento

Functional

Detail Block property Nome do bloco detalhe Join condition Condição de join

Delete record behavior Modo de exclusão de mestre e detalhe Prevent Masterless Operation Permissão de pesquisa no detalhe sem mestre.

Coordination

Defered Pesquisa detalhe após o mestre

Automatic query Pesquisa automática quando navega para o detalhe.

1

100..CCLLAASSSSEESSDDEEOOBBJJEETTOOSS

Uma classe pode ser definida para utilizar uma ou mais propriedades comuns para vários itens, sem a necessidade de especificar essas propriedades para cada item escolhido. Uma vez definidas as classes, basta fazer as atribuições.

1

111..DDIICCAASSDDEEFFEERRRRAAMMEENNTTAASS

São pequenas mensagens exibidas quando o mouse é posicionado sobre um item. São definidas nas propriedades do item.

1

122..AATTRRIIBBUUTTOOSSVVIISSUUAAIISS

São criados para facilitar a padronização do visual dos itens. É possível definir as cores, fontes, texturas entre outras propriedades para os atributos visuais, depois é só atribuir aos campos, prompts ou quadros.

Eles podem ser de três tipos:

 Comum – São utilizados para os campos do forms.  Prompt - São utilizados para os prompts dos campos.

 Título – São utilizados para os títulos dos quadros que envolvem os campos. 1

(26)

São itens capazes de efetuar operações de cálculos baseando-se em uma ou mais variáveis. São atualizados a cada instrução DML e podem ser:

 Summary : recebem funções diretas;

 Formula : são cálculos através de fórmulas;

Lembre-se que para estas funções serem realizadas, a propriedade consultar todos os registros do bloco deve estar marcada.

O campo de soma deverá estar no mesmo bloco do campo somado. Se necessário deverá ser alterado o número de registros exibidos.

(27)

1

144..WWIINNDDOOWWSS&&CCAANNVVAASS

Windows são janelas nas quais são acomodados os objetos dentro de pelo menos um canvas. Podem ser Documento(Ocupa a tela inteira, sobrepondo qualquer outra) ou Caixa de Diálogo(Aparece sobreposta a outras janelas.).

Canvas é o local onde os objeto visuais estarão posicionados. Um Canvas está contido dentro de uma única window, mas uma window pode conter um ou mais Canvas.

- Folha de Propriedade das Windows

Funcional

Titulo Titulo da window Canvas Principal Canvas principal da janela Canvas da Barra de rolagem Horizontal Canvas horizontal Canvas da Barra de rolagem Vertical Canvas vertical

Estilo da Janela Estilo da janela – documento ou caixa de diálogo Modal Indica se janela modal

Ocultar na saída Quando saí da janela ela é oculta. Fechamento permitido Permite fechar a janela

Movimentação permitida Permite movimentar a janela Redimensionamento permitido Permite redimensionar a janela Maximização permitida Permite maximizar

Minimização permitida Permite minimizar

Título minimizado Título da janela quando minimizar Nome do arquivo de ícones Ícone quando for minimizado Herdar menu Mostra o menu da janela principal

- Window Modal e Window Modless

Modal Modless

Só é exibida se ativada Exibida enquanto não for fechada Apenas uma por vez Mais de uma ao mesmo tempo Não navega para outra Exibida se não ativa

Requer um método para encerrá-la Navega de uma para outra Expande e contrai

(28)

- Canvas

Content - toda tela

Stacked - parte da tela

Vertical toolbar - barra vertical de botões

Horizontal toolbar - barra horizontal de botões

Tab - Pastas

- Folha de Propriedade das Windows

Funcional

Aumentar na entrada Mostrar apenas esta canvas escondendo as outras

Físico

Visível Canvas deve iniciar visível Janela Janela onde esta ancorada a canvas

Bevel Estilo

Estilo de Tab Estilo de pasta

Limite de conexão da tab Onde vai aparecer as orelhas da tab.

- View

Controla parte da canvas que será exibida na window definindo uma visão para a canvas.

(29)

14.Trabalhando com pastas

Utilizado para melhor organizar visualmente as informações, aproveitando os espaços da tela, agrupando as informações em pastas que ficam visíveis individualmente sendo as demais acessadas com um clique em sua aba.

- Passos para criar uma página TAB pelo Navegador de Objetos

1. Clique no nódulo do Canvases no Object Navigator. 2. Clique no ícone de criação

3. Abra as propriedades do canvases (paleta de propriedade) 4. Ajuste a propriedade tipo de canvases para Tab

5. Expandir o nódulo do canvases para mostrar a pagina de Tab 6. Clique no ícone de criação

7. Ajuste as propriedades da Tab através da paleta de propriedade 8. Crie páginas Tab adicionais repetindo os passos seis e sete

- Passos para criar uma página TAB pelo Editor de Layout

1. No Object navigator de um duplo clique no ícone do canvases conteúdo

2. No editor de Layout clique no botão de ferramenta de canvases, e arraste o mouse até o canvases.

3. Abra a paleta de propriedade do canvases ajuste as propriedades 4. Crie no object navigator páginas adicionais se necessário

5. Configure as propriedades de acordo com a necessidade.

(30)

15.

GGAATTIILLHHOOSSEEUUNNIIDDAADDEESSDDEEPPRROOGGRRAAMMAA

 Triggers: Gatilhos disparados por eventos, executando a instrução PL/SQL escrita ali ou em uma program unit.

 Program Units: Unidades de programas escritas em PL/SQL para

manipulação de dados.

 Variáveis Globais: Variáveis que podem ser usadas entre forms na mesma sessão.

 System Variables: Variáveis que indicam situações do forms.

1

155..CCAATTEEGGOORRIIAADDEETTRRIIGGGGEERRSS

When - Atende complementando o form

Exemplos: When_ new_form_instance – quando entra no forms; When_ mouse_double_click – mouse com duplo click; When _validate_item – para validar um item;

When _button_pressed – quando um botão e pressionado

On - Atende substituindo o normal

Exemplos: On_insert – Substitui a inclusão; On_update – Substitui a alteração.

Pre - Atende imediatamente antes

Exemplos: Pre_form – antes de iniciar a form;

Pre_textitem – antes de navegar pelo o item; Pre_insert – antes da inclusão;

Pre_query – antes da pesquisa. Post - Atende imediatamente após

(31)

Exemplos: Post_block – após sair do bloco; Post_query – após a pesquisa; Post_update – após uma alteração.

Key - Atende substituindo a função

Exemplos: Key_next_item – vai para o próximo item; Key_entqry – entra em modo consulta; Key_listval – aciona a lista de valores;

Key_down – Movimenta um registro abaixo.

1

166..TTRRIIGGGGEERRSSDDEEBBAANNCCOOXXTTRRIIGGGGEERRSSDDEEFFOORRMMSS

- Triggers de Banco

 Executada por ação de qualquer ferramenta ou aplicação  Disparados por manipulação de dados

 Tratamento diferenciado por comando ou por linha  Quando falha, dispara rollback

 Independente do trigger do forms

 Executa no momento do commit

- Triggers de Forms

 Executado apenas pelo forms

 Disparado por navegação de itens ou por teclas ou qualquer outra ação  Não faz distinção entre comando ou linha

 Quando falha, permite confirmar parte do trabalho ou continuar  Independente do trigger de banco

(32)

 Executa durante a operação

1

177..CCLLAASSSSEEDDEETTRRIIGGGGEERRSS

 Processo interno: Atende a ocorrências de um evento que ocorreu durante o processo;

 Processo externo: Disparado pela ação do operador;

1

188..RROOTTIINNAASSCCOONNSSTTRRUUÍÍDDAASS((BBUUIILLTTIINNSS))

 Mover o ponto de entrada (Previous_item, Go_block)

 Operações de dados (Execute_query, commit)

 Exibir objetos (Show_lov, show_alert)  Mudar características (Set_item_property)

 Exibir mensagens (Message)

 Chamar outros objetos (New_form, Run_product)

 Êxito na execução de função(Form_Success)

1

199..TTIIPPOOSSDDEERROOTTIINNAASS

 Restritas: Afeta a tela ou a navegação (Go_item) ou processo do banco de dados (Commit).

 Irrestritas: Não afeta a tela nem a navegação ou processo do DB(Show_lov) ou (Message).

(33)

2 200..UUNNIIDDAADDEESSDDEEPPRROOGGRRAAMMAA((PPRROOGGRRAAMMUUNNIITTSS))  Procedures  Functions  Packages 2 211..PPAALLEETTAADDEESSIINNTTAAXXEE

Esse recurso está disponível no editor de PL/SQL.(Através da barra de menu no item Programa > Paleta de Sintaxe).

Na paleta de sintaxe você tem duas pastas.Na primeira (PL/SQL) você tem um pop-list o tópico que você quer verificar a sintaxe, logo abaixo existe um caixa de texto com os sub-itens .Após a seleção do sub-item na parte inferior será mostrada a sintaxe. Na segunda pasta (Predefinidos) o pop-list corresponde aos pacotes pré-definidos. A primeira caixa de texto contém as built-ins e a segunda a sintaxe.

(34)

2

222..VVAARRIIÁÁVVEEIISSGGLLOOBBAAIISSEEDDEESSIISSTTEEMMAA

Global variables : Váriaveis que podem ser criadas através da atribuição de valor para a variável ou com a rotina default_value. Esta variável possui seu valor no modo caracter.

System Variables : Mostram vários valores de variáveis do sistema como por exemplo qual o registro em que você está posicionado system.trigger_Record, etc.

2

233..MMAANNIIPPUULLAANNDDOOMMEENNSSAAGGEENNSSDDEEEERRRROO

Para manipularmos os erros dentro de um forms utilizamos os gatilhos On-error e On-message. A variável SQLERRM é utilizada para recuperar os erros na sua forma completa, ou seja, o tipo do erro, o código e a mensagem.

Também é possível recuperarmos cada parte da mensagem de erro utilizando ERROR_TYPE, ERROR_CODE e ERROR_TEXT respectivamente.

Exemplo:

DECLARE

errnum NUMBER := ERROR_CODE; errtxt VARCHAR2(80) := ERROR_TEXT; errtyp VARCHAR2(3) := ERROR_TYPE; BEGIN

IF errnum = 40301 THEN

Message('Sua pesquisa não encontrou nada, tente de novo.'); ELSIF errnum = 40350 THEN

Message('Nada foi encontrado.'); ELSE

Message(errtyp||'-'||TO_CHAR(errnum)||': '||errtxt); RAISE Form_Trigger_Failure;

END IF; END;

(35)

24.EEDDIITTOORRDDEELLAAYYOOUUTT

No editor de layout você poderá alterar o visual de sua tela, podendo incluir qualquer um dos itens que estão disponíveis na paleta de ferramentas à esquerda.

Ali nós temos ferramentas de desenho, inclusão de itens e canvas. Nos menus superiores temos ferramentas para correção visual dos campos.

- Tipos de Itens

 Button - É um retângulo com um label ou um ícone. Usado para iniciar ações;

 Radio Button - Um radio group é um conjunto de dois ou mais radio button, onde apenas um pode estar marcado;

 Image item - Mostra imagens armazenadas no BD ou em arquivos;

 Ole container - É uma área que armazena objetos OLE;

 Display item - São itens que podem ser assinalados, mas não editados pelo operador;

(36)

 Check box - Um label que pode ser assinalado, tendo apenas dois valores;  Text Item - Normalmente usado no forms, são campos editáveis;

 Chart item - Mostra gráficos gerados através do Graphics Builder;  OCX - Usa objetos Active X ;

 List item - Mostra uma lista de alternativas para escolha de uma.  Bean Area – Usado para Java beans.

 Hierarchical tree – Árvores hierárquicas.

Vamos ver nesta demonstração o exemplo destes campos.

Crie um novo forms chamado ANC002, criando um bloco chamado “BL” e vá para o editor de layout.

Crie os seguintes campos :  Nome: text item;

 Sexo: Radio Group;

 Estado civil: list item;

 Esportes preferidos: check Box (Futebol, Natação, Voleibol, Basquete, Judô)

 Foto: imagem

 Busca imagem: botão (utilize a rotina abaixo) DECLARE

filename VARCHAR2(256) BEGIN

filename := GET_FILE_NAME(File_Filter=> 'BMP Files (*.BMP)|*.BMP|');

READ_IMAGE_FILE(filename, 'BMP', 'bl.foto'); END;

(37)

2

244..CCOONNSSTTRRUUÇÇÃÃOODDEEÁÁRRVVOORREESSHHIIEERRÁÁRRQQUUIICCAASS

Os campos em Árvores Hierárquicas mostram os dados no padrão do navigator do Oracle Developer ou Windows Explorer.

Você pode popular Árvores Hierárquicas com valores contidos em Record Group ou Textos de Pesquisa.

Utilizando programação você pode adicionar, remover, modificar ou validar elementos da sua Árvore Hierárquica em tempo de execução.

Exemplo :

Criar um novo form chamado SIF004.

Criar um record Group denominado NIVEL com a seguinte estrutura:

SELECT -1, LEVEL, DES_REGIAO, NULL, TO_CHAR(NRO_REGIAO) FROM REGIAO

CONNECT BY PRIOR NRO_REGIAO = NRO_REGIAO_SUP START WITH NRO_REGIAO_SUP IS NULL

Criar um bloco manualmente e denominá-lo B1.

Inserir um novo item do tipo árvore hierárquica com o nome de

ARVORE e definir seu tamanho em 150 x 150.

Inserir um novo Canvas e colocar o Item visível no canvas.

Criar um gatilho WHEN-NEW-FORM-INSTANCE em nível de Forms e

dentro de seu conteúdo colocar o procedimento:

DECLARE

X NUMBER; BEGIN

X := POPULATE_GROUP ('NIVEL');

FTREE.SET_TREE_PROPERTY ('B1.ARVORE',FTREE.RECORD_GROUP, 'NIVEL'); END;

(38)

2

255..PPRREEFFEERRÊÊNNCCIIAASS

General – Gerais

(39)

Wizards - Assistentes

(40)

2

266..AALLEERRTTAASS

Servem para explodir no meio da tela uma caixa de aviso. Podem possuir até 3 botões de ação que podem ser controlados pelo usuário. Veja o exemplo abaixo:

DECLARE

al_id Alert; al_button NUMBER; BEGIN

-- Localiza o alerta com dois botões al_id := Find_Alert('Meu_alerta'); -- Testa se ele existe

IF Id_Null(al_id) THEN

Message('Este alerta não existe'); RAISE Form_Trigger_Failure;

ELSE

-- Aguarda o botão escolhido al_button := Show_Alert(al_id); IF al_button = ALERT_BUTTON1 THEN

-- Verifica se foi o botão 1 Message(‘Botão número 1’); ELSE Message(‘Botão número 2’); END IF; END IF; END; 2 277..CCOONNTTAADDOORREESS((TTIIMMEERRSS))

Contadores ou timers são temporizadores, ou seja, processos que disparam de tempo em tempo, de acordo com a definição do desenvolvedor. Um timer serve, por exemplo, para executar um refresh de tela ou criar um aviso piscante, etc...

/* Criando um timer de repetição disparado a cada hora */

-- Pode ser criado no when_new_form_instance DECLARE hour_timer TIMER; one_hour NUMBER(7):=3600000; BEGIN hour_timer := CREATE_TIMER('alarm',one_hour,REPEAT); END;

(41)

Criar no trigger When-Timer-Expired

DECLARE

expired_timer CHAR(20); BEGIN

expired_timer:=GET_APPLICATION_PROPERTY(TIMER_NAME); -- buscando o nome do timer

IF expired_timer='T1'

THEN /* handle timer T1 */; ELSIF expired_timer='T2'

THEN /* handle timer T2 */; ELSE

/* handle all other timers */; END IF;

END;

2

288..CCRRIIAANNDDOOLLIISSTTAASSDDEEVVAALLOORREESS

Record Group: É um conjunto de registros retornados por uma query armazenada em sua definição. Muito utilizado para criar os valores para uma Lov. Um record group pode ser alterado programaticamente em tempo de execução.

List of Values (Lov’s): Uma lista é associada a campos para entrada de valores válidos ou auxílio de campos codificados.Toda lista é baseada em um recordgroup. Uma lista só pode ter um record group, mas um record group pode ter várias lov’s associadas a ele.

- Assistente de Lov

 Escolha na Barra de Menu : Ferramentas > Assistente de LOV

 Você pode escolher um Grupo de Registro já existente ou criar um novo.  Escreva sua instrução SELECT manualmente, você também pode fazer isso

através do query builder ou importar um arquivo com a instrução já pronta.  Escolha as colunas que vão aparecer na sua lista

 Você pode informar o titulo, largura e valor de retorna da coluna. você também tem a opção de dimensionar a coluna automaticamente. (OBS : Para selecionar a coluna de retorno clique em valor de retorno e no botão pesquisar item de retorno).

 Informe o Titulo, largura e posicionamento automático ou atual.

 Você pode configurar quantidade de linha que serão retornadas, renovação da Lista automática e filtro automático.

(42)

 Escolha a coluna que a LOV vai ser ativada.  Tela de encerramento

2

299..EEDDIITTOORREESS

Servem para editar campos. Formata de uma maneira mais bem elaborada campos que necessitam de edição. Depois de definido um editor ele deve ser atribuído a um campo.

3

300..PPAARRAAMMEETTEERRSS

São variáveis locais de forms muito utilizadas para trocar parâmetros entre forms, reports ou graphics. Também são muito úteis como variáveis para armazenamento de informações dentro do forms.

(43)

3

311..MMEENNUUSS

O Forms desde as primeiras versões já tinha o editor de menus, mas agora além disso você tem a praticidade de criar menus com barra de Botões sem a necessidade de criar canvas e blocos de controles para alocar esses botões.

Como criar:

 No Object Navigator clique no nódulo de Menus e no botão criar.

 Dentro da Hierarquia de menu clique em Menus e novamente no botão criar.  No item anteriormente criado clique com o botão direito e escolha editor de

menu.

 O primeiro item do menu é o que vai aparecer na barra de ferramentas. De o nome de Primeiro Item de Arquivo.

 Crie um item abaixo que daremos o nome de sair, para isso clique no botão criar abaixo.

 De o nome desse item de Sair.  De um duplo clique nesse item.

 Aparecerá a Paleta de Propriedade desse item do Menu.

 Na opção Funcional no item Etiqueta está o nome que aparecerá no menu de ferramentas. Para criar uma tecla de acesso no menu, basta colocar um & atrás do item que você quer utilizar. Por exemplo no &Sair.

 Na opção Código do item de menu escreva o comando exit_form;

 Na opção Visível no menu escolha Sim.

 Na opção Visível na Barra de Ferramentas do menu Horizontal escolha Sim.

 Na opção Ícone no Menu escolha Não

 Na opção Nome do Arquivo de Ícone escreva EXIT.

 Salve o menu com o nome de MENUPRI e gera o executável do menu.

 Para testar crie um Forms simples e nas propriedade do Módulo altere o Módulo de Menu para menupri

(44)

3

311..MMEENNUUSSPPOOPPUUPP

Menus para os itens que podem ser acionados através do botão direito do mouse. Para criá-los basta utilizar o editor de menu, incluindo a instrução para cada item do menu.

(45)

3

322..BBIIBBLLIIOOTTEECCAASSPPLL//SSQQLL

São bibliotecas de PL/SQL as quais podem ser reutilizadas em vários objetos, como forms, reports, graphics ou outras bibliotecas.

Vamos criar uma biblioteca chamada curso a qual tenha uma PL/SQL chamada titulo.

Nesta função montaremos em um campo de retorno o nome de sua empresa, a data de hoje e qual usuário esta conectado.

Vamos atribuí-la ao forms SIF003 e no trigger WHEN-NEW-FORM-INSTANCE utilize a sintaxe abaixo:

Declare Novo_titulo varchar2(50); Begin Novo_titulo := titulo; Set_window_property(‘minha_janela’,title,novo_titulo); End; 3 333..BBIIBBLLIIOOTTEECCAASSDDEEOOBBJJEETTOOSS São bibliotecas de

objetos reutilizáveis, as quais podem ser subdivididas em pastas.

(46)

3

333.Chamando outros Objetos .

Para invocar outros componentes do Developer como por exemplo um Reports, um graphics ou mesmo um outro Forms, podemos utilizar o comando RUN_PRODUCT.

Abaixo temos um exemplo de chamada de objeto utilizando RUN_PRODUCT:

DECLARE

pl_id ParamList; BEGIN

pl_id := Get_Parameter_List('tmpdata'); IF NOT Id_Null(pl_id) THEN

Destroy_Parameter_List( pl_id ); END IF;

pl_id := Create_Parameter_List('tmpdata');

Add_Parameter(pl_id,'EMP_QUERY',DATA_PARAMETER,'EMP_RECS'); Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');

Run_Product(REPORTS, 'empreport', SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id, NULL);

END;

3

344..AASSSSIISSTTEENNTTEEDDEEGGRRÁÁFFIICCOO

a. Você pode escolher o assistente de Gráfico pela Barra de Menu (Ferramentas - Assistente de gráfico) ou pelo ícone de Assistente de gráfico.

b. Aparecera a primeira tela de apresentação

c. Informe o Titulo, escolha o tipo e subtipo do gráfico. d. Selecione o bloco

e. Escolha o campo que será o eixo X f. Escolha o campo que será o eixo Y

g. Escolha o nome do arquivo do gráfico e encerre o gráfico.

Referências

Documentos relacionados