RELATORIO COM PARAMETROS ANTES DA EXECUÇÃO

Oracle Application Express - web application development tool (antigamente conhecido como Oracle HTML-DB)
Responder
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Olá Pessoal preciso fazer um report no Apex simples com parametros de DATA antes de executar o select

O select e esse , sendo que nos parametrso data ficaria DATA_INICIAL e DATA_FINAL para o usuario escolher depois um botão GO

Selecionar tudo

select 
a.cod_equipamento, 
min(a.mov_km_hr_inicial),
max(a.mov_km_hr_final)
from 
ga_ope_mov_operador a
where
a.cod_empr=20
and a.mov_data>=to_date('01/04/2011', 'DD/MM/YYYY')
and a.mov_data<=to_date('30/04/2011', 'DD/MM/YYYY')
and a.mov_km_hr_inicial is not null
and a.mov_km_hr_final is not null
group by a.cod_equipamento
order by 1
Tentei de varias maneiras de criar um botão submit pesqueisei no google e nada.

alguém teria um exemplo de como fazer esse report no Apex ?

Qualquer dica e bem vinda !!!
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Madmax,


Não sei se esta seria a forma mais racional de se criar um relatorio parametrizado, mas é a que eu sei fazer no momento.

Como demonstração, vamos criar um relatorio parametrizado para a tabela EMP, que é fornecida com o aplicativo de exemplo do APEX.

Passos:

01 - Crie uma pagina em sua aplicacao do tipo REPORT -> REPORT SQL, com a opção SEARCH BAR ativada;
02 - Neste relatorio SQL, informe a seguinte querie:

Selecionar tudo

SELECT EMPNO,
       ENAME,
       JOB,
       MGR,
       HIREDATE,
       SAL,
       COMM,
       DEPTNO
  FROM (SELECT EMPNO,
               ENAME,
               JOB,
               MGR,
               HIREDATE,
               SAL,
               COMM,
               DEPTNO
          from EMP
        )
 WHERE HIREDATE 
       BETWEEN NVL(:p3_data_ini,SYSDATE-29000) AND NVL(:P3_data_fim,SYSDATE+1)
03 - Observacao: ao criar o relatorio, onde se le ":P3_DATA .." substitua o número "3" pelo número de sua página
04 - Criado o relatorio SQL, remova os seguintes ITEMS da região SEARCH de sua página (PAGE RENDERING):
P3_REPORT_SEARCH
P3_ROWS
05 - Adicionar os seguintes ITEMS à sua pagina, posicionando-os na regiao SEARCH (PAGE RENDERING):
P3_DATA_INI -> Tipo DATE PICKER DD/MM/YYYY / New Line -> NO
P3_DATA_FIM -> Tipo DATE PICKER DD/MM/YYYY / New Line -> NO
Obs: Informe numeros baixo de SEQUENCE para estes dois itens, para que sejam os primeiros a aparecer na regiao de SEARCH. Lembre-se que em "P3_.." o numero "3" deve ser substituido pelo número de pagina criada por você
06 - Neste ponto você deve ter a região SEARCH com os seguintes ITEMS, nesta ordem, em uma única linha:
P3_DATA_INI (campo data)
P3_DATA_FIM (campo data)
P3_GO (botao GO)
P3_RESET (botao RESET)
07 - Entre na região do relatorio SQL criado por você (ex: REPORT). Entre em REGION DEFINITION->SOURCE (PAGE RENDERING).
08 - Substitua novamente a querie existente nesta pagina (REGION SOURCE) pela querie descrita no passo 02;
09 - Edite o processo RESET REPORT SEARCH em PROCESSES (PAGE PROCESSING). Rescreva a area SOURCE->PROCESS, colocando "P3_DATA_INI,P3_DATA_FIM" neste campo (lembrando que "3" deve ser substituido pelo numero da página criada por você.
10 - Pronto, você terá um relatório parametrizado. Se os campos de DATA INICIO e DATA FIM ficarem em branco o relatorio apresentará todos os empregados. Se você informar datas e pressionar GO, o relatório mostrará somente os registros que atendam ao critério de data. Se você pressionar RESET, os campos de data serãolimpos e você visualizará todos os funcionários novamente.

Espero que este pequeno exemplo ajude você na construção de relatórios parametrizados.

Boa sorte,

Sergio Coutinho
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes