Oracle Forms Builder 6

download Oracle Forms Builder 6

of 338

Transcript of Oracle Forms Builder 6

Oracle Forms Builder 6

F61Reviso 1.0

Oracle Forms Builder 6

Sumrio1. Conceitos e Componentes..............................................................................................................1 Objetivos.......................................................................................................................................2 Oracle Forms 6 - Viso Geral.......................................................................................................3 Mdulos Oracle Forms 6..............................................................................................................4 Componentes do produto Oracle Forms 6....................................................................................5 Estrutura de um mdulo Forms....................................................................................................6 Navegando em um mdulo Forms................................................................................................7 Preview de blocos Base Table......................................................................................................8 Preview de Relacionamento Mestre Detalhe................................................................................9 Preview de blocos Single Record e Multi Record......................................................................10 2. Aplicaes Oracle Forms...............................................................................................................1 Objetivos.......................................................................................................................................2 Iniciando uma sesso Runform.....................................................................................................3 MDI Parent Window.....................................................................................................................4 Menu DEFAULT&SMARTBAR.................................................................................................5 Console.........................................................................................................................................6 Identificando os elementos de dados............................................................................................7 Navegando por uma aplicao Oracle Forms...............................................................................8 Tornando as Alteraes Permanentes...........................................................................................9 Consultando dados......................................................................................................................10 Utilizando a clusula Where em restries de consulta.............................................................16 Modos de operao.....................................................................................................................18 Inserindo, atualizando e deletando registros...............................................................................19 Efetivando ou descartando as mudanas efetivadas...................................................................20 EXERCCIOS.............................................................................................................................21 3. Mdulo Form..................................................................................................................................1 Objetivos.......................................................................................................................................2 Tipos de Mdulos.........................................................................................................................3 Iniciando uma sesso Oracle Forms Builder................................................................................4 Criando um novo mdulo form....................................................................................................5 Conectando-se ao banco...............................................................................................................6 Trocando o nome de um mdulo form.........................................................................................7 Propriedades de um mdulo form.................................................................................................8 4. Blocos..............................................................................................................................................1 Objetivos.......................................................................................................................................2 Conceito de bloco.........................................................................................................................3 Bloco Base Table..........................................................................................................................3 Criao de um bloco.....................................................................................................................4 Criando um bloco de controle.......................................................................................................5 Criando um bloco Base Table.......................................................................................................6 Usando o Assistente de Layout...................................................................................................10 Removendo um bloco................................................................................................................14 Atributo Visual...........................................................................................................................15DBC Database Company

Produzindo Triggers

Propriedades de um bloco...........................................................................................................16 Manipulando propriedades de Objetos.......................................................................................17 Propriedades de um bloco...........................................................................................................18 Salvando um mdulo form.........................................................................................................21 Executando um mdulo form.....................................................................................................22 EXERCCIOS.............................................................................................................................23 5. Relacionamento Entre Blocos.......................................................................................................1 Objetivos.......................................................................................................................................2 Conceito de relacionamento..........................................................................................................3 Criando um relacionamento entre dois blocos..............................................................................4 Construindo um relacionamento automaticamente.......................................................................5 Executando um mdulo form mestre detalhe...............................................................................7 Propriedades de relacionamento...................................................................................................8 O que acontece quando voc modifica um relacionamento.........................................................9 EXERCCIOS.............................................................................................................................10 6. Frames.............................................................................................................................................1 Objetivos.......................................................................................................................................2 Conceito de frame.........................................................................................................................3 Reorganizando os itens dimencionando o frame..........................................................................4 Propriedades de um frame............................................................................................................5 7. Itens tipo Texto...............................................................................................................................1 Objetivos.......................................................................................................................................2 Conceito de itens tipo texto (Text Item).......................................................................................3 Criando um item tipo texto (Text Item)........................................................................................4 Propriedades de um text item........................................................................................................5 Alterando cores e fontes...............................................................................................................7 Controlando os dados em um text item........................................................................................8 Formatando itens...........................................................................................................................9 Alterando o comportamento de navegao.................................................................................10 Setando as propriedades Keyboard Navigable e Enabled..........................................................11 Alterando o relacionamento do item com o banco de dados......................................................12 Adicionando funcionalidades a um item....................................................................................13 Adicionando funes de grupo e frmulas a um item................................................................14 Labels associados do item...........................................................................................................15 Itens multi-line............................................................................................................................16 Incluindo mensagens de ajuda....................................................................................................17 EXERCCIOS.............................................................................................................................18 8. LOVs e Editores.............................................................................................................................1 Objetivos.......................................................................................................................................2 Conceito de Lista de Valores (LOV) ...........................................................................................3 Utilizando uma LOV em momento de execuo..........................................................................4 Definindo uma Lista de Valores...................................................................................................5 Criando uma Lista de Valores (LOV)...........................................................................................6 Propriedades da LOV..................................................................................................................12 Mapeando colunas da LOV para itens do bloco.........................................................................13 Associando uma LOV a um item tipo texto...............................................................................14DBC Database Company II

Produzindo Triggers

Conceito de Editor......................................................................................................................15 Utilizando um Editor em momento de execuo........................................................................16 Criando um Editor......................................................................................................................17 Associando um Editor a um item tipo texto...............................................................................18 EXERCCIOS.............................................................................................................................19 9. Outros tipos de Itens......................................................................................................................1 Objetivos.......................................................................................................................................2 Conceito de item tipo Check-box.................................................................................................3 Utilizando um Check-box em momento de execuo..................................................................4 Criando um item tipo Check-box..................................................................................................5 Propriedades especficas de um item tipo CheckBox...................................................................7 Incluindo mensagens de ajuda......................................................................................................8 Tratando valores nulos em itens tipo Check Box.........................................................................9 Conceito de item tipo List...........................................................................................................10 Setando valores para um List Item em momento de execuo...................................................11 Criando um item tipo List...........................................................................................................12 Propriedades especficas de um item tipo List............................................................................14 Incluindo mensagens de ajuda....................................................................................................15 Tratando valores nulos em itens tipo List...................................................................................16 Conceito de itens Radio Groups.................................................................................................17 Criando um item Radio Group....................................................................................................18 Propriedades especficas de um item tipo Radio Group.............................................................20 Tratando valores nulos em um Radio Group..............................................................................21 EXERCCIOS.............................................................................................................................22 10. Itens tipo No Input.....................................................................................................................1 Objetivos.......................................................................................................................................2 Conceito de itens No Input..........................................................................................................3 Conceito de Itens tipo Display......................................................................................................4 Criando um item tipo Display.......................................................................................................5 Propriedades especficas de um item tipo Display.......................................................................6 Conceito de Itens tipo Image........................................................................................................7 Armazenando imagens..................................................................................................................8 Criando um item tipo Image.........................................................................................................9 Propriedades especficas de um item tipo Image........................................................................10 Incluindo mensagens de ajuda....................................................................................................11 Conceito de Itens tipo Sound......................................................................................................12 Armazenando sons......................................................................................................................13 Criando um item tipo Sound.......................................................................................................14 Propriedades especficas de um item tipo Image........................................................................15 Incluindo mensagens de ajuda....................................................................................................16 Conceito de Itens tipo Button.....................................................................................................17 Criando um Button......................................................................................................................18 Propriedades especficas de um Button......................................................................................19 Incluindo mensagens de ajuda....................................................................................................20 EXERCCIOS.............................................................................................................................21 11. Windows e Canvas.......................................................................................................................1 Objetivo........................................................................................................................................2DBC Database Company III

Produzindo Triggers

