Pular para o conteúdo

Criando uma aplicação Forms – Parte I

Criando uma aplicação Forms – Parte I

Devido a pedidos, decidi reciclar a minha série de artigos sobre Oracle Developer. Escolhi a versão 6i pelo fato de que o modo client é muito parecido com a das versões anteriores (4.5 e 5.0) em sua essência.

Apesar da tendência em migrar para sistemas baseados na Web, ainda existe um ecossistema gigantesco rodando através das janelas do Forms e Report Builder. Infelizmente, pouco material prático é encontrado sobre como programar nessas versões, portanto, aqui estou eu para ajudá-los nessa tarefa.

Início

Primeiramente, execute o Forms Builder em Oracle Developer Suite>>Forms Developer>>Forms Builder

Criando uma aplicação Forms

Eu não vou dar moleza ! Vamos criar uma aplicação do zero,na mão e sem Wizard. Apesar de ser mais trabalhoso, tenho certeza de que assim será mais fácil para fixação do aprendizado.

Criando objetos para aplicação no seu schema 

Rode o script abaixo:

create table empresa (
empr_codigo number(03) not null,
empr_razao_social varchar2(500) not null,
empr_nome_fantasia varchar2(500) not null,
empr_cnpj number(14) not null,
empr_insc_estadual varchar2(14) ,
empr_status varchar2(01) not null)
/

alter table empresa add constraint empr_pk primary key(empr_codigo)
/

Essa será a primeira tabela de nossa aplicação. Não se esqueça que este não é um artigo isolado, e sim um de uma série. Todos os que serão escritos posteriormente serão baseados nesse.

Estrutura Básica

Antes de começarmos, devemos entender a estrutura que o Forms utiliza para a criação de uma aplicação. Basicamente podemos dividir em:

CANVAS – É o formulário que conterá os objetos;

WINDOW – É a janela onde o formulário será exibido;

DATA BLOCK – É o bloco onde ficarão os ítens de dados a serem manipulados (Pode estar ou não atrelado a uma tabela do banco de dados);

ITEM – É a menor estrutura de manipulação de dados (Pode estar ou não atrelado a um campo da tabela do banco de dados).

Estes são os 4 ítens básicos para criação de uma aplicação, mas xistem outras partes como TRIGGERS,LOV´S, PROGRAM UNIT,RECORD GROUP,LIBRARIES, etc. Elas serão citadas nos próximos artigos.

CRIANDO A ESTRUTURA

Agora vem o que todos estavam esperando, a criação de uma aplicação. Primeiramente vamos fazer a conexão com o banco de dados, para isso acesse File>>Connect ou pressione CTR+J e a tela de login aparecerá.

MODULES

Vamos iniciar preenchendo as informações básicas do módulo. Para isso clique com o botão direito no módulo e escolha Property Palette, ou simplesmente clique no módulo e pressione F4. Você verá que uma janela com uma série de parâmetros será aberta.

02 moduleproperty

 

Não vou falar de todos os atributos, apenas das principais para rodarmos a nossa aplicação. Preencha com as infomações em parênteses.

Name (EMPRESA)

É o nome que daremos ao nosso módulo;

Title (Cadastro de Empresas)

É o título do nosso módulo;

Console Window (Deixe o nome default)

É onde definimos o WINDOW principal da aplicação.;

First Navigation Data Block (Quando criarmos o DATA_BLOCK, ele aparecerá na lista)

Ele dá o foco no bloco escolhido. Importante quando se possui vários blocos em uma mesma aplicação.

DATA BLOCKS 

Vamos criar o nosso DATA BLOCK, para isso basta dar o duplo clique na opção Data Blocks, que uma janela aparecerá:

03 blockchoice

 

Escolha a opção “Build a new data block manually”, pois como eu disse, criaremos tudo MANUALMENTE. Quem quiser testar o Data Block Wizard verá que ele é super prático.

Agora vamos acessar as Properties do bloco. Clique em F4 e preencha de acordo com o definido abaixo:

04 blockproperties

 

Em Generals preencha:

Name (BLK_EMPRESA)

Nome do bloco de dados;

Comments (Bloco com as informações da tabela empresa)

Comentários sobre o bloco.

Em Database preencha:

Database Data Block (Yes)

Ao deixá-lo como SIM, o forms interpreta que o bloco está ligado a uma tabela do banco de dados. É o que chamamos de bloco Base Table.

Enforce Primary Key (Yes)

Esta opção faz a validação da chave primária da tabela. Isso é importante para evitar que as validações de registros duplicados sejam feitas no banco de dados, e passem a ser feitas no cliente;

Query Allowed, Insert Allowed, Update Allowed e Delete Allowed (Yes)

Permite que sejam feitas pesquisas, inserções, alterações e exclusões respectivamente no banco de dados através do bloco, mas apenas na tabela que está atrelada ao mesmo.

Query Data Source Name (EMPRESA)

Aqui você especificará o nome da tabela do banco de dados que estará atrelada ao bloco.

Nota: Quando temos uma tabela atrelada ao bloco, o forms a utiliza acessando diretamente o banco de dados. Toda vez que um registro é exibido no formulário a linha correspondente na tabela sofre um row lock.

ITEM

