sexta-feira, 13 de setembro de 2013

P/ programador

Feliz dia do programador.

P.S: Essa não sou eu não... achei essa imagem no google image.

domingo, 1 de setembro de 2013

Inserindo Menu na aplicação

Hoje o post é sobre como criar um menu na aplicação. O objetivo é Criar a árvore do menu, alterar o modelo e aplicar a região. Segue abaixo os passos.

Dentro da sua aplicação, crie uma nova página.


Na lista de opções que o APEX traz escolha a opção Página Global, tudo que conter nesta página será visualizado nas outras, por exemplo o menu, vamos cria-lo e coloca-lo, na coluna 1, nas demais páginas vamos colocar o conteúdo na coluna dois, para que fique ao lado do menu.


O número da página pode ser mantido 0, e em seguida clique em concluir.


Edite a página zero e clique no símbolo de adição no bloco  de regiões.

Escolha a opção de região do tipo árvore.


Só lembrando para quem quiser fazer mais dinâmico deve ter uma tabela (abaixo falo mais sobre isso) .
Etapa de Atributos de Execução: Defina o Título da região, e clique em Próximo.
                            

Etapa de Modelo de Árvore: Define nesta etapa qual o modelo desejado, no repositório só existe os três que aparecem na imagem abaixo. Em seguida clique em próximo.

Etapa de Definição da Tabela. Criei uma tabela para armazenar a código de menu, descrição, código do parente, caso tenha módulos e tenha registros filhos, e a página que deverá abrir. Clique em próximo.
                          

TABELA CRIADA:
                         

Etapa de Consulta: Defina nas opções do menu conforme as colunas da tabela criada que contém as informações (veja na imagem a seguir). Clique em próximo. 



Etapa de Where e Order by: Caso tenha alguma cláusula de restrição ou ordenação deve ser informada nesta etapa, caso não tenha deixe em branco e clique em próximo.

Etapa de Atributos da Árvore: Nesse momento não defini nenhum atributo, pois depois de terminar de criar a região vou editar e alterar manualmente. Clique em próximo.

Etapa de Exibição: Caso o menu tenha alguma restrição de exibição deve ser informado nesta etapa. Depois de informar clique em Criar Região.

Criado a região vamos editar o link do menu. Na hora de criar o menu ou a árvore, não informei nada, então vou editar  e informar. Na página vá até a parte de regiões, clique em Árvore.


Na parte onde aparece a consulta que foi montada para apresentar a região altere a linha onde tem a opção "as link" veja na imagem abaixo.
Ficou 'f?p='||:APP_ID||':'||PAG_MENU||':'||APP_SESSION||'::::' as link, onde o Apex vai pegar  o ID da aplicação com o valor cadastrado na coluna PAG_MENU na tabela do select do menu e vai colocar o valor do estado da sessão.

Agora, devemos reposicionar as regiões do nosso modelo, na região de componentes compartilhados  na parte dos modelos clique na opção referente a página.(veja na imagem abaixo).


Quando abrir a página, vá até a opção de Corpo do Texto, onde indica a posição das regiões, na imagem. No meu modelo criei uma tabela em HTML e coloquei a referencia das posições uma ao lado da outra, assim todas as regiões 2 ficarão ao lado do menu.

Em seguida vá à região de Interface com o usuário, no item Ponto de Exibição clique na lanterna, aparecerá uma guia mostrando onde está localizado cada posição escolha a posição da região 1, assim o menu ficará nesta região em todas as páginas. (Veja na imagem abaixo)
Nas páginas a serem criadas deve  ser colocado as regiões na posição da região 2, Assim ficarão lado a lado.
Veja no meu exemplo.
Menu - Região 1
Consultar...  - Região 2
* Agora só ajustar para ter um espaço entre as regiões... mas isso fica pra outra hora.

quarta-feira, 26 de junho de 2013

Criar e Alterar Temas

Oi Pessoal, hoje trouxe um post para falar de temas.
Quando é criada a aplicação, é permitido escolher um layout/tema, mas quando não fica a gosto, pode ser alterado, abaixo os passos para alterar o tema.


      No ambiente inicial do Apex, escolha a opção Application Express > ‘Aplicação com o tema a ser alterado’ > Componentes compartilhados, irá aparecer na sua tela, uma estrutura semelhante à imagem abaixo. No bloco Interface do Usuário escolha a opção Temas.


No ambiente de temas, vai constar o que está sendo utilizado na sua aplicação, para incluir um novo tema clique em Criar. (Exemplo imagem abaixo)   
O  Apex vai montar um o processo em etapas, como pode ser visualizado na imagem são 4 etapas, a primeira, definir o método. No caso deste exemplo vou utilizar uma já existente no repositório do Apex, mas pode ser uma nova ou de uma exportação. (Exemplo imagem abaixo) 

Escolha a opção e clique em Próximo >
Interface com o usuário, opção Desktop, clique em próximo. (Exemplo imagem abaixo) 

Identificar tema, por omissão no campo de Tipo de Tema vem com a informação Temas padrão, mas ali tem outras opções, veja por exemplo  a opção Temas do Legado, tem 20 opções de escolha. Selecione a desejada e clique em próximo. (Exemplo imagem abaixo)


Confirme  o tema, e o Apex irá direcionar para o repositório com os temas utilizados  na sua aplicação, que neste momento terá duas opções.
Para trocar de tema clique no botão Alterar Tema. (Exemplo imagem abaixo) 

Etapa 1, deve ser identificado o tema, no tema atual, deve constar o tema que a aplicação está utilizando e no Alterar para tema deve estar a opção no qual  deseja aplicar para a apresentação, a seguir clique em Próximo.(Exemplo imagem abaixo) 

Etapa 2, Verificação de compatibilidade. Irá mostrar as especificações do tema para cada tipo de modelo, em seguida clique em Próximo.(Exemplo imagem abaixo)   

Clique em Alterar tema para efetivar a mudança.(Exemplo imagem abaixo)
 

Pronto! Todas as páginas da sua aplicação serão alteradas para este novo tema.



segunda-feira, 11 de fevereiro de 2013

Ação Dinâmica

Oi gente, o colega Leo Barra passou a seguinte situação:

Tenho 2 itens, um é LOV e o outro é um date picker.
A LOV possui 5 valores: Top, High, Medium, Low e None.
Se o valor Top for escolhido, quero que o campo de data seja auto preenchido com sysdate+1. Se for High, sysdate+3. Medium, sysdate+5. Low, sysdate+7. None, sysdate+12.
Como implementar isto?



Criei os sois itens, e na região de ação dinâmica criei uma ação para cada tipo da lista de valores.
Na lista de valores coloquei uma lista estática, que retorne um carácter.


Para a ação dinâmica
A primeira condição é caso seja escolhido TOP, vai retornar T e o campo abaixo deve ser preenchido com sysdate+1.

Evento vai ser Change.
Vai ser um Item, esse item vai ser o que irá devolver o valor da escolha (no caso do exemplo vai ser o TIPO), a condição vai ser Igual ao campo que está no valor.... que será T (de TOP)

Na condição de verdadeiro  vai setar o valor do campo data, com uma SQL Expression, com sysdate+1, veja na imagem abaixo.


Deve ser feito uma ação para cada tipo, ou seja, Top, High, Medium, Low e None.

É isso colegas, se precisarem de ajuda, é só falar.

Abraços
Daiane

sábado, 10 de novembro de 2012

LOV Dependente

Para este exemplo o objetivo é alterar a Severidade dependendo da escolha da Criticidade. Criei os itens na página.

Na lista devalores do segundo item fiz um select e na lov dependente coloquei o item acima que fica mudando de ação o item de baixo.
 O 0 mostra quando for Muito Alta ou Alta, e o 1 mostra somente quando for Alta.

Depois de alterado executei a aplicação…




sexta-feira, 9 de novembro de 2012

Validar dados repetidos em um Tabform (Apex 4.1)


O objetivo na tela de um cadastro de documentos de pessoa, era não permitir cadastrar o mesmo tipo de documento, e estes estavam dispostos no layout por um Tab Formular.

Veja na imagem abaixo que foi  informado um documento que já estava cadastrado,  e ao clicar em próximo executou a validação onde informava  ao usuário que o documento já existia.

 

Para a validação criei uma do tipo PL/SQL que retorna um texto de erro.

DECLARE
V_LINHA NUMBER;
CURSOR C_ROW IS
 SELECT 1
   FROM PESSOA P
  WHERE P.TPDCP_COD = APEX_APPLICATION.G_F02(:APEX$ROW_NUM)

  --TPDCP_COD = Chave primária da tabela Tipo de Documentos
  --G_F02 é a coluna que contém a informação
  --:APEX$ROW_NUM pega o número da linha

  AND P.PESDC_COD <> NVL( APEX_APPLICATION.G_F06(:APEX$ROW_NUM),0)
  --G_F06 é onde está o valor da coluna
  --PESDC_COD = Chave primária da tabela Documentos da Pessoa

  AND P.PES_COD =: P148_PES_COD;
  
BEGIN

 -- Abre o cursor
  OPEN C_ROW;
 FETCH C_ROW
  INTO V_LINHA;
 CLOSE C_ROW;


 --Verifica se houve resultado
 IF V_LINHA IS NOT NULL THEN
   RETURN 'Este documento já está cadastrado para esta pessoa.'
 END IF;  

END;


--Para descobrir o F02...F03 utilize o Firebug do Firefox.





É isso aí... grande Abraço!

domingo, 9 de setembro de 2012

Apex 4.2

Já está disponível no ambiente Apex da Oracle a versão 4.2 para testes, dentre as implementações para esta versão, estão os itens:

- Desenvolvimento móvel
- HTML5 (temas, itens, gráficos)
- Pacotes de aplicativos
- Calendário móvel.

Para verificar tudo que há de novo clique aqui.






Abraços