Oracle Forms. Básico - PDF
Download "Oracle Forms. Básico"
Marcela Peres Faro
1 Oracle Forms Básico 1 Oracle Forms Básico
2 Oracle Forms Básico 2 FORMS BÁSICO Indice 1. Arquitetura Cliente/Servidor (Oracle Forms Developer) Arquitetura Web (Oracle Forms Server) Modelo de dados Variáveis de Ambiente e Preferências Iniciando o Forms Builder Conhecendo a Ferramenta Navegador de Objetos (Object Navigator) Menus do Forms Builder Utilizando o Assistente para criar um Form Tipos de Blocos Folha de Propriedades Forms Data Block Text Item Relacionamento Classes de Objetos Dicas de Ferramentas Atributos Visuais Campos de Cálculo Windows & Canvas Folha de Propriedade das Windows Window Modal e Window Modless Canvas Folha de Propriedade das Windows View Trabalhando com pastas Passos para criar uma página TAB pelo Navegador de Objetos Passos para criar uma página TAB pelo Editor de Layout Gatilhos e Unidades de Programa Categoria de Triggers Triggers de Banco x Triggers de Forms Triggers de Banco Triggers de Forms Classe de Triggers Rotinas Construídas (Built ins) Tipos de Rotinas Unidades de Programa (Program Units) Paleta de Sintaxe Variáveis Globais e de Sistema Manipulando mensagens de erro Editor de Layout Tipos de Itens Construção de árvores hierárquicas Preferências Alertas Contadores (Timers)... 40
3 Oracle Forms Básico 3 - Respondendo a vários Timers Criando Listas de Valores Assistente de Lov Editores Parameters Menus Menus Popup Bibliotecas PL/SQL Bibliotecas de Objetos Assistente de Gráfico... 46
4 Oracle Forms Básico 4 FORMS 6I - BÁSICO 1. ARQUITETURA CLIENTE/SERVIDOR (ORACLE FORMS DEVELOPER) 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. Cliente Servidor
5 Oracle Forms Básico 5 2. ARQUITETURA WEB (ORACLE FORMS SERVER) 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 Oracle Forms Básico 6 3. MODELO DE DADOS Para o desenvolvimento de aplicações durante este curso, utilizaremos as tabelas do modelo abaixo apresentado. PAIS # COD_PAIS * NOM_PAIS dividida conter conter REGIAO # NRO_REGIAO * DES_REGIAO dividir-se contida conter UF # SIG_UF * NOM_UF contido conter PEDIDO # NRO_PEDIDO * DAT_PEDIDO refere-se referenciado CLIENTE # COD_CLIENTE * NOM_CLIENTE localizado localiza contido contido MUNICIPIO # COD_MUNICIPIO * NOM_MUNICIPIO possuir contido conter localizado localiza DISTRITO # COD_DISTRITO * NOM_DISTRITO pertence PED_ITEM * QTD_ITEM * VLR_ITEM identificado identifica ITEM # COD_ITEM * NOM_ITEM
7 Oracle Forms Básico 7 4. VARIÁVEIS DE AMBIENTE E PREFERÊNCIAS 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 Oracle Forms Básico 8 5. INICIANDO O FORMS BUILDER 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. Explorar os Cue Cards: Dicas rápidas para ações no forms.
9 Oracle Forms Básico 9 6. CONHECENDO A FERRAMENTA 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. Paleta de Sintaxe: Mostra a sintaxe de comandos do Forms.
10 Oracle Forms Básico NAVEGADOR DE OBJETOS (OBJECT NAVIGATOR) 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 Oracle Forms Básico MENUS DO FORMS BUILDER 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); o Converter Converte um modulo de binário para texto e vice-versa;
12 Oracle Forms Básico 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 Contrair tudo
13 Oracle Forms Básico 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 Oracle Forms Básico 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 Oracle Forms Básico UTILIZANDO O ASSISTENTE PARA CRIAR UM FORM 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 Oracle Forms Básico 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 Oracle Forms Básico 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 Oracle Forms Básico 18 Agora podemos executar e ver como ficou o form.
19 Oracle Forms Básico TIPOS DE BLOCOS Mestre detalhe: Um bloco(mestre) com um outro(detalhe) ligado ao primeiro; Departamento Funcionários Mestre com detalhe e dependente: Um bloco(mestre) com um bloco(detalhe) dependente do primeiro, com outro bloco(dependente) dependente...; Departamento Funcionários Dependentes Mestre com detalhe independente: Um bloco(mestre) com vários blocos dependentes do primeiro e independentes entre si. Departamento Funcionários Projetos
20 Oracle Forms Básico FOLHA DE PROPRIEDADES - Forms General Name Subclass Information Comments Help Book Title Nome Interno do Objeto Informações de Subclasse Comentários Gerais Sobre o Objeto 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 First Navigation Data Block Define o limite de navegação com o mouse dentro do forms, bloco ou item. 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 Use 3d Controls Form Horizotal Toolbar Canvas Form Vertical Toolbar Canvas International Direction Compatibility Runtime Compatibility Mode Indica o sistema de coordenação do layout editor e sua unidade de medida Controles tri-dimensionais Indica o canvas que será usado como tollbar horizontal Indica o canvas que será usado como tollbar vertical Especifica a direção de orientação dos layouts. Indica a versão de Runtime Compatível
21 Oracle Forms Básico Data Block General Name Subclass Information Comments Navigation Navigation Style Previous Navigation Data Block Next Navigation Data Block Records Current Record Visual Attribute Group Query Array Size Number of Record Buffered Number of Record Displayed Query All Records Record Orientation Single Record Nome do Bloco Comentários Gerais do Bloco Estilo de navegação, se muda de bloco, registro ou permanece na mesma linha Bloco navegável anterior ao atual Bloco navegável posterior ao atual VISUAL ATRIBUTE a ser usado na linha corrente dentro do bloco Numero máximo de registros que o Forms pode retornar do banco de uma vez Especifica o número mínimo de registros armazenados na memória durante uma pesquisa no bloco. Numero de linhas a serem mostradas no bloco Indica ao forms builder que ao executar a query deve retornar todos os registros Tipo de orientação do bloco ; horizontal ou vertical 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 DML Data Target Name Insert Procedure Name Insert Procedure Result Set Columns Insert Procedure Arguments Update Procedure Name Update Procedure Result Set Columns Update Procedure Arguments Delete Procedure Name Delete Procedure Result Set Columns Delete Procedure Arguments Lock Procedure Name Lock Procedure Result Set Columns Lock Procedure Arguments DML Array Size Indica o alvo do DML do bloco, pode ser tabela, procedure Nome do alvo do DML do bloco Nome da procedure de INSERT Quando procedure, determina os nomes e tipos das colunas a serem inseridas Quando procedure, determina os nomes e tipos das colunas passadas para inclusão Nome da procedure de UPDATE Idem a inclusão, só que para a procedure de alteração Idem a inclusão, só que para a procedure de alteração Nome da procedure de DELETE Idem a inclusão, só que para a procedure de exclusão Idem a inclusão, só que para a procedure de exclusão Nome da procedure de LOCK Idem a inclusão, só que para a procedure de lock Idem a inclusão, só que para a procedure de lock 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 Oracle Forms Básico 22 Precompute Summaries Scrollbar Show Scroll Bar Scroll Bar Canvas Scroll Bar Tab Page Scroll Bar Orientation Scroll Bar X Position Scroll Bar Y Position Scroll Bar Width Scroll Bar Heigth Reverse Direction Font & Color Visual Attribute Group Foreground Color Background Color Fill Patern Caracter Mode Logical Attribute White on Black Caracter Mode Listed in Data Block Menu Data Block Description Especifica que as summary columns são atualizadas antes da query normal. O Forms Builder monta uma query especial para atualiza-las Especifica se o campo terá ou não uma scroll bar Canvas em que será mostrada scrollbar Tab em que será mostrada scrollbar Vertical / Horizontal Posição Horizontal Posição Vertical Largura Altura Se ao chegar ao fim ela terra efeito reverso Visual Atributo para barra de rolagem Cor de frente Cor de Fundo Textura de fundo Visual atributo para modo caracter Específica o modo monocromático Se o bloco deve aparecer no menu de blocos Descrição para o menu de blocos. International Direction
23 Oracle Forms Básico Text Item General Name Item Type Subclass Information Comments Functional Enabled Justification Implementation Class Multi-Line Wrap Style Case Restriction Conceal Data Keep Cursor Position Automatic Skip Popup Menu Navigation Keyboard Navigable Previous Navigation Item Next Navigation Item Data Data Type Maximum Length Fixed Length Initial Value Required Format Mask Lowest Allowed Value Highest Allowed Value Copy Value From Item Synchronize With Item Calculation Calculation Mode Formula Summary Function Summarized Block Summarized Item Records Current Record Visual Attribute Group Distance Between Records Number of Records Displayed Database Database Item Column Name Primary Key Query Only Query Allowed Query Length Case Insensitive Query Insert Allowed Update Allowed Update Only If Null Lock Record List of Values (LOV) List of Values List X Position List Y Position Validate From List Nome do item Item ativado Alinhamento do item Classe de implementação (Java beans) Se o item tem várias linhas Estilo de salto da linha Maiúscula, Minúscula, mista Mostra asteriscos na digitação Mantém cursor na ultima posição digitada Salto automático de campo Nome do menu popup Navegável com teclado Item anterior para navegação Item posterior para navegação Tipo de dado Tamanho máximo Exige tamanho fixo Valor inicial Ë obrigatório Máscara de formato Valor mínimo Valor máximo Copiar valor do item Manter espelho do item Modo de cálculo Especificação para formula do campo Função de sumarização Bloco do item para sumarizar Item para sumarizar Atributo visual corrente Distância entre registros Número de registros mostrados. Faz parte do banco de dados Nome da coluna referenciada Faz parte da primary-key Coluna apenas para consulta Pesquisa permitida Tamanho da consulta Busca tanto maiúscula quanto minúscula na pesquisa Inserção permitida Alteração permitida Permite alteração apenas se campo nulo Reserva a linha da tabela simultaneamente a alteração do text item Nome da lista de valores Posição X da LOV Posição Y da LOV Consiste valores com a primeira coluna da lista.
24 Oracle Forms Básico 24 Editor Editor Editor X Position Editor Y Position Physical Visible Canvas Tab Page X Position Y Position Width Heigth Bevel Rendered Show Vertical Scroll Bar Visual Attribute Visual Attribute Group Prompt Visual Attribute Group Caracter Mode Logical Attribute White on Black Color Foreground Color Background Color Fill Pattern Font Font Name Font Size Font Weigth Font Style Font Spacing Prompt Prompt Prompt Display Style Prompt Justification Prompt Attachment Edge Prompt Alignment Prompt Attachment Offset Prompt Alignment Offset Prompt Reading Order Nome do editor Posição X do editor Posição Y do editor Visível na Canvas Nome do canvas onde aparece. Nome da Pasta do canvas onde aparece Posição X Posição Y Largura Altura Efeito de profundidade Modo rendered Mostra barra de rolagem para item de várias linhas Atributo visual do campo Atributo visual do prompt Atributo para caracter Monocromático Cor de frente Cor de fundo Preenchimento Nome da fonte Tamanho Largura Estilo Espaço Título do prompt Estilo Justificação Onde deve aparecer no item Alinhamento Deslocamento da conexão do prompt Deslocamento do alinhamento do prompt Direção Prompt Color Prompt Foreground Color Prompt Font Prompt Font Name Prompt Font Size Prompt Font Weigth Prompt Font Style Prompt Font Spacing Cor da escrita Fonte Tamanho Largura Estilo Espaço Help Hint Display Hint Altomatically Tooltip Tooltip Visual Attribute Group International Initial Keyboard State Reading Order Keyboard State Linha de dica Dica deve ser mostrada Dica quando mouse passa pelo item Atributo visual do tooltip Estado inicial do teclado Ordem de leitura Estado do teclado
25 Oracle Forms Básico 25 - Relacionamento Functional Detail Block property Join condition Delete record behavior Prevent Masterless Operation Coordination Defered Automatic query Nome do bloco detalhe Condição de join Modo de exclusão de mestre e detalhe Permissão de pesquisa no detalhe sem mestre. Pesquisa detalhe após o mestre Pesquisa automática quando navega para o detalhe. 10. CLASSES DE OBJETOS 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. 11. DICAS DE FERRAMENTAS São pequenas mensagens exibidas quando o mouse é posicionado sobre um item. São definidas nas propriedades do item. 12. ATRIBUTOS VISUAIS 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. 13. CAMPOS DE CÁLCULO
26 Oracle Forms Básico 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 Oracle Forms Básico WINDOWS & CANVAS 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 Canvas Principal Canvas da Barra de rolagem Horizontal Canvas da Barra de rolagem Vertical Estilo da Janela Modal Ocultar na saída Fechamento permitido Movimentação permitida Redimensionamento permitido Maximização permitida Minimização permitida Título minimizado Nome do arquivo de ícones Herdar menu Titulo da window Canvas principal da janela Canvas horizontal Canvas vertical Estilo da janela documento ou caixa de diálogo Indica se janela modal Quando saí da janela ela é oculta. Permite fechar a janela Permite movimentar a janela Permite redimensionar a janela Permite maximizar Permite minimizar Título da janela quando minimizar Ícone quando for minimizado Mostra o menu da janela principal - Window Modal e Window Modless Modal Só é exibida se ativada Apenas uma por vez Não navega para outra Requer um método para encerrá-la Modless Exibida enquanto não for fechada Mais de uma ao mesmo tempo Exibida se não ativa Navega de uma para outra Expande e contrai É default
28 Oracle Forms Básico 28 - Canvas Content Stacked Vertical toolbar Horizontal toolbar Tab - toda tela - parte da tela - barra vertical de botões - barra horizontal de botões - Pastas - Folha de Propriedade das Windows Funcional Aumentar na entrada Físico Visível Janela Bevel Estilo de Tab Limite de conexão da tab Mostrar apenas esta canvas escondendo as outras Canvas deve iniciar visível Janela onde esta ancorada a canvas Estilo Estilo de pasta 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 Oracle Forms Básico 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 Oracle Forms Básico GATILHOS E UNIDADES DE PROGRAMA 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. 15. CATEGORIA DE TRIGGERS 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 Oracle Forms Básico 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. 16. TRIGGERS DE BANCO X TRIGGERS DE FORMS - 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 Oracle Forms Básico 32 Executa durante a operação 17. CLASSE DE TRIGGERS Processo interno: Atende a ocorrências de um evento que ocorreu durante o processo; Processo externo: Disparado pela ação do operador; 18. ROTINAS CONSTRUÍDAS (BUILT INS) 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) 19. TIPOS DE ROTINAS 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 Oracle Forms Básico UNIDADES DE PROGRAMA (PROGRAM UNITS) Procedures Functions Packages 21. PALETA DE SINTAXE 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 poplist 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 Oracle Forms Básico VARIÁVEIS GLOBAIS E DE SISTEMA 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. 23. MANIPULANDO MENSAGENS DE ERRO 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 = THEN Message('Sua pesquisa não encontrou nada, tente de novo.'); ELSIF errnum = THEN Message('Nada foi encontrado.'); ELSE Message(errtyp '-' TO_CHAR(errnum) ': ' errtxt); RAISE Form_Trigger_Failure; END IF; END;
35 Oracle Forms Básico EDITOR DE LAYOUT 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; Sound item - Reproduz sons de arquivos ou do BD;
36 Oracle Forms Básico 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; Execute seu forms e veja o resultado.
37 Oracle Forms Básico CONSTRUÇÃO DE ÁRVORES HIERÁRQUICAS 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; Execute o Forms.
38 Oracle Forms Básico PREFERÊNCIAS General Gerais Access - Acesso
39 Oracle Forms Básico 39 Wizards - Assistentes Runtime - Execução
40 Oracle Forms Básico ALERTAS 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; 27. CONTADORES (TIMERS) 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):= ; BEGIN hour_timer := CREATE_TIMER('alarm',one_hour,REPEAT); END; - Respondendo a vários Timers
41 Oracle Forms Básico 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; 28. CRIANDO LISTAS DE VALORES 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 Oracle Forms Básico 42 Escolha a coluna que a LOV vai ser ativada. Tela de encerramento 29. EDITORES 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. 30. PARAMETERS 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 Oracle Forms Básico MENUS 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 Oracle Forms Básico MENUS POPUP 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 Oracle Forms Básico BIBLIOTECAS PL/SQL 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; 33. BIBLIOTECAS DE OBJETOS São bibliotecas de objetos reutilizáveis, as quais podem ser subdivididas em pastas.