DataARTIGO

Passando um filtro como parâmetro em um relatório interativo no Oracle APEX

Hoje vou falar de um recurso muito interessante dos relatórios interativos do Oracle APEX: a possibilidade de passar o filtro através da URL.

Fala, pessoal!

Hoje vou falar de um recurso muito interessante dos relatórios interativos do OracleOracle22 conteúdosOracle lança Java 26 para aumentar produtividade de desenvolvedoresDev (Back & Front) · mar 2026Oracle oferece o primeiro cluster de computação em nuvem em escala ZettaDevSecOps · jan 2025Oracle abre inscrições para o ONE, programa gratuito de formação em tecnologia e inteligência artificialData · dez 2024Ver tudo em Data APEX: a possibilidade de passar o filtro através da URL.

Esse recurso permite “economizar” uma dezena de linhas de código e, obviamente, tempo de desenvolvimento. Além de simular uma configuração que o próprio usuário faria.

Vou exemplificar esse artigo de forma diferente: vamos utilizar uma aplicação da própria Oracle, em seu ambiente produtivo. A aplicação, obviamente criada em APEX, tem o propósito de listar todos os profissionais Oracle ACE do mundo. Veja o site: https://apex.oracle.com/pls/apex/f?p=19297

Na primeira página temos um mapa com a quantidade de ACEs por país:

ll05

Quando clicado em um dos países, o usuário é automaticamente direcionado para a página com o relatório interativo.

Perceba que foi criado automaticamente um filtro no relatório interativo para listar apenas os ACEs do Brasil:

ll06

Legal, né?! Mas como faço isso? É simples: o relatório interativo do Oracle APEX permite programaticamente determinar os filtros ao chamar a URL da página que contém esse relatório.

Basta passar como parâmetro o item do relatório interativo com a seguinte sintaxe:

IR + [OPERADOR] +_NOME_COLUNA

Onde:

  • IR = Identificador de relatório interativo
  • OPERADOR = Operador aritmético ou comparativo que será efetuado na coluna
  • NOME_COLUNA = Alias interno da coluna

Por exemplo, a coluna LOCATION (nome interno da coluna) representa o país; desejo filtrar apenas os ACEs do Brasil, então, devo passar o parâmetro IR_LOCATION e o valor Brazil:

https://apex.oracle.com/pls/apex/f?p=19297:3::::CIR,RIR:IR_LOCATION:Brazil

Existem outros operadores que podemos utilizar:

  • EQ = Igual (esse é o default quando não informado o operador)
  • NEQ = Diferente
  • LT = Menor que
  • LTE = Menor ou Igual que
  • GT = Maior que
  • GTE = Maior ou igual que
  • LIKE = Operador LIKE
  • = Nulo
  • NN = Não Nulo
  • = Contém
  •  NC = Não Contém

Por exemplo, quero filtrar todos os ACEs que não contenha nenhuma relação com banco de dados.

https://apex.oracle.com/pls/apex/f?p=19297:3::::CIR,RIR:IRNC_EXPERTISE:Database

Importante!

É muito importante utilizar as opções reset do relatório interativo, pois essas fazem “limpar” os filtros anteriormente criados antes de definir o que está sendo passado como parâmetro.

  • CIR =  Significa, Clear Interactive Report, ou seja, limpa todos os filtros do relatório interativo
  • RIR = Siginifica, Reset Interactive Report, ou seja, reinicia a paginação do relatório interativo

Para entender sobre o significado da URL do Oracle APEX, veja este artigo.

Conclusão

Mais uma incrível funcionalidade que pode ser facilmente implementado no Oracle APEX!

Aproveite e evolua a sua aplicação!

é formado em Análise de Sistemas pela Uniban. Possui 10 anos de experiência em análise, implementação e desenvolvimento de softwares com Oracle Forms/Reports, PL/SQL. Também possui experiência de 6 anos em WebTool Kit, HTML, JavaScript, XML, CSS e APEX, além de conhecimentos em JAVA e Delphi. Possui certificação Oracle Advanced PL/SQL Developer Certified Professional 11g. Em sua experiência profissional teve a oportunidade de participar de diversos projetos, dos quais pode-se destacar migrações de sistemas de arquivos indexados em Cobol para banco de dados Oracle; tunning em camada de aplicações e camada de banco de dados; administração de banco de dados Oracle 9i e 10g; modelagem relacional de dados utilizando Erwin; migração do Forms 6i para Forms IAS 10g; levantamento, análise e desenvolvimento de software em Delphi com Oracle, Oracle WebTool Kit e APEX. Atualmente trabalha em uma empresa petroquimica, na qual atua como Desenvolvedor Oracle EBS, desenvolvendo customizações para todos os módulos, nos padrões e recursos do ERP, utilizando PL/Sql, Forms 6i, Reports 6i, Discover, WorkFlow e APEX.

Ver perfil