Como Carregar Reports a Partir de um Record Group

Dicas e truques sobre Oracle Reports Builder - modo gráfico ou modo caractere, ascii, arquivo .PRT, etc
Responder
Avatar do usuário
TBou
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 136
Registrado em: Qui, 05 Ago 2004 9:33 am
Localização: Campo Grande - MS
Thiago Bourscheidt
thiago.info@apoiorural.com.br
Analista de Sistemas

Estou tentando Chamar o Reports passando um Record Group em vez de consulta...
Pois neste relatório tenho relação com diversas Tabelas temporárias.
e como o reports trabalha com outra seção então gostaria de Receber algumas dicas de como trabalhar com este caso..?
se tem como eu passar o Record Group na Chamada..?
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

Creio que você não pode passar um record-group como parâmetro. Mas pra resolver o problema da sessão, eu costumo usar uma tabela que tenha um campo SESSAO.

Nessa tabela, eu gravo os parametros que eu quero e juntamente, a sessão do forms.

Quando eu chamo o report, apenas passo o número da SESSAO do forms. (obviamente, o report já está preparado pra receber a sessão e buscar nessa tabela o que é dele)

Sacou?
Avatar do usuário
TBou
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 136
Registrado em: Qui, 05 Ago 2004 9:33 am
Localização: Campo Grande - MS
Thiago Bourscheidt
thiago.info@apoiorural.com.br
Analista de Sistemas

Este modo de gravar o numero da sessão eu tmb já trabalho em alguns casos...
mas a minha intenção era mesmo de passar a consulta já processada para o Reports...

Obrigado ..
Avatar do usuário
leobbg
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Sex, 29 Out 2004 10:25 am
Localização: PORTO ALEGRE - RS
Leo BBG Consultor Oracle

cara, não sei se tu vai conseguir entender o que eu vou colocar aqui.. ate porque não estou acostumado a formatar as minhas mensagens por aqui.. mas ai vai.. um procedimento que chamo em um forms, tipo.. nesse caso eu estou criando um record group.. mas tu pode utilizar os já existentes...

Selecionar tudo

procedure chama_report( preport_name in varchar2 ) is
  --
  pl_id paramList;
  --
  vgroup_name varchar2(30)   := 'TE';
  vquery      varchar2(2000) := 'select lt.codigo '                   ||
                                ',      lt.descricao '                ||
                                'from   instrumentos_medicao     lt'  ||
                                ',      laudos_ppra_instrumentos tt ' || -- Tipo.. essa tabela não tem no report
                                'where  lt.codigo = tt.inme_codigo(+)';  -- no report deve conter acredito eu
  vrecord_id                    recordgroup;                             -- uma tabela que pelo menos tenha o mesmo
  vnum                          number;                                  -- nome das colunas que iram retornar
  --
begin
   --
   vrecord_id := find_group( vgroup_name );
	 --
   if not id_null( vrecord_id ) then
     --

     delete_group( vrecord_id );
     --
   end if; 
 	 -- 
   vrecord_id := create_group_from_query( vgroup_name, vquery ); 
   --
   delete_group_row( vrecord_id, all_rows ); 
   --
   vnum := populate_group_with_query( vrecord_id, vquery ); 
	 --
   pl_id := get_parameter_list( 'tmpdata');
   if not id_null( pl_id ) then
  	 destroy_parameter_list( pl_id );
   end if;
   --
   pl_id := create_parameter_list('tmpdata'); 
   --
   add_parameter( pl_id, 'QTE'        , data_parameter, vgroup_name   );
   add_parameter( pl_id, 'paramform'  , text_parameter, 'no'          );
   add_parameter( pl_id, 'maximize'   , text_parameter, 'yes'         );
   --
   run_product( reports, preport_name, synchronous, runtime, filesystem, pl_id, null );
   --
end;
Avatar do usuário
leobbg
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Sex, 29 Out 2004 10:25 am
Localização: PORTO ALEGRE - RS
Leo BBG Consultor Oracle

Eu passei como parametro para o report o "parametro" QTE, não INCLUIA esse parametro no Report.. o que fazer com isso então??? criar um SQL com o nome "QTE" !! e é claro, com as mesmas colunas que tem no record group... "Mas como se é exatamente isso que eu não quero fazer", é so criar um select assim :

Selecionar tudo

Select 1 nome_da_coluna
,         2 nome_de_outra_coluna
from   dual

pronto.. ta ai o que tu queria!! abraço
ricards
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 52
Registrado em: Sáb, 29 Set 2007 12:59 am
Localização: Araraquara-SP
Contato:
Ricardo Neves
Analista e Instrutor Oracle Developer
Java Developer (JPA/JSF/Hibernate/WebServices/EJB)

Pessoal

Segue um tutorial de reports baseado em Record Group que eu fiz

http://glufke.net/oracle/viewtopic.php?t=6653
Responder
  • Informação
  • Quem está online

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