Você está na página 1de 66

. . . . . . . . . .

Linguagem Consultoria e Treinamento

Oracle Developer
Oracle Forms

Oracle Reports

INTRODUO ....................................................................................................................................................... 04 PROGRAMAO .................................................................................................................................................. 05 VISO GERAL ....................................................................................................................................................... 06 CONCEITOS BSICOS E COMPONENTES ..................................................................................................... 06 CRIANDO UM FORMULRIO BSICO ........................................................................................................... 07 UTILIZANDO O ASSISTENTE DO FORM BUILDER ............................................................... 07 PASSOS PARA A CRIAO DE UM FORMULRIO BSICO .................................................... 20 ALTERANDO AS PROPRIEDADES DO MODULO ................................................................... 22 TIPOS DE BLOCOS ......................................................................................................................... 24 TABELAS BASE ............................................................................................................................... 24 CONTROLE ..................................................................................................................................... 25

CRIANDO UM BLOCO TABELA BASE ....................................................................................... 26 ASSOCIANDO UMA TABELA A UM BLOCO ............................................................................ 28 DEFININDO AS COLUNAS DA TABELA QUE SERO USADAS EM UM BLOCO ............. 29 DEFININDO O FORMATO DE UM BLOCO ............................................................................... 30 CRIANDO UM FORM MESTRE DETALHE ..................................................................................................... 32 CRIANDO O BLOCO MESTRE ..................................................................................................... 33 CRIANDO UM BLOCO DETALHE ............................................................................................... 33 DEFININDO A RELAO ENTRE UM BLOCO MESTRE E O DETALHE .......................... 33 EXECUTANDO UM FORMULRIO .................................................................................................................. 35 EXECUTAR ..................................................................................................................................... 35 MODO ........................................................................................................................................... 35

MODIFICANDO UM FORMULRIO ................................................................................................................ 36 PARA MODIFICAR OS ROTULOS DOS CAMPOS ........................................................................... 37 PARA MODIFICAR OS ROTULOS DOS BOTES ............................................................................. 38 PARA COLOCAR ICONES NOS BOTES ......................................................................................... 39 PARA MODIFICAR AS CORES DOS ITENS ...................................................................................... 40 PARA ALINHAR RAPIDAMENTE VARIOS ITENS ............................................................................ 41 PARA COLOCAR RAPIDAMENTE VARIOS ITENS COM O MESMO TAMANHO ............................. 42

TIPOS DE CAMPOS .............................................................................................................................................. 43 CRIANDO CAMPOS ADICIONAIS DE ENTRADA DE ITENS ...................................................................... 44 CHECK BOX .................................................................................................................................... 44 LIST ITEM ....................................................................................................................................... 45 RADIO GROUPS ............................................................................................................................. 47 DISPLAY ITEM ................................................................................................................................ 49 IMAGEM ITEM ............................................................................................................................... 50 BOTO ........................................................................................................................................... 51

CRIANDO LISTA DE VALORES ........................................................................................................................ 52 CRIANDO EDITOR DE TEXTO .......................................................................................................................... 55

JANELAS E VISES ............................................................................................................................................. 56 WINDOW (JANELA) ....................................................................................................................... 56 CANVAS (VISES) .......................................................................................................................... 57

TRIGGERS (GATILHOS) ..................................................................................................................................... 58 FORMS ........................................................................................................................................... 60 BLOCK ............................................................................................................................................ 61 ITEM .............................................................................................................................................. 62

CRIAO DE MENUS .......................................................................................................................................... 63 OPEN-FORM .................................................................................................................................. 64 CALL-FORM ................................................................................................................................... 64 NEW-FORM ................................................................................................................................... 64 EXECUTAR COMANDO DO SISTEMA OPERACIONAL ............................................... 65 HOST ............................................................................................................................................. 65 RUN_PRODUCT ............................................................................................................................. 66 CHAMADAS A SUBROTINAS DEFINIDAS PELA ORACLE ......................................... 67 DO_KEY(ROTINA) ........................................................................................................................ 67 CHAMADAS A GATILHOS DEFINIDOS PELO USURIO ............................................ 68 EXECUTE_TRIGGER ........................................................................................................................ 68 GERAR O MODULO EXECUTAVEL DO MENU, ATRAVS DA OPO.................... 69 COLOCAR FIGURA EM MENUS ....................................................................................................................... 70 RESUMO ................................................................................................................................................................. 71 ONDE OBTER MAIS INFORMAES .............................................................................................................. 72