Conceito de window, canvas e viewport......................................................................................3 Exemplo de window.....................................................................................................................5 Criando uma window....................................................................................................................6 Propriedades de uma window.......................................................................................................7 Tipos de canvas.............................................................................................................................9 Conceito de content canvas.........................................................................................................10 Exemplo de content canvas.........................................................................................................11 Criando um Content Canvas.......................................................................................................12 Propriedades de um content canvas............................................................................................13 Conceito de Stacked canvas........................................................................................................15 Criando um Stacked Canvas.......................................................................................................16 Propriedades de um Stacked canvas...........................................................................................17 Conceito de Canvas Toolbar.......................................................................................................18 Usos e benefcios de um Toolbar................................................................................................19 Criando um canvas Toolbar........................................................................................................20 Propriedades de um canvas Tollbar............................................................................................21 Conceito de Canvas Tab.............................................................................................................22 Criando um Canvas Tab.............................................................................................................23 Propriedades de um Canvas Tab.................................................................................................24 EXERCCIOS............................................................................................................................25 12. Introduo as Triggers................................................................................................................1 Objetivos.......................................................................................................................................2 Viso geral sobre Triggers............................................................................................................3 Trigger Type.................................................................................................................................4 Trigger Code.................................................................................................................................5 Trigger Scope................................................................................................................................6 Escopo e execuo da Trigger......................................................................................................7 13. Produzindo Triggers....................................................................................................................1 Objetivos.......................................................................................................................................2 Criando um Triggers.....................................................................................................................3 Utilizando o PL/SQL EDITOR.....................................................................................................5 Propriedades de uma Trigger........................................................................................................7 Escrevendo o cdigo da Trigger...................................................................................................8 Utilizando variveis no Oracle Forms........................................................................................10 Referenciando variveis Oracle Forms.......................................................................................11 Suplementando validaes..........................................................................................................12 Populando itens com dados derivados........................................................................................13 Controlando falhas em Triggers.................................................................................................14 EXERCCIOS.............................................................................................................................16 Monitorando e Depurando Triggers...............................................................................................1 Objetivos.......................................................................................................................................2 Debugando Triggers no Forms Builder........................................................................................3 Executando um Form no modo Debug.........................................................................................4 Mostrando mensagens quando a Trigger disparada...................................................................5 Utilizando o PL/SQL Debugger...................................................................................................6 Componentes do Debug................................................................................................................7 Comandos teis no Debug............................................................................................................8DBC Database Company IV

Produzindo Triggers

Invocando o Debugger..................................................................................................................9 Definindo Debug Triggers..........................................................................................................11 Desabilitando aes do Debug....................................................................................................12 14. Adicionando Funcionalidades Itens........................................................................................1 Objetivos.......................................................................................................................................2 Respondendo a interaes com itens............................................................................................3 Definindo funcionalidades Itens Input.......................................................................................5 Definindo Funcionalidades itens No Input...............................................................................6 Interagindo com Itens do tipo Image............................................................................................7 Interagindo com itens do tipo Sound............................................................................................8 EXERCCIOS.............................................................................................................................10 15. Mensagens e Alertas....................................................................................................................1 Objetivos.......................................................................................................................................2 Tipos de Mensagens......................................................................................................................3 Detectando o sucesso ou a falha de Built-ins...............................................................................4 Controlando Mensagens de Sistema.............................................................................................5 Suprimindo Mensagens de Trabalho............................................................................................7 Criando e controlando Alerts........................................................................................................9 Utilizao....................................................................................................................................10 Propriedades de um Alert...........................................................................................................11 Built-ins teis manipulao com Alerts...................................................................................12 EXERCCIOS.............................................................................................................................14 16. Triggers de Consulta....................................................................................................................1 Objetivos.......................................................................................................................................2 Associao entre triggers e consulta.............................................................................................3 Processamento de consultas no Oracle Forms..............................................................................4 Trigger PRE-QUERY...................................................................................................................5 Trigger POST-QUERY.................................................................................................................6 POST-QUERY e WHEN-VALIDATE-ITEM.............................................................................7 Disparando Triggers no Modo Enter Query.................................................................................8 Obtendo informaes de consultas atravs de variveis de sistema.............................................9 Usando as Built-ins GET_BLOCK_PROPERTY e SET_BLOCK_PROPERTY.....................10 EXERCCIOS.............................................................................................................................11 17. Validaes.....................................................................................................................................1 Objetivos.......................................................................................................................................2 Processo de Validao..................................................................................................................3 Unidade de Validao...................................................................................................................4 Utilizando LOVs para validaes.................................................................................................5 Utilizando Triggers para Validaes............................................................................................6 Status de validao........................................................................................................................8 Relao de algumas Built-ins.......................................................................................................9 Navegao..........................................................................................................................................1 Objetivos.......................................................................................................................................2 Controlando a Navegao.............................................................................................................3 Propriedade Mouse Navigate........................................................................................................4DBC Database Company V

Produzindo Triggers

Navegao interna.........................................................................................................................5 Triggers de Navegao.................................................................................................................6 Armadilha de Navegao..............................................................................................................7 Triggers WHEN-NEW-objeto-INSTANCE.............................................................................8 Built-ins usadas para Navegao em Triggers..............................................................................9 EXERCCIOS.............................................................................................................................10 Processamento de Transao...........................................................................................................1 Objetivos.......................................................................................................................................2 Processamento de Transao........................................................................................................3 Tarefas executada em um processamento de transao................................................................4 Incrementando o processamento de uma Transao.....................................................................5 Validao de um Delete................................................................................................................7 Atribuindo nmeros seqenciais a registros.................................................................................8 Mantendo uma trilha de auditoria.................................................................................................9 Informaes sobre uma varivel tipo Cursor no PL/SQL...........................................................10 Customizando o incio e o fim de uma transao.......................................................................11 Outras triggers transacionais a nvel de bloco............................................................................12 EXERCCIOS.............................................................................................................................13 18. Cdigo Flexvel.............................................................................................................................1 Objetivos.......................................................................................................................................2 Conceito de cdigo flexvel..........................................................................................................3 Utilizando variveis de sistema....................................................................................................4 Utilizando Built-ins para obter informaes sobre objetos..........................................................6 Referenciando objetos pelo ID interno.........................................................................................8 Built-ins FIND_ e tipos de dados retornados................................................................................9 Utilizando variveis globais........................................................................................................11 Utilizando a Built-in NAME_IN................................................................................................12 Utilizando a Built-in COPY........................................................................................................13 EXERCCIOS.............................................................................................................................14 19. Compartilhando Objetos e Cdigos...........................................................................................1 Objetivos.......................................................................................................................................2 Compartilhando e reutilizando Cdigo.........................................................................................3 Classes de Propriedades................................................................................................................4 Herdando uma classe de propriedades..........................................................................................5 Grupo de Objetos..........................................................................................................................6 Copiando e Referenciando Objetos e Cdigos.............................................................................7 Reutilizando PL/SQL....................................................................................................................8 Object Library...............................................................................................................................9 SmartClasses...............................................................................................................................10 EXERCCIOS.............................................................................................................................11 20. Aplicaes Multi-Form................................................................................................................1 Objetivos.......................................................................................................................................2 Iniciando outro Mdulo Form.......................................................................................................3 Buit-in OPEN_FORM..................................................................................................................4 Passando valores para outro Mdulo Form..................................................................................5 Navegando para um mdulo j aberto na sesso..........................................................................6DBC Database Company VI

Produzindo Triggers

Definindo funcionalidades a uma aplicao Multi-Form.............................................................7 EXERCCIOS...............................................................................................................................8

DBC Database Company

VII

Oracle Forms Builder 6

1. Conceitos e Componentes

DBC Database Company

Produzindo Triggers

Objetivos Obter uma viso geral do produto, entendendo seus princpios e sua funo no conjunto de ferramentas Oracle. Identificar os principais componentes do Oracle Forms 6 e como eles esto relacionados.

DBC Database Company

2

Produzindo Triggers

Oracle Forms 6 - Viso GeralO que o Oracle Forms 6 ?O Oracle Forms 6 o maior produto dentro do Developer 2000. destinado a produzir aplicaes On-line baseadas em telas e janelas, permitindo apresentao e manipulao dos dados de vrias formas.

Caractersticas de uma aplicao Oracle Forms 6 Possibilita insero, atualizao, deleo e consulta de dados usando uma variedade de interfaces grficos. Apresenta dados utilizando-se de itens tipo texto e imagens. Permite o desenvolvimento de aplicaes utilizando janelas e transaes de Banco de dados. Possui integrao com os produtos Oracle Report, Oracle Graphics e aplicaes OLE2, permitindo a utilizao de recursos destes produtos. Apresenta-se sob a forma de menus.

Caractersticas do ambiente de desenvolvimento Utilizao de menus. Construo de aplicaes utilizando poderosa ferramenta grfica de desenvolvimento. Construo de aplicaes que so portveis entre ambientes grficos e ambientes modo caracter. Fcil cpia ou movimentao de objetos entre os componentes de uma aplicao. Uso de ferramentas comuns aos outros produtos do Developer 2000, tais como: Layout Editor, Object Navigator e ambiente de desenvolvimento PL/SQL.

