Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RSS iMasters

[Resolvido] Criando uma primeira aplicação em APEX ? Parte 02

Recommended Posts

Olá, pessoal! Hoje hoje vamos ajustar os detalhes da nossa primeira aplicação que iniciamos no artigo anterior. Nele utilizamos o wizard para criar nossa primeira aplicação. O Wizard de criação de aplicação é muito fácil e rápido de utilizar, mas alguns detalhes devem ser ajustados.

 

No momento da criação das páginas, o APEX identifica os tipos do dado dos campos e automaticamente alinha os campos númericos a esquerda e alfanúmericos a direita, além de criar o campo do tipo DATE como DATE PICKER, que já vem automaticamente com um calendário associado.

 

Vamos alterar o título da janela e do breadcrumb das páginas. E vamos também alterar os títulos das colunas da lista e o tipo de alguns campos na página de cadastro.

 

48430.png

 

Quando uma página é executada a partir do ambiente de desenvolvimento APEX, uma barra de ferramentas é mostrada embaixo da tela. Para editar a página, clique no botão ?Editar Página 1?, conforme marcado acima.

 

 

BREADCRUMB

O BREADCRUMB é um visualizador hierarquíco de navegação. Ou seja, ele monta uma espécie de árvore que demonstra o caminho das páginas pai, conforme o usuário vai navegando na aplicação. Vamos efetuar as alterações na página. Para isso, dê um duplo clique no nome do BREADCRUMB, conforme demarcado abaixo:

 

48431.png

 

Selecione a entrada do BREADCRUMB, chamado LST_FUNCIONARIO, referente a página:

 

48433.png

 

Altere a propriedade ?SHORT NAME?, que esta na seção ?ENTRY?, para ?Listagem de Funcionários?:

 

48435.png

 

Salve as alterações efetuadas.

 

Faça as mesmas alterações no BREADCRUMB da página FRM_USUARIO. Altere a propriedade ?SHORT NAME? de FRM_FUNCIONARIOS para ?Cadastro de Funcionários?.

 

 

Título da página

Precisamos também alterar o título da página, pois ao criarmos a página pelo wizard, este colocou o título com o mesmo nome da aplicação. Dê um duplo clique no nome da página para altera-lá:

 

48437.png

 

Altere a propriedade ?TITLE? que esta na seção ?DISPLAY ATTRIBUTES? para ?Listagem de Funcionários?.

 

48439.png

 

Salve as alterações efetuadas.

 

Faça as mesmas alterações no título da página FRM_USUARIO. Altere a propriedade ?TITLE? de FRM_FUNCIONARIOS para ?Cadastro de Funcionários?.

 

 

Títulos dos campos da página de listagem

Para alterar os títulos dos campos da lista, dê um duplo clique na região da lista, conforme indicado abaixo:

 

48441.png

 

Para tratar a descrição dos campos ?SEXO? e ?TIPO_CONTRATACAO?, vamos alterar a query criada pelo Wizard. Na seção ?SOURCE,? substítua a query existente pela abaixo:

 

select "MATRICULA",

"NOME",

"DT_NASCIMENTO",

"DT_ADMISSAO",

DECODE(SEXO,'F','Feminino','M','Masculino') "SEXO",

"SALARIO",

DECODE(TIPO_CONTRATACAO,'CLT','Funcionário','PJ','Terceiro') "TIPO_CONTRATACAO"

from "TB_FUNCIONARIO"Existe outra forma mais estruturda de fazer este DE-PARA para a descrição das colunas, mas isso é tema para outro artigo. Na edição da região da lista, selecione a aba ?REPORT ATTRIBUTES,? que contêm as propriedades das colunas da lista, conforme abaixo:

 

48442.png

 

Todas as propriedades referente a lista estão na aba ?REPORT ATTRIBUTES?. Nela pode ser definido, por exemplo, o título das colunas da lista, formas de agrupamento da exibição dos dados na lista, paginação da lista, ordenação padrão, ativar/desativar recursos da barra de pesquisa, configurar opções de download da lista e muitos outros.

 

