Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lpassos

Como chamar uma procedure no forms - Oracle

Recommended Posts

Oi pessoal,

 

Estou precisando muito da ajuda de vcs... Eu tenho 2 campos na minha tela do forms na ferramenta oracle e esses 2 campos não são base table, é só para o usuário jogar os parâmetros e consultar no bloco debaixo que é basetable. Então eu fiz uma PRE_QUERY onde dentro dessa PRE_QUERY eu quero chamar minha PROCEDURE que eu criei dentro do Programs Units no Forms, e essa procedure possui os parâmetros de data tbm e aí é que tá não consigo de jeito nenhum chamá-la, não sei mais o que faço, segue minha PRE_QUERY abaixo:

 

BEGIN 
   DECLARE 
   block_id Block := find_block('POOP2'); 
   sub_where VARCHAR2(512); 
   def_where VARCHAR2(2000);
   alert number := 0; 

FUNCTION add_and( 
 P_WHERE IN VARCHAR2 
) RETURN VARCHAR2 IS 
BEGIN 
   IF (nvl(length(P_WHERE),0) !=0)then 
	  RETURN(P_WHERE||'AND'); 
   ELSE 
	  RETURN(P_WHERE); 
   END IF; 
END; 

BEGIN
   def_where := 'procedurePR_CALCULODIVERGENCE(p_dtfrom => ('''||'09112007'||'''), 
											   p_dtto   => ('''||'09112007'||'''))';  
									  
 
	message(def_where);
	message(def_where);

 --exception
 --WHEN NO_DATA_FOUND THEN DEF_WHERE:=('ERRO:'||' ' ||SQLERRM);
 


	
   set_block_property('FFOR_FAT_FORNEC',DEFAULT_WHERE, def_where);



	 
END;
END;

Obrigada pela atenção desde já,

Laninha. http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amiga para esse tipo de dúvida temos o fórum de Oracle

 

ire mover você para lá!

 

Movido de Outros http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Oracle

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

Deixa ver se entendi:

Tu tem 2 campos não basetable no teu forms e quer utilizar eles como filtro para um determinado bloco certo?

 

Não entendi muito bem teu código. Por que utilizar uma procedure na default_where?

Não poderia talvez adicionar uma verificação na própria cláusula where do bloco???

 

ex.:

(:bloco_filtro.campo1 is null or
 campo1_da_tabela = :bloco_filtro.campo1)
and
(:bloco_filtro.campo2 is null or
 campo2_da_tabela = :bloco_filtro.campo2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.