DBC Database Company

3

Produzindo Triggers

Mdulos Oracle Forms 6Uma aplicao Oracle Forms pode ser composta de muitos mdulos. Estes mdulos podem ser do tipo: Form, Menu, Library ou Object Libraries. Mdulo tipo Form: apresenta os objetos e os dados que os usurios podem ver ou interagir. Mdulo tipo Menu: composto por uma hierarquia de menus, cada qual com itens selecionveis. Mdulos Menu so atachados a mdulos Form. Mdulo tipo Library: um conjunto de subprogramas PL/SQL (como em outras ferramentas PL/SQL). Mdulo tipo Object Libraries: um conjunto de diferentes objetos armazenados pelo desenvolvedor para assim referenciar ou copi-los em um mdulo forms.

DBC Database Company

4

Produzindo Triggers

Componentes do produto Oracle Forms 6O produto Oracle Forms 6 possui trs componentes : Oracle Forms Generate - interpreta as definies de um mdulo, criando um arquivo executvel. Oracle Forms Runform - executa um arquivo executvel de uma aplicao Oracle Forms. Os arquivos utilizados no momento da execuo j devem ter sido gerados pelo Oracle Forms Generate. Oracle Forms Builder - permite o design e armazenamento das especificaes de um mdulo tipo Form, Menu ou Library. Permite tambm invocar os outros componentes Forms Generate e Forms Runform.

DBC Database Company

5

Produzindo Triggers

Estrutura de um mdulo FormsMdulos Forms consistem no corpo principal de uma aplicao Oracle Forms.

Principais objetos de um mdulo Form Itens So objetos que apresentam valores de dados ao usurio ou, dependendo do tipo de item, permitem ao operador interagir com o form. Itens esto logicamente agrupados em blocos e visivelmente arranjados em canvas. Bloco - o dono lgico de um item. Em um bloco os itens esto logicamente relacionados. Eles podem, por exemplo, pertencer a colunas de um mesma tabela ou fazer parte de um mesmo ciclo de navegao. Canvas - a superfcie onde os objetos visuais esto arranjados (podemos imagin-lo como a tela de um pintor). Um mdulo Form pode ter vrios canvas. Por default, todos os canvas ficam na mesma janela, mas podemos alocar janelas separadas para cada canvas.

DBC Database Company

6

Produzindo Triggers

Navegando em um mdulo Forms Quando se executa um mdulo Form, navega-se pelo seu contedo atravs de itens e blocos, no atravs de canvas. Cada item tem sua posio seqencial dentro do bloco e cada bloco tem sua posio seqencial dentro do Form. A navegao pode ser feita atravs de teclas, menus, mouse ou por definio de programa.

DBC Database Company

7

Produzindo Triggers

Preview de blocos Base Table Um bloco Base Table aquele que est associado com uma tabela (ou view). Cada bloco pode ter somente uma tabela associado a ele, entretanto possvel acessar dados de outras tabelas, programando-se atravs de triggers. Na criao de um bloco Base Table so automaticamente criados os itens para as colunas da tabela base. O Oracle Forms automaticamente gera: O cdigo necessrio para implementar as regras das constraints da tabela base; SQL (implcito) para inserir, atualizar, deletar e consultar linhas da tabela base. Em momento de execuo possvel utilizar teclas de funes, botes ou opes de menu para iniciar consultas, inseres, atualizaes e delees na tabela base e posteriormente efetivar a transao (Commit).

Exemplo de um bloco de dados:

DBC Database Company

8

Produzindo Triggers

Preview de Relacionamento Mestre Detalhe Para suportar o relacionamento entre blocos e suas tabelas base possvel definir um bloco como detalhe de um outro (mestre). Isto permite valores de chave primria e de chave estrangeira ligados atravs dos blocos, havendo desta forma, o sincronismo dos dados. O Oracle Forms automaticamente gera o cdigo necessrio para suportar o relacionamento mestre detalhe.

DBC Database Company

9

Produzindo Triggers

Preview de blocos Single Record e Multi Record possvel definir quantos registros um bloco mostra de cada vez. Tipos de BlocosBloco Single-record Bloco Multi-record

DescrioMostra um registro de cada vez. Mostra mais de um registro de cada vez..

Obs.: Em ambos os casos os registros de um bloco que no esto visveis na tela esto armazenados no buffer do bloco.

DBC Database Company

10

Oracle Forms Builder 6

2. Aplicaes Oracle Forms

DBC Database Company

Produzindo Triggers

Objetivos Entender a terminologia do ambiente de execuo. Navegar por uma aplicao Oracle Forms. Consultar dados sem restries. Consultar dados utilizando argumentos de pesquisa. Inserir, atualizar e deletar registros. Consultar erros pelo help.

Neste captulo voc vai executar uma aplicao j existente, e familiarizar-se com a interface do Oracle Forms Runtime, o qual essencial para a execuo das aplicaes desenvolvidas no Forms Builder.

DBC Database Company

2

Produzindo Triggers

Iniciando uma sesso Runform Uma sesso Runform consiste de um ou mais mdulos Forms e Menus ligados todos sobre o controle de um usurio. Uma sesso Runform pode ser iniciada selecionando um cone ou uma opo de menu no sistema Windows. Em ambos os casos a ao vai executar um comando Runform para iniciar uma sesso. IFRUN60 ... MODULE = USERID =

Em um ambiente GUI (Interface Grfica) uma tela Runform Options mostrada quando voc

executa o comando (IFRUN60). Esta tela permite que voc entre com o nome do form, o usurio, a password, o Banco de dados e outras opes que voc no especificar na linha de comandos.

DBC Database Company

3

Produzindo Triggers

MDI Parent Window O Multiple Document Interface (MDI) Parent Window a janela (window) na qual sua aplicao pode mostrar mltiplos mdulos Form (document windows). O ttulo default da MDI Parent Window : Oracle Developer Forms Runtime. Para executar o forms, partir da verso 5.0, sem a MDI, no Forms Runtime acrescente a clusula USESDI = YES.

DBC Database Company

4

Produzindo Triggers

Menu DEFAULT&SMARTBAR O menu DEFAULT&SMARTBAR o menu default que automaticamente utilizado por todas as aplicaes Oracle Forms. Ele possui um mtodo alternativo ao uso de operaes por teclas. Pode ser customizado ou substitudo por outro menu de modo a introduzir sua funcionalidade ao mdulo Form.

DBC Database Company

5

Produzindo Triggers

Console A console inclui uma linha de mensagem e uma linha de status que provm informaes essenciais ao usurio em momento de execuo. A linha de mensagem mostra as mensagens do Oracle Forms e as especficas da aplicao. A linha de status mostra uma variedade de indicadores que refletem o estado corrente do mdulo Form. Indicador DescrioCount Record Informa o nmero de registros recuperados e mostrados pela consulta. Informa o indicativo do registro corrente em relao ao total consultado, na seguinte mscara : Atual/Total. At a navegao do ltimo registro mostrar ? no total de registros da consulta. Indica que o bloco corrente esta em modo ENTER QUERY e nenhum registro foi consultado ainda. Indica que existe uma lista de valores associada ao item corrente.

Enter-Query List of Value

DBC Database Company

6

Produzindo Triggers

Identificando os elementos de dadosUma aplicao tpica Oracle Forms utiliza uma variedade de objetos e tipos de itens, tais como: Boilerplate Text, Boilerplate Graphics, Text Itens, Display Itens, Radio Buttons, Check Boxes, Image Itens, Sound Itens e Custom Itens.

DBC Database Company

7

Produzindo Triggers

Navegando por uma aplicao Oracle FormsNavegando pela aplicao com o menu DEFAULT&SMARTBAR Selecione opes do menu utilizando o mouse. Mova o cursor para o prximo bloco (Block-Next) ou para o bloco anterior (Block-Previous). Mova o cursor para o prximo item (Field-Next) ou para o item anterior(Field-Previous). Mova o cursor para o prximo registro (Record-Next) ou para o registro anterior (RecordPrevious). Salve (Save) ou desfaa suas mudanas (Action-> Clear All, informando o que deve ser feito com as alteraes). Insira novos registros (Record-> Insert). Remova registros j existentes (Record-> Remove). Limpe o registro corrente (Record-> Clear). Execute consultas sobre o bloco corrente (Query->Enter, Query-> Execute). Chame o Help On-line (Help-> Help, Help-> Keys, Help-> List, Help-> Display Error).