Na seção ?COLUMN ATTRIBUTES?, pode-se alterar os títulos das colunas da lista.

 

48444.png

 

Vamos aproveitar que estamos editando a lista e vamos determinar os ícones que indicam a ordem dos registros nela. Pode-se utilizar vários ícones em diversas combinações para identificar a ordenação crescente e decrescente. Inicialmente, vamos optar por uma configuração que já existe no APEX, clique na opção ?SET DEFAULT?, conforme abaixo:

 

48446.png

 

Salve as alterações efetuadas.

 

 

Alterando o título da região da página de cadastro

Vamos alterar o título da região do formulário de cadastro de funcionários. Dê um duplo clique no nome da região FRM_FUNCIONARIO, conforme indicado abaixo, e altere a propriedade ?TITLE?, da seção ?IDENTIFICATION?, para ?Cadastro de Funcionários?.

 

48448.png

 

 

Alterando os campos da página de cadastro

Quando criamos a página de cadastro de funcionários pelo wizard, o APEX criou todos os campos do formulário como TEXT. Neste momento, vamos alterar os campos colocando os tipos mais adequados para cada um.

 

Por convensão, os nomes do campos são criados utilizando P[número da página]_[identificação do campo], ou seja: P2_NOME. E ele se refere ao campo da página 2 do nome do funcionário. Isso além de fácilitar a identificação de qual página é o campo, também faz com que cada campo tenha um código único por toda a aplicação.

 

 

 

Campo matrícula

Quando foi a página foi criada pelo Wizard, o campo Matrícula foi identificado como chave primária. Assim, o APEX automaticamente endenteu que essa chave seria populada internamente pela aplicação e não pelo usuário. Vamos incrementar um pouco nossa aplicação. Altere o campo tipo do campo matrícula de ?HIDDEN? para ?TEXTFIELD?.

 

48450.png

 

O campo matrícula deve ser preenchido apenas no momento que o usuário estiver inserindo um novo registro, e não quando estiver efetuando uma alteração. Para isso, devemos alterar a propriedade ?Read Only Condition Type? e determinar que o campo não poderá ser alterado quando houver valor nele:

 

48452.png

 

 

Campos data nascimento e data admissão

Entre na edição das propriedades dos campos P2_DT_NASCIMENTO e P2_DT_ADMISSAO; altere suas descrições para ?Data Nascimento? e ?Data Admissão? na propriedade ?LABEL? da seção ?LABEL?:

 

48454.png

 

 

Campo nome

Entre na edição das propriedades do campo P2_NOME e altere seu tamanho de exibição para 40 caracteres no campo ?WITH? da seção ?DISPLAYED?:

 

48456.png

 

 

Campo salário

Aplicaremos uma formatação mais adquada para o campo P2_SALARIO. Altere o campo ?FORMAT MASK?, da seção ?SETTINGS?. Você pode escolher a formatação que mais lhe agrada clicando no botão indicado abaixo:

 

48458.png

 

A formatação que iremos utilizar em nosso exemplo é ?FML999G999G999G999G990D00?.

 

 

Campo sexo

No campo P2_SEXO, altere a propriedade ?DISPLAY AS? da seção ?NAME? para ?RADIO GROUP?.

 

48460.png

 

Existem diversos tipos que podem ser utilizados, desde os mais simples TEXT, RADIO GROUP, HIDDEN do HTML, até mesmo campos especificos do APEX, que contêm valiações e funcionalidades embutidas. Em uma outra oportunidade falaremos de todos os tipos de campos existentes e suas funcionalidades.

 

Uma lista de valores pode ser populada pelo resultado de uma query ou com valores fixos. No nosso exemplo vamos utilizar valores fixos.

 

Altere a propriedade ?LIST OF VALUES DEFINITION? da seção ?LIST OF VALUES? e insira o seguinte comando: STATIC:Masculino;M,Feminino;F.

 

48462.png

 

Também é possível criar uma LOV na seção de componentes compartilhados e utilizá-la em vários campos.

 

 

Campo tipo de contratação

No campo P2_TIPO_CONTRATACAO, altere a propriedade ?DISPLAY AS?, da seção ?NAME?, para ?SELECT LIST?:

 