. . . . . . . . . . Oracle Forms
Ferramenta utilizada para construir os programas que realizaro a interface entre o banco de dados e o usurio final.
Introduo
Com esta ferramenta o desenvolvedor pode criar: Formulrios Menus Bibliotecas de funes

Programao

Construindo formulrios simples Rodando um formulrio Modificando um formulrio Construindo um formulrio mestre-detalhe Adicionando novos tipos de campos Adicionando janelas, vises, lista de valores e alertas Usando PL/SQL nos formulrios Integrando com outras ferramentas Construindo menus

Viso geral
Comearemos a abordagem pela construo de um formulrio simples, passando pela adio de novos tipos de itens e terminando com a utilizao da integrao com outras ferramentas.

Conceitos bsicos e componentes


Oracle Forms o principal produto do pacote Oracle Developer. a ferramenta utilizada para o desenvolvimento de: Formulrios Menus Bibliotecas Os componentes do Oracle Forms so: Form Builder Componente responsvel pela elaborao de: formulrios de alterao, incluso, excluso de dados, menus das aplicaes e bibliotecas de procedimentos escritos em PL*SQL. Gera arquivos com extenso: Formulrios (FMB), Menus (MMB) e Bibliotecas (PLL). Form Compiler Gera arquivos executveis pelo Run Time a partir dos fontes em Formulrios (FMB) gerando arquivo com extenso (FMX), Menus (MMB) gerando em extenso (MMX) e Bibliotecas (PLL) com extenso de ((PLX). Form Run Time Utilizado para executar os arquivos gerados pelo Forms Compiler ou Forms Builder (opo de gerao (Crtl+T)).

Criando um Formulrio bsico Conceitos Bsicos do Formulrio Ao criarmos um formulrio, devemos ter em mente trs coisas: 1. Quais as informaes que sero manipuladas ? 2. Como estas informaes sero representadas ? 3. De que forma ser esta manipulao ? Para informar quais as informaes que sero manipuladas, devemos criar os blocos de dados, onde associamos a uma tabela ou viso um bloco de informaes do formulrio. Depois que criamos um bloco de dados, devemos informar no Forms qual layout ser utilizado para manipular estas informaes. O Forms trabalha com programao por evento, ou seja devemos especificar para cada ao acontecida na utilizao do formulrio como e o que acontecer com a informao.

Utilizando o Assistente do Form Builder: Vamos utilizar para a construo de nosso primeiro formulrio o assistente de criao de formulrios. A finalidade do uso desta ferramenta nos dar uma rpida compreenso da forma como elaborado um formulrio.

Tela de boas vindas do Oracle Forms Builder

Escolha as opes conforme descrito abaixo:


Para montar um formulrio com a ajuda do assistente. Para montar um formulrio sozinho Para abrir um formulrio j existente Para montar um formulrio baseado em um modelo Para assistir a uma demonstrao do uso da ferramenta Para obter informaes sobre tarefas especificas.

Tela de boas vindas do assistente de criao de bloco de dados.

Um Bloco de dados pode ser criado a partir de uma tabela, viso ou um conjunto de procedimentos armazenados. o local onde sero armazenadas as informaes contidas no formulrio fornecidas pelo usurio durante a execuo.

Escolha a opo de tabela quando for criar um bloco que servir para manuteno de dados ou consulta. Escolha a opo com viso quando for criar blocos para consulta. Escolha a ltima opo quando necessitar criar um bloco mais complexo. Esta opo s deve ser utilizado por quem tiver bastante conhecimento da linguagem PL/SQL.

Nesta tela do assistente o usurio deve digitar o nome da tabela que ira gerar o bloco de dados, caso no lembre do nome, tecle no boto de pesquisa para solicitar ao programa que indique quais as tabelas que tem acesso. Um ponto importante nesta tela, a opo de "IMPOR INTEGRIDADE DE DADOS", ao utilizar esta opo o assistente automaticamente varre o banco de dados em busca das "CONSTRAINTS" da tabela e gera todas as regras em formato de triggers.

Nesta tela o assistente solicita ao desenvolvedor o que deve ser exibido (tabelas, vises e sinnimos) do usurio atual ou de outros.

Ao selecionar uma tabela, as colunas aparecem na coluna de disponveis

Nesta tela escolha as colunas da tabela selecionada que iro compor o bloco de dados do formulrio. Para selecionar a coluna, clique no boto > , mas se preferir pode selecionar todas de uma vez, clicando no boto >> . Existe nesta tela uma checkbox que se selecionada ira impor no bloco de dados as regras de integridade de dados.

Selecione o nome da tabela que servira como base para o bloco de dados base do formulrio.

Passos para a criao de um Formulrio Bsico

AO 1. NOME DO FORMULRIO 2. CONECTA AO BANCO 3. CRIAR BLOCO 4. ARRUMA FORMATO DOS CAMPOS 5. SETA PROPRIEDADES 6. ADICIONA CODIGO 7. TESTA O FORMULRIO

DESIGNER TOOL OBJECT NAVIGATOR MENU FILE/CONNECT JANELA DE CRIAO DE BLOCO LAYOUT EDITOR JANELA DE PROPRIEDADES EDITOR PL/SQL RUNFORM

Quando executamos o forms Builder pela primeira vez, ele cria automaticamente um module1. Clique duas vezes sobre o n module1 para abrir a tela de propriedades.

Alterando as propriedades do modulo: Clique pr sobre a propriedade que deseja modificar e digite o novo valor ou selecione um novo valor dentre a lista apresentada.

Altere a propriedade NAME para dar o nome do arquivo fsico (.FMB). Mude o sub-ttulo alterando a propriedade TITLE.

Alterando as propriedades de um formulario

CONECTANDO AO BANCO DE DADOS Selecione a opo file -> connect do menu Digite o nome do usurio Digite a senha Digite a string de conexo Outra opo teclar ctrl n.

Conexo com o banco de dados

TIPOS DE BLOCOS TABELAS BASE So blocos associados a uma tabela do usurio

Bloco associado a uma tabela de usurio

CONTROLE So blocos onde esto armazenados os meus itens de controle, normalmente botes.

Bloco de controle

CRIANDO UM BLOCO TABELA BASE: Associar uma tabela a um bloco: Definir as colunas da tabela que sero usadas em um bloco: Definir o formato de um bloco: Definir a relao entre um bloco mestre e o detalhe No formulrio bsico no existe bloco mestre/detalhe

Criando um bloco tabela base

Criando um bloco tabela base pelo menu

Associando uma tabela a um bloco: Base table Nome da tabela base do usurio Block Nome do bloco relacionado a tabela Canvas Nome da viso da janela onde ser mostrada a tabela Sequence id Seqencial de identificao do bloco Select base table Retorna uma lista de todas as tabelas, vises e sinnimos deste e de outros usurios. Select canvas Retorna uma lista de todos os nomes de viso de janela.

Associando uma tabela a um bloco base

DEFININDO AS COLUNAS DA TABELA QUE SERO USADAS EM UM BLOCO: Boto select columns Utilize este boto para selecionar os campos que sero utilizados no formulrio Label Nome do rtulo do campo no formulrio Width Largura do campo Type Tipo de campo Include Se estiver marcado o campo ir ser mostrado no formulrio

Escolhendo as colunas que irao compor o formulario

DEFININDO O FORMATO DE UM BLOCO: STYLE Tabular Estilo que se assemelha a uma planilha, mais utilizado para multi registros. Form Estilo onde os campos so mostrados em duas colunas. ORIENTATION Vertical Os campos so mostrados verticalmente. Horizontal Os campos so mostrados horizontalmente. RECORDS Nmero de registros da tabela que sero mostrados de cada vez. SPACING Espacejamento entre os campos INTEGRITY CONSTRAINTS Transfere para o formulrio as regras contidas no banco de dados. BUTTON PALETTE Paleta de botes (<<,<,>,>>,query,save) com rotinas pr definidas SCROLLBAR Barra de rolagem

Definindo o formato de um bloco

CRIANDO UM FORM MESTRE DETALHE semelhante ao formulrio bsico, s que tem dois blocos de tabela base: Mestre a tabela que agrega valores de conjunto Detalhe a tabela que mostra os itens do conjunto.

Bloco Mestre x Detalhe

Criando o bloco mestre: Segue os mesmos passos para criao do bloco de tabela base para o formulrio bsico. CRIANDO UM BLOCO DETALHE: Define os dados do bloco detalhe (tabela,itens,formato) DEFININDO A RELAO ENTRE UM BLOCO MESTRE E O DETALHE Master block Nome do bloco mreste da relao Boto select Relaciona automaticamente todos os blocos que tem condio de ser mestre. Join condition Condio de relacionamento entre as duas tabelas Chave primaria = chave estrangeira

DEFININDO A RELAO ENTRE UM BLOCO MESTRE E O DETALHE

EXECUTANDO UM FORMULRIO EXECUTAR: Teclar no boto do semforo Ser gerado um mdulo com extenso .fmx Ser chamado o forms runtime para a execuo do mdulo gerado. Modo: Insero Esta a opo normal de inicializao Pesquisa O formulrio inicializado j executando uma pesquisa nos dados da tabela base.

MODIFICANDO UM FORMULRIO Clicar duas vezes no canvas-view (viso da janela) Para modificar os rotulos dos campos Para modificar os rotulos dos botes Para colocar icones nos botes Para modificar as cores dos itens Para alinhar itens rapidamente Para colocar itens do mesmo tamanho rapidamente

PARA MODIFICAR OS ROTULOS DOS CAMPOS Selecione o rotulo a ser alterado Clique no boto t e em seguida no rotulo Digite o novo rotulo Clique em outro lugar para confirmar a mudana

Mudana dos rotulos

PARA MODIFICAR OS ROTULOS DOS BOTES Selecione o boto a ser alterado Clique duas vezes no boto para chamar a folha de propriedades Digite o novo rotulo na propriedade label Clique em outro lugar para confirmar a mudana

Mudando o label do boto

Para colocar icones nos botes Selecione o boto a ser alterado Clique duas vezes no boto para chamar a folha de propriedades Na propriedade iconic, escolha true Na propriedade icon name, digite o nome do arquivo de icone escolhido

PARA MODIFICAR AS CORES DOS ITENS Selecione o item a ser alterado Na paleta de cores, selecione: Borda Escolha a cor da borda do item Fundo Escolha a cor do fundo do item Letra Escolha a cor da letra do item

Paleta de Cores do item

PARA ALINHAR RAPIDAMENTE VARIOS ITENS Selecione os itens a serem alinhados No menu arrange, selecione aline objects: Selecione a opo desejada para horizontal e vertical. Tecle ok para confirmar

Alinhamento de varios objetos

PARA COLOCAR RAPIDAMENTE VARIOS ITENS COM O MESMO TAMANHO Selecione os itens a serem modificados No menu arrange, selecione size objects: Selecione a opo desejada para largura , altura e tipo de medida. Tecle ok para confirmar

Colocando varios objetos do mesmo tamanho

TIPOS DE CAMPOS Text item Campo utilizado para armazenar os dados para que o usurio possa interagir com eles, entrada e sada de informaes na tabela. Display item Campo utilizado para mostrar os dados armazenados nas tabelas, o usurio no tem acesso a modificar as informaes List item Campo utilizado quando temos uma lista predefinida de itens Button Normalmente utilizado para dispara rotinas predefinidas pelo usurio Check box Utilizado quando temos somente os valores s ou n, ou marcado / desmarcado. Radio group Utilizado quando queremos mostrar as varias opes para uma informao na tela. Image item Utilizado para visualizar imagens de diferentes formatos.

CRIANDO CAMPOS ADICIONAIS DE ENTRADA DE ITENS CHECK BOX Clique duas vezes no item que ser modificado para chamar a folha de propriedades Altere a propriedade item type para check box Altere a propriedade default value para o valor comum Altere a propriedade label para o nome do item Altere a propriedade checked value para o valor que ser gravado no banco caso o campo seja marcado Altere a propriedade unchecked value para o valor que ser gravado no banco caso o campo seja desmarcado

Chec k Box

LIST ITEM Clique duas vezes no item que ser modificado para chamar a folha de propriedades Altere a propriedade item type para list item Altere a propriedade default value para o valor comum Altere a propriedade label para o nome do item Altere a propriedade list elements clicando no boto more List elements Relacione neste local os elementos que sero mostrados na tela List item value Relacione neste local os valores dos elementos que sero gravados no banco Altere a propriedade list style para um dos estilos de apresentao da lista de itens Poplist Relaciona todos os valores, colocando por cima do valor atual Tlist Relaciona todos os valores de uma vez Combo box Relaciona todos os valores, sem colocar por cima do valor atual

Lista de itens

RADIO GROUPS Clique duas vezes no item que ser modificado para chamar a folha de propriedades Altere a propriedade item type para radio group Altere a propriedade default value para o valor comum Clique no n do campo radio group para expandir os objetos Crie um radio button, clicando uma vez no n e depois no sinal de + da paleta de utilitrios Altere a propriedade name para o nome do item Altere a propriedade label para o nome do item que aparecera na tela Altere a propriedade value para colocar o valor do campo que sera gravado no banco Repita a operao de criao de radio buttons para todos os valores possiveis

Radio Group

Campo do tipo Radio Group

DISPLAY ITEM Clicar duas vezes no canvas-view (viso da janela) para criar os campos display item Dentro do canvas-view, clicar no boto de display item e depois no local onde ser mostrada a informao Clicar duas vezes no campo criado, para chamar a folha de propriedades Alterar a propriedade name para colocar o nome da informao que ser visualizada, tal como desc_fornecedor. Alterar a propriedade base table para false

Campo Display Item

Campo de Display

IMAGEM ITEM Clicar duas vezes no canvas-view (viso da janela) para criar os campos image item Dentro do canvas-view, clicar no boto de image item e depois no local onde ser mostrada a informao Clicar duas vezes no campo criado, para chamar a folha de propriedades Alterar a propriedade name para colocar o nome da informao que ser visualizada, tal como foto_fornecedor. Alterar a propriedade base table para false

Campo imagem

BOTO Clicar duas vezes no canvas-view (viso da janela) para criar os campos buttons Dentro do canvas-view, clicar no boto de buttons e depois no local escolhido para o boto. Clicar duas vezes no campo criado, para chamar a folha de propriedades Alterar a propriedade name para colocar o nome da informao que ser visualizada, tal como botao_fornecedor. Alterar a propriedade label para o nome que sair dentro do boto, como rtulo.

Trigger do boto

CRIANDO LISTA DE VALORES

Devemos utilizar este recurso quando temos em um formulrio um campo que chave estrangeira. Ou seja, existe por meio deste campo ligao com outra tabela. Para criar este tipo de objeto, devemos clicar no n do lovs e depois no boto + da paleta de utilitrios do object navigator Lista de valores Existing record group Marque esta opo e digite o nome do grupo de registros que contm o select dos campos V2-style table,column values Para executar em conjunto com um trigger (gatilho) definido pelo usurio New record group based on the query below Marque esta opo se for uma nova pesquisa Query text Digite o comando select correspondente ao grupo que dever ser mostrado.

Alterar a propriedade name para colocar o nome do lovs que foi criado Alterar a propriedade column mapping teclando no boto more Column names Nome da coluna da tabela que ser mostrada na tela Return item Campo do formulrio para onde retornara o valor da tabela selecionado Display width Tamanho do campo Column title Titulo da coluna da tabela que saira na tela Clicar duas vezes no campo que utilizar o lovs Alterar a propriedade lov para colocar o nome da lista de valores que foi criada

Criando lista de valores

Determinando as colunas

CRIANDO EDITOR DE TEXTO Devemos utilizar este recurso quando temos em um formulrio um campo que do tipo long ou for mostrado como multilinhas. Para criar este tipo de objeto, devemos clicar no n do editor e depois no boto + da paleta de utilitrios do object navigator Alterar a propriedade name para colocar o nome do editor Alterar a propriedade title para o nome que sair como rtulo no editor Clicar duas vezes no campo que utilizar o editor Alterar a propriedade editor para colocar o nome do editor que foi criado Criar um trigger when-mouse-doubleclick Colocar o seguinte texto na propriedade trigger text, edit_textitem;

JANELAS E VISES WINDOW (JANELA) Para criar este tipo de objeto, devemos clicar no n do window e depois no boto + da paleta de utilitrios do object navigator

CANVAS (VISES) Para criar este tipo de objeto, devemos clicar no n do canvas e depois no boto + da paleta de utilitrios do object navigator e selecionar o tipo de canvas desejado:
Conteudo Empilhado Guia Barra de Ferramentas Horizontal Barra de Ferramentas Vertical

TRIGGERS (GATILHOS) Existem dois tipo de triggers (gatilhos) BUILT-IN Triggers definidos pela oracle dentro do form para eventos pre-definidos. User-named Triggers definidos pelo usuario dentro do form que so executados a partir de uma rotina especifica, execute-trigger, definida pela oracle.

Tipos de triggers

Existem trs nveis de gatilhos que definem o seu escopo. Forms PARA EVENTOS OCORRIDOS A NVEL DE FORM Block PARA EVENTOS QUE OCORREM NO BLOCO Item PARA EVENTOS QUE OCORREM NO ITEM muito importante na confeco do trigger saber exatamente o evento que ir ser contemplado. Post Pre When Key On

Exemplos de triggers por: FORMS When-new-form-instance Set_window_property(forms_mdi_window,window_state,maximize); Set_window_property(window0,window_state,maximize);

BLOCK Post-query Select c.name, e.last_name into :order.customer_name, :order.sales_rep_name from s_customer c, s_emp e where e.id = c.sales_rep_id and :order.customer_id = c.id;

ITEM When-validate-item Select c.name, c.sales_rep_id, e.last_name :order.customer_name,:order.sales_rep_id,:order.sales_rep_name From s_customer c, s_emp e Where e.id = c.sales_rep_id and :order.customer_id = c.id; Into

CRIAO DE MENUS Para a criao de um menu devemos utilizar o n menu e teclar no + da paleta de utilitrios. Altera a propriedade name para o nome do arquivo fsico do tipo .mmb que ser gravado. Chamar o tools->menu editor para editar o menu. Apos a criao das opes do menu, devemos alterar a propriedade command type para colocar pl/sql. Alterar a propriedade command text para colocar o comando de execuo correspondente: Chamada formulrio Executar comando do sistema operacional Chamada a outros programas oracle Chamadas a subrotinas definidas pela oracle Chamadas a gatilhos definidos pelo usurio.

Editor de menu

CHAMADA FORMULRIO Open-form Open_form(stocks,activate,no_session); Call-form Call_form(stocks,hide,no_replace); New-form New_form( formname, to_savepoint, no_query_only); EXECUTAR COMANDO DO SISTEMA OPERACIONAL Host Host(dir,no_screen); Run_product Run_product(reports, empreport, synchronous, runtime, fileystem, null, null); CHAMADAS A SUBROTINAS DEFINIDAS PELA ORACLE Do_key(rotina) Do_key(exit_form) -- Para sair do form. CHAMADAS A GATILHOS DEFINIDOS PELO USURIO. EXECUTE_TRIGGER Execute_trigger(launch_advanced_help);

GERAR O MODULO EXECUTAVEL DO MENU, ATRAVS DA OPO: file->administration->generate ou simplesmente ctrl t. Criar um formulrio para associar o menu criado e gerar uma s opo para o usurio. Alterar a propriedade menu module para colocar o nome do arquivo do menu gerado, com extenso .mmx. Alterar a propriedade starting menu para colocar o nome do menu inicial, normalmente main_menu.

COLOCAR FIGURA EM MENUS Criar um canvas para colocar uma figura para emoldurar o menu do sistema Abrir o canvas e importar uma imagem atravs do: edit->import->image File Nome do arquivo que contem a imagem Format Formato da imagem (bmp,jpeg,pcx,pict,gif,etc) Quality Qualidade da imagem (good,excellent,very good,poor,fair) Gerar o modulo executavel do form, atravs da opo: file->administration->generate ou simplesmente ctrl t

ONDE OBTER MAIS INFORMAES Bibliografia


Guia de referencia Oracle Forms Apostilas Oracle Forms

Consultoria
Linguagem Consultoria e Treinamento Rua lvaro Correia, 595/304 Fortaleza Cear Brasil (85) 9974-1753