Navegando atravs da aplicao com o Mouse Mova o cursor. Selecione opes do menu. Selecione uma opo de uma lista de valores (LOV). Marque ou desmarque um Check Box. Pressione um boto. Pressione um boto em um Radio Group. Troque o contexto para uma outra janela aberta. Responda a um Alert Box. Navegue por registros de um bloco utilizando o Scroll Bar.

Navegando atravs da aplicao com BotesAlgumas aplicaes utilizam botes como meio de navegao. Voc pode pressionar um boto com o mouse ou com a tecla [Select] para iniciar essa ao.

Navegando pela aplicao com teclas de funo Existe uma tecla de funo associada a cada funo de navegao ou operao do Oracle Forms. Para ver a lista de teclas e suas funes selecione Help->Keys do Menu Default. Quando executando uma aplicao Oracle Forms em ambiente de modo caracter as teclas de funo so o nico meio de navegao. Algumas teclas de funo ficam habilitadas e outras desabilitadas dependendo do contexto da aplicao.

DBC Database Company

8

Produzindo Triggers

Tornando as Alteraes PermanentesMemriaDelees Alteraes

Mdulo FormsPEDIDOS Pedido

Inseres

FORMS RUNTIME Action Save

ou

Itens do Pedido

Banco Forms

DBC Database Company

9

Produzindo Triggers

Consultando dadosVoc pode consultar os dados de um Banco de dados sem conhecimento de sintaxe da linguagem SQL. Entretanto se voc tem experincia com SQL possvel complementar o processamento default do Oracle Forms. Tipos de consulta: TipoIncondicional (Unrestricted) Condicional (Restricted)

DescrioSeleciona todas as linhas de todas as colunas representadas no bloco em relao a tabela base sem especificar condio. Seleciona somente as linhas que satisfaam as condies especificadas para todas as colunas representadas no bloco em relao a tabela base.

DBC Database Company

10

Produzindo Triggers

Executando consultas incondicionais Selecionando as opes do menu default (Query -> Execute)

Pressionando a tecla [Execute Query]. Para ver a lista de teclas e suas funes selecione Help -> Keys do menu default. Clicando em um boto de Execute Query, se definido.

DBC Database Company

11

Produzindo Triggers

Executando consultas condicionaisPassos para executar uma Query condicional 1. Selecione Query -> Enter do menu default ou a tecla [Enter Query]. 2. A linha de status deve sinalizar ENTER QUERY indicando que o form est no modo ENTER QUERY. 3. Entre com o critrio de pesquisa apropriado. 4. Selecione Query -> Execute do menu default ou a tecla [Execute Query].

Critrios vlidosCritrioValores compatveis

DescrioPesquisa as linhas que possuem exatamente os mesmos valores passados como argumentos.

Caracteres de Implica na utilizao do operador LIKE possibilitando o uso dos wildcards substituio % e _ como argumentos. (wildcards % ou _ ) Dilogo Query Where Permite a especificao de uma clusula WHERE mais complexa para uma consulta. Operadores condicionais Permite a utilizao de outros operadores condicionais, tais como : >, =, Enter do menu default ou a tecla [Enter Query]. 2. Especifique variveis para cada item participante da condio prefixando a varivel com :.Exemplo: Sales Rep Id -> :S, Pais -> :P. 3. Selecione Query -> Execute do menu default ou a tecla [Execute Query]. 4. Entre com a expresso condicional da clusula where utilizando as variveis definidas anteriormente. Clique no boto OK.

Exemplo:Consultando os clientes dos pases USA e Japao ou os clientes atendidos pelo vendedor com nmero 14. 1. Definindo as variveis envolvidas:

DBC Database Company

16

Produzindo Triggers

2. Especificando a condio da clusula WHERE:

DBC Database Company

17

Produzindo Triggers

Modos de operaoOracle Forms possui dois modos de operao: modo Normal e modo Enter Query.

Modo Enter-Query o modo de operao que permite a entrada de critrios de pesquisa para uma consulta.

No modo Enter-Query voc pode: Consultar todos os registros. Consultar registros utilizando um critrio. Consultar registros utilizando o dilogo Query Where. Obter o nmero de registros que seriam retornados por uma consulta antes de execut-la utilizando a opo Query -> Count Hits.

No modo Enter-Query voc no pode: Navegar fora do bloco corrente. Sair da sesso Runform. Usar certas funes, tais como Next Record. Inserir registros. Atualizar registros. Deletar registros.

Modo Normal

o modo de operao que permite a insero, atualizao e deleo de registros (linhas) do Banco de dados.

No modo Normal voc pode: Consultar registros. Inserir novos registros. Atualizar registros. Deletar registros. Efetivar as mudanas (Comitt: Action -> Save). Sair da sesso Runform.

No modo Normal voc no pode: Executar uma consulta condicional. Utilizar o dilogo Query Where.

DBC Database Company

18

Produzindo Triggers

Inserindo, atualizando e deletando registrosPassos para inserir um registro Garanta que voc est posicionado em um registro. Use a tecla Scroll Down at encontrar um registro vazio ou Selecione no menu a opo Record -> Insert ou tecle [Insert Record]. Preencha o registro. Efetive a mudana (Action -> Save).

Passos para atualizar um registro Consulte o registro desejado. Atualize o registro. Efetive a mudana (Action -> Save).

Passos para deletar um registro Consulte o registro desejado. Remova o registro. Efetive a mudana (Action -> Save).

DBC Database Company

19

Produzindo Triggers

Efetivando ou descartando as mudanas efetivadas Para efetivar as inseres, atualizaes e delees necessrio salvar (Commit da transao) no Banco de dados. Selecione a opo Action -> Save. Para descartar as inseres, atualizaes e delees (Rollback da transao) selecione a opo Action -> Clear All.

Mostrando errosSe uma mensagem de erro Oracle aparecer na linha de mensagens voc pode ver o comando SQL que originou o erro selecionado no menu a opo Help -> Display Error.

DBC Database Company

20

Produzindo Triggers

EXERCCIOS1. Inicie uma sesso Runform utilizando o Forms CLIENTES.FMX com o usurio, password e String de conexo, fornecidos pelo instrutor. 2. Selecione a opo Help -> Keys do menu. Utilize o scrollbar para ver as funes e suas teclas correspondentes. 3. Execute uma consulta incondicional. Aps, navegue para os prximos registros e retorne para os registros anteriores, utilizando as setas [Up] e [Down]. 4. Execute consultas condicionais: consulte o cliente com o nome Womansport; consulte os clientes com o cdigo do vendedor maior que 13; consulte todas as cidades iniciadas pelo string Sa; consulte os clientes localizados no pas USA com classificao de crdito Excelente. 5. Consulte o cliente Big Johns Sports Emporium e clique no boto Pedidos para chamar o form PEDIDOS.FMX. 6. Clique no boto Image On para desligar a imagem do item. 7. Consulte somente os pedidos com o tipo de pagamento A Prazo. 8. Mova para o primeiro registro do bloco Itens e pressione o boto Estoque. 9. Insira um novo registro no bloco Pedidos e um novo registro no bloco Itens. 10. Salve os registros novos. 11. Atualize o pedido que voc inseriu. 12. Tente remover o pedido que voc inseriu, o que acontece? 13. Remova o item do pedido que voc inseriu e salve. 14. Agora tente deletar o pedido que voc inseriu. 15. Encerre a sesso Runform.

DBC Database Company

21

Oracle Forms Builder 6

3. Mdulo Form

DBC Database Company

Produzindo Triggers

Objetivos Entender os tipos de mdulos form. Criar um mdulo form com e sem o assistente. Construir um bloco utilizando uma especificao de tabela existente com e sem o assistente. Salvar um mdulo form. Executar um mdulo form. Construir um mdulo form mestre/detalhe.

DBC Database Company

2

Produzindo Triggers

Tipos de MdulosLembre-se de que existem 4 tipos de mdulos de aplicao que podem ser criados atravs da ferramenta Oracle Forms. MduloForm

DescrioTelas (janelas) com blocos de dados pertencentes ou no a tabelas do Banco de dados que proporcionam consultas, inseres, atualizaes e deleo de linhas. Interface hierrquico com o objetivo de prover um mtodo simples de emitir comandos para a aplicao. Conjunto de sub programas PL/SQL armazenados centralizados, proporcionando reutilizao. Biblioteca de objetos, armazena objetos criados pelo desenvolvedor, para serem copiados ou referenciados modulos forms.

Menu Library Object Libraries

Obs.: Voc pode atachar um mdulo Menu a um mdulo form executando as opes disponveis em momento de execuo. Voc pode atachar um mdulo Library a um mdulo form ou Menu a fim de tornar disponveis os sub programas dentro do outro mdulo.

DBC Database Company

3

Produzindo Triggers

Iniciando uma sesso Oracle Forms Builder Para iniciar uma sesso efetue duplo clique no cone Oracle Forms Builder Ao executar o Forms Builder 6, se a preference Welcome Dialog estiver setada e mostrado antes de entrar no forms um Wizard: Para criar um novo modulo form manualmente, selecione Build a new form manually; Para, com o Wizard, criar um novo modulo form e j criar um bloco nele, selecione Use the Data Block Wizard; Para criar um novo modulo form baseado em um modulo form template, selecione Build a form based on a template; Para Abrir um modulo form j existente, selecione Open na existing form.

DBC Database Company

4

Produzindo Triggers

Criando um novo mdulo formExistem 5 formas de se criar um mdulo tipo form: Iniciando uma sesso Forms Builder (implicitamente criado um novo mdulo). Selecionando File -> New -> Form.

Efetuando um clique na entrada Form, ou um mdulo existente, no Object Navigator e no cone CREATE.

Selecione qualquer objeto dentro da entrada Forms, e clique no cone NEW.

Efetuando um duplo clique na entrada Forms no Object Navigator, quando nenhum outro mdulo form est aberto.

DBC Database Company

5

Produzindo Triggers

Conectando-se ao bancoConecte-se ao Banco de dados Oracle selecionando File -> Connect. Na janela Connect, entre com o nome do usurio Oracle (User Name), a senha (Password) e o nome do Banco de dados (Database). Aps, clique em Connect.

DBC Database Company

6

Produzindo Triggers

Trocando o nome de um mdulo formO Oracle Form atribui o nome MODULEn para um novo mdulo, onde n o prximo nmero disponvel para nomes de mdulos. Este nome aparece no Object Navigator e no Property Palette. Existem duas formas para trocar o nome de um mdulo tipo form: no Object Navigator efetuando um duplo clique no nome do mdulo form

no Property Pallete, na propriedade Name: nelecionando no menu Tools -> Property Palette;

com um duplo clique no cone do mdulo form no Object Navigator ou com o boto direito do mouse e selecionado a opo Properties.

Convenes de nomenclaturaNo permitido nomes duplicados para objetos do mesmo tipo nem a utilizao de palavras reservadas do Oracle. Nomes devem: Conter at 30 caracteres. Possuir o primeiro caracter como uma letra. Ou podem possuir combinao de letras, nmeros e alguns caracteres especiais ($, , etc).

DBC Database Company

7

Produzindo Triggers

Propriedades de um mdulo formTodos os objetos dentro de um form possuem propriedades, inclusive o mdulo que tambm um objeto.

Efetuado alteraes de propriedadesEfetue uma alterao ou consulta nas propriedades de um mdulo atravs do Property Pallete:

selecionando no menu Tools -> Property Palette ou com um duplo clique no cone do mdulo form no Object Navigator ou um clique com o boto direito do mouse e escolhendo a opo Property Palette.Demonstrado anteriormente

aconselhvel definir as propriedades de um mdulo form na sua criao, visto que as mesmas afetam o comportamento do form genericamente.

Principais Propriedades de um mdulo Name: nome interno do mdulo form (visualizado no Object Navigator). Coordinate System: define a unidade usado como medida para os objetos de um form e suas posies (coordenadas). Outras propriedades de um mdulo form sero vistas nos prximos captulos.

DBC Database Company

8

Produzindo Triggers

Escolhendo a unidade de coordenao Pressione o boto More na propriedade Coordinate System no Property Palette.

Na janela Coordinate Info altere as propriedades desejadas.

O sistema de coordenao para um form pode ser: OpoReal

DescrioUtilizada para modo grfico, permite flexibilidade e alinhamento fino quando ajustando posies e tamanhos de objetos na tela. Ao selecion-la pode-se escolher na opo Real Unit: Pixels, Centmetros, Pontos e Decipontos. A unidade default Point. Utilizadas para modo caracteri, ncluem dispositivos de modo caracter.

Caracter

DBC Database Company

9

Oracle Forms Builder 6

4. Blocos

DBC Database Company

Produzindo Triggers

Objetivos Modificar o comportamento e a aparncia de um bloco e seus componentes. Utilizar as tcnicas de construo para gerenciar as propriedades de blocos e seus objetos. Construir blocos baseados em tabelas do banco de dados. Construir blocos que no so baseados tabelas do banco de dados.

DBC Database Company

2

Produzindo Triggers

Conceito de blocoBloco o dono lgico de um tem, ele armazena-os e contm propriedades que afetam ao funcionamento dos quais. Um bloco pode ser de controle, sem ser baseado uma origem de dados, ou ser Base Table, baseado uma origem de dados.

Bloco Base Table um bloco que baseado uma origem de dados do banco, seja tabela, view, stored procedure ou ainda uma query. Na criao de um bloco base table o forms arranja e modifica as propriedades de tela e itens, automaticamente conforme especificaes da fonte dos dados e do Layout Wizard, assistente de disposio dos dados do bloco na tela, setadas ao criar o bloco, facilitando e agilizando ainda mais na construo de uma aplicao.Algumas tarefas efetuadas pelo forms na criao de um bloco Base Table:

Alterao das propriedades do bloco conforme a tabela, view ou array. Cria um item tipo Text para cada coluna do objeto origem dos dados. Seta as propriedades para cada Text item (name, data type, max length e etc) de acordo com a especificao da coluna correspondente. Cria um prompt tipo label para cada item, o default o nome da coluna. Arranja os itens na tela de acordo com as propriedades de layout especificadas.

Bloco de ControleUm Control Block um bloco que no est associado a nenhuma origem de dados do banco. Em outras palavras a propriedade Basetable Data Block No. Use um bloco de controle para organizar a disposio dos objetos auxiliares, como botes, que podero ser colocados em uma Toolbar.

DBC Database Company

3

Produzindo Triggers

Criao de um bloco Clique na entrada Data Blocks no Object Navigator.

Clique no cone Create no Object Navigator. A janela New Data Block Options aparecer. 1. Para usar o Wizard na criao do bloco selecione Use the Data Block

Wizard; 2. Para criar um bloco manualmente, sem items, em branco, selecione a opo Build a new data block manually. Esta opo, normalmente utilizada na criao de um bloco de controle, visto a seguir.

DBC Database Company

4

Produzindo Triggers

Criando um bloco de controle Siga os passos definidos acima, para criao de um bloco. Na janela New Data Block, selecione a opo Build a new data block manually. Clique em OK. Altere a propriedade Database Data Block do bloco para No.

DBC Database Company

5

Produzindo Triggers

Criando um bloco Base Table Siga os passos definidos acima, para criao de um bloco. Na janela New Data Block, selecione a opo Use the Data Block Wizard. Clique em OK.

Tela de boas vindas do Data Block WizardUm dilogo, avisando que o Wizard ir criar um bloco com especificaes que devem ser preenchidas nos prximos dilogos, ser mostrado.

DBC Database Company

6

Produzindo Triggers

Escolha do tipo de origem de dados (Table or View)Escolha o tipo da origem de dados do bloco: Table or View : Tabela ou Viso do banco; Stored Procedure : Array em forma de record retornado de uma procedure do banco, visto no curso de Forms Avanado.

DBC Database Company

7

Produzindo Triggers

Escolhendo os itens que faro parte do bloco1. Digite o nome da, tabela ou viso, caso no saiba, pressione o boto Browse e escolha uma opo da lista;

2.

Mova as colunas que deseja incluir no bloco, as arrastando ou atravs dos botes;

3. Marque o CheckBox Enforce data integrity, para criar triggers relativas as constraints da tabela ou viso;

DBC Database Company

8

Produzindo Triggers

Etapa final da criao do blocoNa pgina do Assistente selecione uma das seguintes opes: Create the data block, then call the Layout Wizard : executa o Assistente de Layout; Just create the data block : no executa o Assistente de Layout, o usurio deve fazer-lo mais tarde.