48464.png

 

Altere a propriedade ?LIST OF VALUES DEFINITION?, da seção ?LIST OF VALUES?. Insira o seguinte comando: STATIC:Funcionário;CLT,Terceiro;PJ.

 

48466.png

 

Altere também a opção ?VALUE REQUIRED?, da seção ?SETTINGS?, para ?YES? em todos os campos. Isso fará com que, ao submeter a tela, seja verificado se os campos estão preenchidos:

 

48468.png

 

 

Criando validações

Como a matrícula será informada manualmente pelo usuário, vamos criar uma validação para verificar se a matricula informada já está sendo utilizada por algum outro funcionário.

 

Clique com o botão direito sobre o campo que será criado a validação e escolha a opção ?CREATE VALIDATION?:

 

48470.png

 

Será aberto uma tela com o Wizard para criar a validação. A primeira etapa é informar o nome e a sequência de execução da validação, caso existam outras para o campo. Vamos colocar o nome dessa validação como VDT_MATRICULA_EXISTS.

 

A propriedade ?Error Display Location? determina como será exibida a mensagem de erro. Vamos utilizar a opção ?On error page?.

 

48472.png

 

Neste momento, vamos selecionar como será verificada a condição de validação do campo. Podemos utilizar várias formas de validações; desde uma simples verificação se o campo é nulo, passando por comparações e expressões regulares sobre strings e comandos PL/Sql. Como será necessário verificar se existem outros funcionáros que já possuem o código da matrícula, o tipo de validação mais apropriado será o PL/SQL.

 

48474.png

 

Nesta etapa, deve-se escolher qual tipo de comando será retornado em caso de restrição no momento da validação. Pode-se incluir apenas a expressão da validação que o APEX resolve o retorno. Retornar um raise, um valor booleano (no caso FALSE), ou então um texto. Vamos optar por retornar um texto com o nome do funcionário que tem a matrícula associada. Escolha a opção ?Function Returning Error Text?.

 

48476.png

 

Veja acima que existem exemplos de como utilizar as validações.

 

Nesta etapa, deve-se informar o comando PL/SQL. Utilizaremos um bloco anônimo para efetuar a rotina de validação:

 

declare

recFuncionarios tb_funcionario%rowtype;

begin

 

select *

into recFuncionarios

from tb_funcionario f

where f.matricula = :p2_matricula;

 

return 'O código da matrícula '||:p2_matricula||' informado já está sendo utilizado para o funcionário '||recFuncionarios.nome;

 

exception when no_data_found then

return null;

end;Coloque a rotina acima na propriedade ?Validation Code?.

 

48478.png

 

Na propriedade ?Error Message?, coloque o valor ?Error?, que indica que a mensagem de erro virá da rotina de validação. Pode-se utilizar outros tipos de identificadores na mensagem de erro, como por exemplo #LABEL#, que retorna a descrição do campo que está sendo validado.

 

A propriedade ?Always Execute? determina se a validação vai ser executada sempre, independente do botão clicado. Vamos atribuir o valor ?NO? para ela.

 

Clique no botão ?CREATE VALIDATION?. Dê um duplo clique no nome da validação criada e modifique a propriedade ?WHEN BUTTON PRESSED? selecionado o botão ?CREATE?; isso faz com que apenas quando clicar o botão ?CREATE? a validação será executada.

 

48480.png

 

Para concluir, execute a aplicação criando um registro com um código de matrícula já existente:

 

48482.png

 

 

Pessoal, para esse artigo é só. Claro que existem outras funcionalidades e recursos que podemos implementar nesta aplicação, mas o objetivo principal do artigo, que é demonstrar quão rápido e fácil é desenvolver com APEX, foi alcançado. É possível acessar a aplicação demo utilizando o link abaixo: http://apex.oracle.com/pls/apex/f?p=30361

 

 

 

  • Usuário: DEMO
  • Senha: imasters

 

http://imasters.com.br/artigo/24962/oracle/criando-uma-primeira-aplicacao-em-apex-parte-02

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.