Agora vamos definir todos os ítens do bloco. Como o nosso bloco é base table, vamos criar as colunas da tabela EMPRESA. Para isso dê um duplo clique em Items.

05 itemproperty

 

Em General preencha:

Name (CODIGO)

Nome do campo. Não necessariamente o mesmo nome da coluna na tabela.

Em Data preencha:

Data Type (Number)

É o tipo de dado que o ítem receberá;

Maximum Lenght (3)

Tamanho máximo do ítem. De preferência deve ser do mesmo tamanho da coluna referente na tabela;

Required (Yes)

Faz com que o ítem seja de preenchimento obrigatório para gravação.

Em Database preencha:

Database Item (Yes)

Diz que este ítem é ligado a coluna de uma tabela no banco de dados;

Column Name (EMPR_CODIGO)

Nome da coluna na tabela. Lembre-se que a tabela foi definida no bloco;

Primary Key (Yes)

Se o ítem for referenciado a uma coluna primary key, deve ser sempre setado como SIM;

Update e Insert Allowed (Yes)

Permite a alteração de dados deste campo e também que um novo registro seja criado quando o foco estiver neste ítem em específico.

Faça este mesmo procedimento para o restante das colunas.

CANVAS

Agora é hora de criar o formulário onde os ítens serão exibidos. Para isso dê um duplo clique em Canvases. Ao criar o CANVAS, clique em F4 para abrir as propriedades.

06 canvasproperty

Em General preencha:

Name (CNV_EMPRESAS)

Nome do formulário;

Em Functional preencha:

Window (Deixe a WINDOW default)

Nome da WINDOW a qual o CANVAS está atrelado.

Width (540)

Comprimento do Canvas;

Heigth (324)

Altura do Canvas.

WINDOW

Vamos aproveitar a WINDOW default e utilizá-la. Clique nela e pressione F4 para acessar as propriedades da janela.

07 windowproperty

 

Em General preencha:

Name (WDW_EMPRESA)

Nome da janela.

Em Functional preencha:

Title (Cadastro de Empresas)

Título da janela;

Primary Canvas (CNV_EMPRESAS)

Nome do CANVAS principal;

CRIANDO A APLICAÇÃO

Com o CANVAS, DATA BLOCK, ITEM e WINDOW criados, agora é hora de montarmos este quebra cabeça.

Primeiramente vamos colocar os ítens do DATA BLOCK dentro do formulário. Para isso acesse a propriedade do ITEM e em Physical preencha o parâmetro Canvas com o nome do CANVAS principal.

Aí você pensa “Tenho que fazer isso um por um…”. Claro que não !

Basta apenas segurar a tecla Shift e selecionar todos os itens que estarão no mesmo formulário e depois clicar em F4 e alterar o parâmetros. Fácil não ?

08 itemproperty2

Agora dê um duplo clique no seu formulário (CNV_EMPRESAS) e veja que todos os campos estão lá, só que um em cima do outro.

Posicione-os de acordo no layout, e agora vamos criar uma descrição para cada um. Observe que no lado esquerdo há uma toolbar, clique na opção Text que é representado por um “A” e escreva o título dos ítens.

09 formstoolbar

 

Dica: Quando for utilizar várias vezes uma mesma opção da Tool, dê um duplo clique e ela ficará ativa para a criação de vários objetos. Para liberá-la, basta clicar mais uma vez.

Pronto !!! Agora que está pronto, clique em CTRL+R para executar o Forms !!!

Não rodou…ops !!! Esquecemos de algo….Esquecemos de ativar o OC4J ! Mas o que é OC4J ?

Ele é container para implementação J2EE da Oracle e acompanha:

  • Web Container;
  • JMS Server;
  • Enterprise Java Bean Container.

Como uma aplicação baseada em Web e JAVA, o Forms necessita de um container para ser executado. Execute o OC4J através do caminho abaixo:

10 oc4j

O resultado deverá ser este:

11 oc4j2

Agora voltemos novamente ao Forms build, e executemos a aplicação usando CTRL+R.

O browser irá se abrir e solicitará a permissão para instalar um controle Active X, faça a liberação e será instalado o JInitiator. Mas o que é JInitiator ?

12 jinitiator

Ele é uma JVM feita pela Oracle que permite que aplicações Forms rodem na Web através de um applet. Faça a instalação.

Após ela ser completada….

13 forms

Congratulações !!! A sua aplicação Forms está pronta !

Por enquanto é isso pessoal, no próximo artigo exploraremos mais opções do forms para criação de uma aplicação mais elaborada.

Dúvidas podem ser enviadas para willians@profissionaloracle.com.br

Abraço

Sergio Willians

Sergio Willians

Sergio Willians é o fundador do GPO (Grupo de Profissionais Oracle) e possui quase 30 anos de experiência em tecnologias Oracle, sendo especialista em desenvolvimento Forms/Reports, PL/SQL e EBS (E-Business Suite) nos módulos Receivables, Payables e General Ledger. Atualmente trabalha na Scania Latin America, onde se dedica à área de integração de dados com Confluent Kafka. Sua paixão é compartilhar conhecimento com a comunidade Oracle, contribuindo para o crescimento e a excelência da plataforma.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress