APEX – Oracle RAD for Web – Lookup Table with Select List – Parte Final – Linux

Publicado: 23 de outubro de 2014 em Linux, Sql

Em ciência da computação, um lookup é uma matriz que substitui um campo identificador de uma tabela pela sua descrição somente em tempo de execução do programa, entretanto para a camada de negocio interna os dados continuam sendo manipulados pelo seu identificador, este é um recurso muito útil para manipular tabelas que possuem uma chave estrangeira tornado possível que esta tabela seja referenciada por sua descrição mas retornando o seu identificador para a tabela que a referenciou.

Está é a parte final do tutorial básico Oracle Application Express utilizando o Oracle Database, caso queira saber mais sobre o Oracle Application Express entre em contato conosco através do menu Contato deste blog.

Alterando um Relatório e um Formulário para Adicionar um Campo Lookup

1 – Vamos adicionar um nova tabela chamada categoria que será referenciada a tabela de funcionário, utilize os scripts abaixo:

SQL Command

SQL Command

2 – No Application Builder edite o seu relatório utilizando o botão direito e escolhendo a opção Edit:

Editar Relatório

Editar Relatório

3 – Na opção Source, modifique a instrução SQL adicionando o campo que você deseja inserir:

Edita SQL

Edita SQL

4 – Ao aplicar as mudanças você será avisado que as modificações não serão aplicadas automaticamente a este relatório, clique em aplicar as mudanças:

Aviso de Mudança

Aviso de Mudança

5 – Execute o relatório e na opção Actions, escolha Select Columns e adicione a nova coluna ao relatório:

Selecionando Colunas

Selecionando Colunas

6 – Você pode conferir que a nova coluna já foi inclusa no relatório e possui valores nulos:

Nova Coluna

Nova Coluna

7 – Volte a pagina inicial da sua aplicação, escolha o formulário para ser editado e nos itens do formulário com o botão direto do mouse clique em Create Page Item:

Itens do Formulário

Itens do Formulário

8 – Na criação do novo item escolha Select List:

Select List

Select List

9 – Insira o nome para seu novo campo e clique em próximo:

Nome do Campo e Ordem no Form

Nome do Campo e Ordem no Form

10 – Adicione o rotulo para seu campo, este rotulo irá aparecer no formulário:

Label

Label

11 – Na configuração do item, deixe os padrões e clique em próximo:

Configuração

Configuração

12 – Na lista de valores, role a pagina até o final e clique em e criar um Dynamic LOV, uma assistente para criação do LOV será aberto em uma nova janela, quando você terminar a criação do LOV sua tela será alimentada com um código SQL como da figura abaixo:

Lista de Valores - Dynamic LOV

Lista de Valores – Dynamic LOV

13 – No assistente de criação do LOV escolha o esquema para seu workspace:

LOV - Esquema

LOV – Esquema

14 – Escolha a tabela para efetuar o lookup:

Tabela para Lookup

Tabela para Lookup

15 – Crie o Lookup, escolhendo a descrição que será mostrada e o identificador que será gravado:

Campos Lookup

Campos Lookup

16 – O assiste criará o código SQL para seu lookup, clique em Finish e você retornará ao assistente de mudança do formulário e o código SQL será atribuído a sua configuração da lista, clique em próximo para passar para a ultima etapa do assistente:

Lookup SQL

Lookup SQL

17 – Está é a ultima etapa e importante configuração para que seu formulário funcione corretamente, em Origem utilize a opção “Sempre,  substituindo qualquer valor existente em estado de sessão”, em Tipo de Origem escolha “Coluna do Banco de Dados” e insira o nome da coluna no qual será conectada a tabela do formulário:

Cria Item

Cria Item

18 – Rode sua aplicação, teste seu formulário e seu relatório. O seu formulário agora possui um campo lookup na tabela de funcionários sendo referenciado a tabela de categorias:

Lookup - Select List

Lookup – Select List

11 – Assim que utilizar a descrição do campo de categorias o lookup será executado retornando o campo do identificador para ser gravado em sua tabela, assim como você pode ver no relatório:

Relatório - ID Categoria

Relatório – ID Categoria

Terminamos este tutorial e agora você já sabe como criar uma aplicação básica para web utilizando o Oracle Apex e o banco de dados Oracle, está é uma das melhores ferramentas para escrever aplicações web com banco dados, no qual se obtém velocidade de desenvolvimento, ótimo desempenho, o melhor acesso a dados sem escrever muito código e além de todos os benefícios que esta completa ferramenta proporciona ainda  é assinada pela Oracle. Não precisa dizer mais nada, não é?

SQL

-- Altera a tabela de funcionario

ALTER TABLE FUNCIONARIOS ADD ID_CATEGORIA NUMBER(5)

-- Cria tabela de categoria
create table CATEGORIA(
  ID_CATEGORIA  NUMBER(5),
  DESCRICAO     VARCHAR2(30),  
  CONSTRAINT    pk_ID_CATEGORIA PRIMARY KEY (ID_CATEGORIA)
  );
 
-- Cria sequencia
CREATE SEQUENCE ID_CATEGORIA_SEQ START WITH 1;
 
-- Cria Trigger
CREATE OR REPLACE trigger BI_CATEGORIA
  before insert on CATEGORIA
  for each row
begin
  if :NEW.ID_CATEGORIA is null then
    select ID_CATEGORIA_SEQ.nextval into :NEW.ID_CATEGORIA from dual;
  end if;
end;

-- Insere dados na categoria
INSERT INTO CATEGORIA VALUES (NULL, 'HARD ROCK');
INSERT INTO CATEGORIA VALUES (NULL, 'GRUNGE');
INSERT INTO CATEGORIA VALUES (NULL, 'ROCK');

 

Publicidade

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s