Oracle - Report con parámetros desde Form

   
Vista:

Report con parámetros desde Form

Publicado por Luis (1 intervención) el 01/12/2009 09:10:12
Hola, tengo un problema con un report y necesito ayuda.
Se trata de un report version 6i el cual debe ejecutarse recibiendo una serie de parámetros enviados desde un Form. Hasta aquitodo bien, pero la cosa se complica cuando uno de los parámetros se trata de indicar una serie de estados posibles. En el formulario puedo crear una cadena del tipo ('ESTADO1','ESTADO2','ESTADO3') pero al pasarla al report, y poner esta variable dentro de la query referenciada mediante un.... in (:estados) no me recupera nada.

Necesito saber como puedo hacer que una Query de un Report 6i, pueda interpretar un parámetros que contiene varios códigos en forma de cadena.

Select columna1, columna2
from tabla
where condiciones
and columnaX in (:parametro)...

siendo :parámetro la cadena de codigos concatenados.

Tambien tengo la posibilidad de modificar la salida desde el formulario de los parámetros.

Gracias y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Report con parámetros desde Form

Publicado por roberto (13 intervenciones) el 27/01/2010 16:50:55
Hola no se si llega tarde la respuesta...si todabia no lo solucionaste: te paso un ejemplo, yo lo hago asi:
supongamos el ejemplo del query siguiente:

select id_credito
from creditos
where id_credito in('15866','52483','67004','67689')

en el DATA_MODEL , haces asi el query:
select * from creditos
¶metros

tenes que crear 2 parametro al reporte(user parameters) para este campo yo lo llamo p_credito de tipo Character(250):
parametros de tipo character(250) /*el tamaño depende de lo que le vas a pasar*/

luego habilitas un triger al reporte:

function AfterPForm return boolean is
begin
:parametros:=' where id_credito in('|| :p_creditos ||')';
srw.message(000,' where :'||:parametros);
return (TRUE);
end;

al parametro "parametros" tenes que pasarle los datos entre comillas simples es decir, asi:
'15866','52483','67004','67689'
y ya esta.-
saludos cordiales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar