Não mostra resultado da Query

Dicas e truques sobre Oracle Reports Builder - modo gráfico ou modo caractere, ascii, arquivo .PRT, etc
Responder
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Boa tarde mestres....
Estou tendo um problema e gostaria do apoio de vocês. Tenho um relatório que mostra todos os produtos e cada fabricante do produto, então no final do relatório preciso fazer um índice informando a página de cada fabricante....então, enquanto o relatório estiver formatando página eu faço um insert em uma tabela informando a página e o nome do fabricante (isso é colocado na trigger do frame do produto) e no último repeat frame eu tenho um select deste insert,,,,porém,,,não me retorna nada....somente retorna registros do índice se ao iniciar o relatório a tabela do índice já esteja populada...
alguém tem alguma dica de como proceder?
Até pensei em uma alternativa, mas não consegui fazer,,,por exemplo quando roda o relatório o reports vai até a última página (populando a tabela de índice) e depois "roda" o relatório novamente...mas, não achei como fazer isso...
c alguém tiver alguma idéia..agradeço

Abraços
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Bom dia turma....
Bom, para fazer com que o reports fosse até a última página e depois "voltasse" até a primeira eu coloquei um field com o source tipo TOTAL PAGES, o relatório vai até a última página e volta até a 1° página.....porém, o problema de não listar os dados inseridos enquanto roda o relatório não funcionou...
Alguém tem alguma sugestão de onde eu possa mexer??

abraços
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Eu nunca precisei fazer um índice dessa forma no reports.
Mas veja, eu achei um link que +ou- explica como fazer. Sua idéia de fazer um INSERT está correta.

http://docs.oracle.com/cd/E12839_01/bi. ... toc003.htm
Cria a tabela

Selecionar tudo

create table index_example (term varchar2(100), page number);
Ele faz assim pra salvar o número da página:

Selecionar tudo

function F_CUST_LAST_NAMEFormatTrigger return boolean is
  PageNum number;
begin
  -- get pagenumber
  srw.get_page_num(pageNum);
  -- insert into table
  insert into index_example
  values (:Cust_last_name||', '||:Cust_first_name, PageNum);
  return (TRUE);
end;
Depois, ele cria um novo sql pra mostrar o indice:

Selecionar tudo

SELECT SUBSTR(TERM,1,1) INITIAL_LETTER, TERM, PAGE FROM INDEX_EXAMPLE ORDER BY TERM
oracle_reports_indice.gif
oracle_reports_indice.gif (5.8 KiB) Exibido 3252 vezes
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Grande Dr_gori...
Brother...já fiz algo parecido....é feito o insert conforme o relatório vai gerando...o insert foi colocado na trigger de uma field (já coloquei o commit também..rsrsr)...a tabela é populada normalmente...o problema é que no retorno do select deste índice não vem nada...se eu gerar o relatório pela 2° vez ai mostra o índice....parece que o report não mostra itens inseridos no meio da geração do relatório... não sei se existe alguma forma de "sincronização"...olha..só sei q nem sei pra onde "atirar"...affff

Abraços
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Boa tarde senhores....
referente ao problema acima...bom, descobri o que acontece.....após muitos testes e após refeito o relatório umas 300 vezes...achei o problema...
Não tenho uma explicação lógica para isso, mas se você colocar um insert/update dentro de um field (para registrar a página) o esquema somente vai funcionar caso seu relatório NÃO tiver uma matriz;;;; TODOS os inserts que estiverem dentro de um field vão funcionar até você criar uma matriz, dali em diante...
então...c você criar uma query simples e no field fazer o insert/update registrando a página para criar um índice, na query do índice vai listar as páginas normalmente, caso você precise criar mais 1 query, desta vez em matriz, e registrar o índice da matriz, não vai funcionar.
Caso alguém já c deparou com isso e tiver alguma solução dá um toq....porque é deprimente ver isso de uma ferramenta do Oracle...

Abraços
Responder
  • Informação
  • Quem está online

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