List Item, selecionar para imprimir

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
priajf
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 297
Registrado em: Ter, 21 Dez 2010 8:45 am
Localização: Florianopolis

Bom Dia
Estou com a seguinte situação:
Tenho uma tela com o seguinte layout:

Selecionar tudo

flag     List_item   vl_list_item
flag1     item1       vl_list1    
flag2     item2       vl_list2
flag3     item3       vl_list3
flag4     item4       vl_list4
flag5     item5       vl_list5  
Preciso que ao selecionar o flag1, flag3, flag5. eu consiga gerar o relatório somente aqueles selecionados.

Att
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Bem,
Basta quando mandar gerar o relatório você percorrer a "lista" e capturar somente os 'flagados'. EX:

Selecionar tudo

go_block('MEU_BLOCO');
first_record;
loop
  if :MEU_BLOCO.flag = 'Y' then
     <faz a coisa legal>
  end if;
  exit when :system.last_record = 'TRUE';
  next_record;
end loop;
Aí você pode juntar seus valores de parametro seja em texto, colection,tabela e etc... (sei lá como está seu relatório).
priajf
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 297
Registrado em: Ter, 21 Dez 2010 8:45 am
Localização: Florianopolis

Dae Daniel,
Desculpe a ignorância, mais não consegui fazer.
Ainda assim, seleciona somente o último que deixei o flag como 'S'.
Fiz no botão de imprimir.
Att
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Coloque seu código aí.
Outra coisa, como está sendo este parâmetro para o relatório??
priajf
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 297
Registrado em: Ter, 21 Dez 2010 8:45 am
Localização: Florianopolis

Selecionar tudo

go_block('RESULTADO1');
first_record;
loop
  if :fg_imrprimir = 'S' then
     :parameter.resultado := :vl_resultado;
  end if;

									
        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,'P_CD_PESSOAFISICA', TEXT_PARAMETER,:PARAMETER.PESSOA_FISICA);
		   Add_Parameter(pl_id,'P_resultado',TEXT_PARAMETER, :parameter.resultado);
				   Add_Parameter(pl_id,'MAXIMIZE', TEXT_PARAMETER,'YES');
        
        
	 
   
      		
    exit when :system.last_record = 'TRUE';
  next_record;
end loop;	   
    	
    
    		 CHAMAR_REPORT(:GLOBAL.CD_SISTEMA,'RSUL0101',:GLOBAL.CD_USUARIO,pl_id);
    
 	
  end;  	
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

"Add_Parameter" ela não substitui o filtro anterior não???
priajf
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 297
Registrado em: Ter, 21 Dez 2010 8:45 am
Localização: Florianopolis

Não...
você acha que eu deveria tirar o :parameter.resultado?
Não entendi direito
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Cara, você não precisa mandar um conjunto de valores como parâmetro?
Então precisamos fazer de uma forma que eu envie como parametro este conjunto.
Da forma que você esta fazendo, cada valor "flagado" ele atribui a ":parameter.resultado":

Selecionar tudo

  :parameter.resultado := :vl_resultado;
E logo depois você altera a lista de parâmetros para o valor mais atual.
Assim você nunca vai mandar o conjunto.
Mas como eu disse:
Aí você pode juntar seus valores de parametro seja em texto, colection,tabela e etc... (sei lá como está seu relatório).
Responder
  • Informação
  • Quem está online

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