sexta-feira, 6 de setembro de 2019

Erro: ORA-00001: unique constraint (APEX_XXXXXX,WWV_FLOW_PAGE_PLUG_IDX2) violated

Olá pessoal,

fizemos recentemente upgrade de versão do Oracle Apex.

Recomendamos a nossos desenvolvedores que atualizassem o tema nas aplicações que foram criadas antes do upgrade.

Ao tentar fazer a atualização do tema, seguindo os passos:

Shared Components > Themes > Universal Theme - 42 > "Refresh Theme"

Observação: Não esqueça de fazer uma cópia da aplicação antes dessa operação!

Ocorre o erro título deste post:


Esse é uma constraint interna do Apex "APEX_XXXXXX.WWV_FLOW_PAGE_PLUG_IDX2" e utiliza uma nomenclatura que depende do conhecimento do histórico do Apex para poder decifrar.


  • APEX_XXXXXX é o owner que armazena os metadados do Apex. O XXXXXX é o número da versão. Se sua versão for Apex 19.1, então aparecerá APEX_190100.
  • WWV quer dizer que estará visível na internet (www). Há 20 anos não era comum aplicações disponibilizar informações na internet!
  • FLOW era o nome original da tecnologia que atualmente conhecemos como Apex. Veja que a ideia inicial era implementar "Fluxos de trabalho" (Flows).
  • PAGE_PLUG é como as regiões são conhecidas internamente.
Portanto, o erro está dizendo que há um problema de constraint única em alguma região do Tema.


Para descobrir o problema, vamos em "Shared Components" > "Templates" e filtrar pelo Type = "Region".

Além disso, vá em "Actions" do relatório e mova para a direita "Display in Report" todas as colunas.

Veja no relatório que há um template que está definido localmente, ou seja, não está inscritos no Tema (Coluna "Subscribed From" nula) e que possui o mesmo nome (Coluna "Name" = "Standard") de um template padrão do Apex.



A solução para o problema foi renomear o Template localmente definido "Standard" (que está com o mesmo nome de um template padrão do Apex) e o refresh do Tema funcionou bem!!!

Espero que tenha sido útil!

Até a próxima!

quarta-feira, 12 de junho de 2019

GUOB Tech Day - Oracle Groundbreakers Latin America Tour 2019


Estão abertas as inscrições para a 10ª edição do principal evento do Grupo de Usuários Oracle do Brasil: GUOB Tech Day. Este evento faz parte do Oracle Groundbreakers Latin America Tour que percorrerá diversos países da América Latina com palestrantes renomados da tecnologia Oracle.

A conferência ocorrerá no dia 10 de agosto na Universidade Nove de Julho - UNINOVE em São Paulo - SP.

Farei uma apresentação sobre Ações dinâmicas no Oracle Apex. A agenda completa pode ser vista no link: https://guobtechday2019.eventize.com.br/index.php?pagina=3

Inscrições pelo site: https://guobtechday2019.eventize.com.br/index.php?inscricao

sexta-feira, 8 de março de 2019

Busca ignorando acentuação em relatórios

Olá pessoal,

hoje vamos falar sobre como fazer para a busca no Apex ignorar a acentuação das palavras, o til e a cedilha.

Se criarmos uma aplicação utilizando a configuração padrão e buscarmos no relatório interativo pelo termo 'Jose' (sem acento!), não há dados encontrados conforme imagem abaixo.



Entretanto, se buscarmos pelo termo 'José' (com acento)  resultados são apresentados.



Isso é muito chato para o usuário, pois é difícil saber quando um nome foi escrito com ou sem acento. Não é mesmo?

Para resolver isto, basta seguir os seguintes passos:

Passo 1) Em Componentes Compartilhados,  clique em "Atributos de Globalização".

Globalizacao.png


Passo 2)  No campo "Comparação de Valor do Caractere" digite "BINARY_AI" e no campo "Procedimento de Comparação de Valor do Caractere" selecione "Linguístico".

Valores.png

Passo 3) Clique em "Aplicar Alterações"


Nota: a função não funciona para o item "Campo de Texto com preenchimento automático" (“Text Field with autocomplete”)

Agora ao pesquisar por "Jose" (sem acento), repare que aparecem resultados. 

Essa configuração resolve também o problema da cedilha e do til.

Espero que tenha gostado!
Até a próxima.