DBC Database Company

9

Produzindo Triggers

Usando o Assistente de Layout

Tela de boas vindas do assistente Seleo do canvas, tela, no qual ser adicionados os itens do blocoSelecione um Canvas j existente na lista;, ou New Canvas, criar um novo canvas.

DBC Database Company

10

Produzindo Triggers

Seleo dos itens do bloco que sero mostrados no layout

Acerto dos prompts e tamanho dos itens

DBC Database Company

11

Produzindo Triggers

Seleo do estilo dos prompts em relao aos itens

Form : Label, prompt, esquerda do Item;

Tabular : Label, prompt, cima do Item.

DBC Database Company

12

Produzindo Triggers

Especificao de scrollbar e argumentos de agrupamento de tela

Frame Title: Descrio do frame, quadro, envolvedor dos dados na tela. Records Displayed: Numero de registros, instncias, mostrados na tela. Distance Between Records: Distncia entre os registros, quando mostrados mais do que 1. Display Scrollba: Informa se o bloco deve possuir uma barra de rolagem dos registros.

Concluso das especificaes de Layout

DBC Database Company

13

Produzindo Triggers

Removendo um bloco Selecione o bloco desejado no Object Navigator.

Clique no cone Delete no Object Navigator. Um dilogo solicitar a confirmao.

Click em Yes.

DBC Database Company

14

Produzindo Triggers

Atributo VisualUm atributo visual um objeto usado para definir propriedades visuais que sero associadas a objetos de tela, nele so definidas propriedades por exemplo cor de fonte e cor de fundo. Um atributo visual bastante utilizado para destacar o registro corrente, que possui o foco, de um bloco com mais de uma instncia visvel na tela, Multi-Records.

Criando um atributo visual Selecione a entrada Visual Atributtes no Object Navigator.

Clique no cone Create . Altere as propriedades desejadas do atributo criado.

DBC Database Company

15

Produzindo Triggers

Propriedades de um blocoVoc pode definir ou alterar propriedades adicionais aos blocos aps a criao dos mesmos. As propriedades de um bloco esto dispostas em grupos de propriedades para agilizar na busca das quais.

DBC Database Company

16

Produzindo Triggers

Manipulando propriedades de ObjetosAs propriedades de qualquer tipo de objeto podem ser consultadas e modificadas pelo Property Palette. Para abrir o Property Palette existem 5 formas: Selecionando Tool -> Property Palette. Pressionando a tecla . Efetuando duplo clique no cone do objeto no Object Navigator. Efetuando duplo clique no objeto no layout editor. Efetuando um clique no boto direito do mouse e selecionando a opo Property Palette. Uma vez ativado o Property Palette voc pode manipular as propriedades do objeto.

Tipos de Interface de manipulao do Property PaletteExistem 4 tipo de interface para a manipulao do Property Palette:Interface Text Field Pop List Descrio Uma linha de texto aberta na control area. Um boto icnico tambm aparece permitindo o uso de um editor. Uma lista de valores oferecida com um conjunto de valores fixos. Clique na control rea para abrir a lista de valores ou d um duplo clique na propriedade para ver o prximo valor na lista. Uma lista de valores potencialmente grande oferecida. Clique na control rea para abrir a lista de valores ou d um duplo clique na propriedade para ver o prximo valor na lista. Clicando no boto More na control rea, mais propriedades so oferecidas atravs de um dilogo extra.

LOV Window

More button

DBC Database Company

17

Produzindo Triggers

Propriedades de um blocoPropriedades de navegaoPropriedade Navigation Style Descrio Same Record quando voc navega do ltimo item em um registro utilizando [Next Item] o cursor move para o primeiro item do mesmo registro. Change Record - quando voc navega do ltimo item em um registro utilizando [Next Item] o cursor move para o primeiro item do prximo registro. Change Block quando voc navega do ltimo item do bloco utilizando [Next Item] o cursor move para o primeiro item do primeiro registro do prximo bloco. Normalmente quando se executa uma operao para se movimentar para o bloco anterior o Oracle Forms move o controle para o bloco anterior na seqncia, a menos que voc especifique um bloco nesta propriedade. Normalmente quando se executa uma operao para se movimentar para o prximo bloco o Oracle Forms move o controle para o prximo bloco na seqncia, a menos que voc especifique um bloco nesta propriedade.

Previous Navigation Data Block Next Navigation Data Block

Propriedades de registroPropriedade Descrio Current Record Visual Atributo visual utilizado para realar o registro corrente do bloco. Atributte Group Query Array Size Quantidade de Registros para dar fetch. Para agilizar no display dos os primeiros registros de um bloco multi-records. Number of Records Buffered Number of Records Displayed Query All Records Record Orientation Single Record Quantidade de registros trazidos a cada fetch. Nmero de display de registros de um bloco multi-records. Fora o fetch de todos os registros. Usado em itens tipo sumario. Orientao dos registros no bloco. Geralmente os registros so orientados verticalmente. Voc pode alterar para horizontal se assim desejar. Informa que o bloco s tem um registro, somente para blocos de controle.

DBC Database Company

18

Produzindo Triggers

Propriedades relacionadas aos dadosPropriedadeDatabase Data Block Enforce Primary Key

DescrioSe o bloco baseado em uma tabela, view ou array. Controla se este registro nico antes dele ser inserido na tabela base. Yes significa que pelo menos um item no bloco tem a propriedade Primary Key setada como Yes.

Delete/nsert/Query/Up Define se a operao associada pode ser executada dade Allowed ( Yes / No ) Query Data Source Type Query Data Source Name Query Data Source Columns Query Data Source Arguments WHERE Clause Especifica o tipo da origem dos dados, tabela, view, ou procedure (array). None significa que o bloco de controle (no base table). Especifica o nome da tabela, view ou procedure. Especificaes de tipo e tamanho das colunas da tabela, view, sub-query, ou procedure. Argumentos de tipo, tamanho, nome de coluna, tipo da coluna e valores para transao de dados via procedure. Permite que voc defina uma condio para a clausula Where, do comando Select, que ser executada para todas consultas efetuadas no bloco. Se for executada uma consulta condicional os argumentos da consulta sero adicionados a condio especificada da clusula Where atravs do operador AND. Permite que voc defina a clusula order by para a ordenao dos registros para todas consultas efetuadas no bloco. Permite a definio de um hint string que ser adicionado ao SQL implcito gerado para as consultas efetuadas no bloco. Exemplo: /*+ FIRST ROWS */ Habilita o controle para que somente os itens que o operador tenha permisso de atualizao podem ser atualizados pelo mesmo. Yes - somente os itens alterados pelo operador so inseridos ou alterados na tabela base. No - o Oracle Forms atualiza todas as colunas associadas ao bloco na tabela base. Estas propriedades referenciam-se a transaes com registros de blocos associados a tabelas no Oracle. Para transaes com tabelas Oracle as propriedades default so as mais apropriadas.

ORDER BY Clause Optimizer Hint

Enforce Column Security Update Changed Columns Only

Key Mode / Locking Mode / Transational Triggers

DBC Database Company

19

Produzindo Triggers

Propriedades de scrollbarPropriedade Show Scroll Bar Descrio Yes inclui um scroll bar para o bloco. Quando setado habilita outras propriedades, como o canvas, a posio e o tamanho para o scroll bar. Voc pode definir estas propriedades pelo layout editor. No no inclui um scroll bar para o bloco. Canvas onde deve mostrar o scrollbar.

Scroll Bar Canvas

Scroll Bar Tab Page Se o canvas do tipo Tab, em qual Page ele deve ser mostrado.

Propriedades a nvel de mduloPropriedade Descrio

Listed In Data Block Permite que o bloco aparea no menu de blocos, . Menu Data Block Define a descrio do bloco no menu de blocos. Description

DBC Database Company

20

Produzindo Triggers

Salvando um mdulo formVoc pode salvar um mdulo Forms de 2 formas: Selecionando File -> Save ou File -> Save As

Clicando no cone Save . As duas opes causam o aparecimento do dilogo Save As, aonde voc deve entrar com a localizao e o nome do arquivo e clicar em OK.

Obs. : voc pode definir entre salvar no Banco de dados (database) ou em arquivo (file) setando a preference Access, selecionando no menu Tools -> Preferences -> Access.

DBC Database Company

21

Produzindo Triggers

Executando um mdulo formVoc pode executar um mdulo, do mdo Client/Server, sem sair do Form Builder, de 2 formas: Selecionando no menu Program -> Run Form -> Client/Server CTRL+R;

Clicando no cone Run

.

Quando voc termina a sua sesso Runform, voc retorna ao Oracle Forms Builder.

DBC Database Company

22

Produzindo Triggers

EXERCCIOS1. Execute o Oracle Forms Builder. Conecte-se ao banco utilizando o User Name, Password e Database fornecidos pelo instrutor. 2. Crie um mdulo forms, chamado CLIENTES. Nele crie um bloco baseado na tabela CLIENTES, inclua todas as colunas da tabela no bloco. Para o layout use o estilo Form, e mostre somente um registro na tela. 3. Garanta que os registros consultados no bloco CLIENTES, sejam classificados pelo cdigo do cliente. 4. Salve e execute o mdulo CLIENTES, Experimente os efeitos das propriedades que voc definiu. Encerre a sesso Runform e retorne ao Oracle Forms Builder. 5. Feche o mdulo CLIENTES. 6. Crie um novo mdulo form, chamado PEDIDOS. Nele crie um bloco baseado na tabela PEDIDOS, inclua todas as colunas da tabela no bloco. Para o layout, use o estilo form, e mostre somente um registro na tela. 7. Ainda no mdulo PEDIDOS, crie outro bloco baseado na tabela ITENS. Para o layout, utilize o estilo Tabular e na mesma tela, canvas, mostre 4 registros. Mostre uma Scroll Bar. Garanta que os registros correntes no bloco ITENS apaream visualmente diferentes. Crie um atributo visual chamado REGISTRO_CORRENTE, com as seguintes propriedades: Foreground Color : White; Background Color : Darkcyan. 8. Garanta que os registros consultados no bloco ITENS sejam classificados por Numero_do_Item. 9. Defina que a navegao para o bloco ITENS, quando estiver no ltimo item do bloco PEDIDOS, seja automtica. 10. Defina que a navegao para o prximo registro, quando estiver no ltimo item do bloco ITENS, seja automtica. 11. Salve e execute o mdulo PEDIDOS. Experimente os efeitos das propriedades que voc definiu. Encerre a sesso Runform e retorne ao Oracle Forms Builder.

DBC Database Company

23

Oracle Forms Builder 6

5. Relacionamento Entre Blocos

DBC Database Company

Produzindo Triggers

Objetivos Entender o conceito de relao entre blocos. Criar uma relao usando o assistente. Criar uma relao manualmente. Entender as propriedades de uma relao.

DBC Database Company

2

Produzindo Triggers

Conceito de relacionamentoRelacionamento uma relao entre dois blocos atravs de uma chave primria e uma chave estrangeira das tabelas nas quais os blocos esto baseados. O bloco Mestre aquele baseado na tabela que possui a chave primria e o bloco detalhe aquele baseado na tabela que possui a chave estrangeira. O relacionamento Mestre Detalhe equivale a um relacionamento 1:M no diagrama ER. Um bloco detalhe pode ser um bloco mestre em relao a outro bloco. Um bloco mestre pode ter mais de um bloco detalhe.

DBC Database Company

3

Produzindo Triggers

Criando um relacionamento entre dois blocosExistem duas formas de criar-se relacionamentos: Automtica: Usando o Data Block Wizard. Manual: Especificando manualmente o relacionamento.

Passos para a criao de uma relao manual1. Selecione a entrada Relations do bloco Mestre, no Object Navigator.

2. 3. 4.

Clique no cone Create . Ser mostrada a janela New Relations. Especifique o nome do bloco Detalhe.

5.

Escolha a propriedade de deleo.

6.

Escolha a propriedade de coordenao.

7.

Especifique a condio de Join.

DBC Database Company

4

Produzindo Triggers

Construindo um relacionamento automaticamente Crie o bloco mestre; Crie o bloco detalhe setando as opes de relacionamento: 1. Clique no boto Create Relationship; 2. Ao mostrar lista de blocos criados selecione o bloco mestre; 3. Se necessrio corrija a condio de join.

DBC Database Company

5

Produzindo Triggers

Opes do Assistente:OpoCreate Relationship Button Delete Relationship Button Auto-join data blocks Check Box Detail Item List

Descrio Motra a lista de blocos criados no modulo para selecionar o bloco mestre do relacionamento. Deleta o relacionamento selecionado.Cria automticamente a relao de join. Lista de items do bloco detalhe para o join com items do bloco mestre. Lista de items do bloco mestre para o join com items do bloco detalhe.

Master Item List

DBC Database Company

6

Produzindo Triggers

Executando um mdulo form mestre detalheCaractersticas de execuo Consultando o bloco mestre, automaticamente so consultados os registros correspondentes no bloco detalhe. Inserindo um registro no bloco detalhe automaticamente, ele estar associado ao registro mestre corrente. A tentativa de deleo de um registro mestre impedida caso um registro detalhe associado exista. As caractersticas de um relacionamento mestre detalhe podem ser alteradas atravs das propriedades de uma relao (Relations) que sero vistas em captulos seguintes.

DBC Database Company

7

Produzindo Triggers

Propriedades de relacionamentoVoc pode alterar as propriedades de uma relao de maneira a afetar o comportamento das delees e das coordenaes de consultas.

Master DeletesPropriedadeNon Isolated Cascading

UsoPrevine a deleo do registro do bloco mestre quando registros detalhes para esse mestre existem. Deleta os registros detalhes em cascata quando o registro mestre deletado. Obs.: a mensagem de Commit mostra somente o nmero de registros deletados do bloco mestre, embora os registros detalhe tambm sejam deletados. Deleta somente o registro mestre.

Isolated

Coordenao de consultasPropriedadeDefault Deferred with Auto Query

UsoFora a coordenao dos blocos de maneira a sempre que o registro mestre for trocado os correspondentes registros detalhes sero apresentados. Adia a consulta dos registros detalhes associados ao registro mestre de maneira que eles sejam consultados automaticamente no momento em que o cursor se posicionar no bloco detalhe.

Deferred without Auto Adia a consulta dos registros detalhes associados ao registro mestre de Query maneira que eles sejam consultados no momento em que o cursor se posicionar no bloco detalhe e for executada uma consulta no bloco detalhe. Prevent Masterless Operations Garante que um bloco detalhe no pode ser consultado ou utilizado para insero de registros quando no existe um registro mestre.

Join ConditionPropriedadeCondio de join

UsoCondio de ligao entre blocos. Obs: utilize nomes de blocos e itens ao invs de nomes de tabelas e colunas na expresso de condio.

DBC Database Company

8

Produzindo Triggers

O que acontece quando voc modifica um relacionamento Trocando a propriedade Delete Record Behavior de Non Isolated para Cascading a trigger ON_CHECK_DELETE_MASTER substituida pela trigger PRE_DELETE. Trocando a propriedade Delete Record Behavior de Non Isolated para Isolated a trigger ON_DELETE_MASTER removida.

DBC Database Company

9

Produzindo Triggers

EXERCCIOS1. Abra o mdulo PEDIDOS. No bloco ITENS, crie uma relao com o bloco PEDIDOS, garanta que no seja permitido a excluso de um pedido se houverem itens associados a ele. 2. Invocando o Assistente de Layout, retire da tela o item CODIGO_DO_PEDIDO do bloco ITENS. 3. Salve e execute o mdulo. Teste as propriedades da relao. 4. Crie um bloco baseado na tabela ESTOQUES, aproveitando o assistente, crie uma relao do bloco ITENS, que ser o mestre da relao. Este bloco deve ser o ltimo bloco navegvel. 5. Diferencie os registros correntes deste bloco associando a ele o atributo visual REGISTRO_CORRENTE. 6. Defina que a navegao para o prximo registro, quando estiver no ltimo item do bloco ESTOQUE, seja automtica. 7. Garanta que seja possvel deletar um item, se houverem registros no bloco ESTOQUE. 8. Defina a coordenao de maneira que o bloco ESTOQUE no seja consultado at que voc efetue explicitamente uma consulta no bloco. 9. Salve e execute o mdulo PEDIDOS. Experimente os efeitos das propriedades que voc definiu. 10. Encerre a sesso Runform e retorne ao Oracle Forms Builder.

DBC Database Company

10

Oracle Forms Builder 6

6. Frames

DBC Database Company

Produzindo Triggers

Objetivos Entender o conceito de frame. Modificar a aparncia de itens de bloco, no canvas, utilizando frame.

DBC Database Company

2

Produzindo Triggers

Conceito de frameFrame o dono logico de um grupo de items do bloco, no canvas, onde pode-se referenciar os items deste bloco diretamente pelo frame, podendo assim dimenciona-los, e preenche-los automaticamente na rea do mesmo. Tambm possvel setar algumas propriedades comuns nos itens do mesmo, pelo frame.

DBC Database Company

3

Produzindo Triggers

Reorganizando os itens dimencionando o frameVoc pode reorganizar os itens do canvas englobados pelo frame, dimencionando o mesmo no canvas.

DBC Database Company

4

Produzindo Triggers

Propriedades de um framePropriedadeName Layout Data Block Update Layout

DescrioNome do frame. Bloco com o qual o frame est associado. Forma de controle do frame com os itens englobados por ele: Automatically : Dimenciona e controla os itens automaticamente, ao setar propriedades no frame, repassado aos itens e bloco; Manually : O frame passa a no mais fazer efeito nos respectivos itens e bloco, mas o Layout Wizard consegue alter-lo; Locked : O frame passa a no mais fazer efeito nos respectivos itens e bloco, e o Layout Wizard no consegue alter-lo. Estilo de Layout: Form : Label esquerda do item; Tabular : Label cima do item. Alinhamento dos objetos no frame Start : Incio; End : Fim; Center : Centro; Fill : Ajusta preenchendo o espao; Column : Alinha os objetos na mesma coluna. Alinhamento quando o frame possuir um s objeto e a propriedade Frame Alignment for Fill. Especifica a margem horizontal e vertical dos objetos do frame. Especifica a distncia horizontal e vertical entre os objetos dentro do frame.

Layout Style Frame Alignment

Single Object Alignment Hirizontal e Verital Margin Hirizontal e Verital Object Offset Allow Expansion

Habilita expandir a borda do frame quando algum item, ao ser redimensionado, passar da borda do frame Shrinkwrap Redimenciona o frame para eliminar os espaos vazios entre as margens e as bordas do frame. Vertical Fill Fora os objetos a ajustarem-se de forma a preencher o mximo possvel da linha. Maximum Objects per Determina o nmero mximo de objetos por linha, faz efeito se a propriedade Line Vertical Fill for No.

DBC Database Company

5

Produzindo Triggers

Continuao...PropriedadeStart prompt Alignment Start prompt Offset Top Prompt Alignment Top prompt Offset Allow Start-Attached Prompts Frame Title Frame Title Alignment Frame Title Offset Frame Title Spacing Number of Records Displayed Distance Between Records Show Scroll Bar Scroll Bar Alignment Scroll Bar Width X e Y Position Width Height Line Width Dash Style Bevel

DescrioAlinhamento do label em relao ao item. Distncia horizontal do label ao item. Alinhamento do label em relao ao item, quando o label posiciona-se cima do item(estilo tabular). Distncia vertical do label ao item. Permite otimizar o prompt, quando o Form Styte for Tabular, permite reorganiz-lo para, se houver espao, mover ao lado do item. Descrio do label ttulo do frame. Alinhamento do ttulo do frame. Margem distncia do ttulo do frame. Espao entre a borda do frame e o ttulo. Nmero de registros serem mostrados no bloco. Distncia entre os registros. Habilita a barra de rolagem para os registros. Especifica a posio da Scroll Bar em relao aos itens. Especifica a largura da Scroll Bar. Posio, nas coordenadas X e Y, do frame em relao ao canvas. Largura do frame. Altura do frame. Espessura da linha (borda) do frame. Estilo do tracejado da linha. Representao de salincia e depresso da linha.

DBC Database Company

6

Produzindo Triggers

Tela de propriedades de um frame

DBC Database Company

7

Oracle Forms Builder 6

7. Itens tipo Texto

DBC Database Company

Produzindo Triggers

Objetivos Criar um item tipo texto. Controlar os dados em itens tipo texto. Alterar as propriedades de navegao de um item tipo texto. Incrementar o relacionamento entre um item tipo texto e o Banco de dados. Adicionar funcionalidade a um item tipo texto. Incluir mensagens de ajuda. Incluir Helps tipo ToolTip.

DBC Database Company

2

Produzindo Triggers

Conceito de itens tipo texto (Text Item)Text item ou item tipo texto so itens de interface, atravs dos quais voc pode consultar, inserir, atualizar e deletar dados. Um item tipo texto corresponde a uma coluna de uma tabela. O tipo de item determina as propriedades disponveis no Property Palette. Neste captulo sero vistas as propriedades relativas a um item tipo texto (Text Item).

DBC Database Company

3

Produzindo Triggers

Criando um item tipo texto (Text Item)Voc pode criar um item do tipo texto de 4 formas: Convertendo um item j existente para Text Item Usando o cone Text Item do Toolbar no layout editor. Usando o cone Create no Object Navigator. Criando um novo bloco Base Table, usando o wizard e selecionando a opo para layout, os respectivos Text Itens sero criados implicitamente.

Passos para a criao de um Text Item no Layout Editor1. 2. 3. 4. 5. Entre no Layout Editor. Selecione Tools -> Layout Editor F2. Clique no cone Text Item no Toolbar do Layout Editor. Clique no Canvas, e o Text Item deve aparecer. D um duplo clique no Text Item, e o Property Palette deve aparecer. Defina as propriedades conforme sua necessidade.

DBC Database Company

4

Produzindo Triggers

Propriedades de um text itemPropriedadeItem Type Canvas Visible X e Y Position Width Heigth Distance Between Records Bevel

DescrioDefine o tipo de item que voc deseja criar. Determina em qual canvas o item dever ser mostrado. Determina se o item deve ou no ser mostrado. Define as coordenadas dos eixos X e Y relativa ao canvas definido. Define a largura do item. Define a altura do item. Define a quantidade de espaos entre registros. Define a aparncia da borda do item: Depresso, salincia e efeito de foco. None: o item no possui borda. Conserva os recursos do sistema. Quando um item Rendered no o foco, os recursos utilizados para mostr-lo, so liberados.

Rendered

DBC Database Company

5

Produzindo Triggers

Continuao...Propriedade Descrio

Visual Atribute Group Especifica o nome de um atributo visual previamente definido. Font Name Font Size Font Style Font Spacing Font Weight Foreground Color Background Color Fill Pattern Character mode Logical Attribute White on Black Especifica o tipo de fonte Especifica o tamanho do fonte em pontos. Especifica o estilo do fonte. Especifica a largura do fonte. Especifica o peso da luminosidade do fonte. Especifica a cor de primeiro plano do item. Especifica a cor de fundo do item. Especifica o padro de preenchimento para o item. Especifica o nome do arquivo de recursos Oracle Terminal, que seta os atributos quando executado em modo caracter. Especifica se o item deve ser mostrado de cor branca em fundo preto (em dispositivos monocromticos).

Current Record Visual Especifica o nome de um atributo visual, previamente definido, para utilizar Attribute Group no item quando for o registro corrente. Number of Itens Displayed Define o nmero de ocorrncias de um item.

DBC Database Company

6

Produzindo Triggers

Alterando cores e fontesUtilize a propriedade Visual Attribute Group para definir cores e fontes para um item texto. O atributo visual um conjunto de propriedades que podem ser aplicadas a um objeto do Oracle Forms. Existem dois tipos diferentes de atributos visuais. Tipos de Atributos VisuaisDefault Named

UsoAtributo visual default. Utiliza definies default, podendo setar algumas propriedades do Windows. Especifica o nome de um atributo visual, pr-definido, que pode ser utilizado por vrios objetos.

DBC Database Company

7

Produzindo Triggers

Controlando os dados em um text itemUtilize as seguintes propriedades de dados de um Text Item para controlar o modo como os dados sero mostrados e inseridos: Data Properties Descrio

Synchronize with Item Especifica o nome de um item a partir do qual este item copia seu valor. Esta propriedade significa que voc pode ter dois itens em um bloco que simultaneamente representam o mesmo valor. Data Type Maximum Length Fixed Length Determina o tipo de dado Oracle permitido como entrada para este item. Define o nmero mximo de caracteres permitidos para este item. Geralmente corresponde a largura da coluna da tabela base. Especifica se o usurio necessita preencher o item completamente antes de poder se