como ligar parametros en reports?
hola a todos, tengo una duda espero alguien me pueda ayudar, hice un reporte pero en mis parametros de entrada necesito tomar unos datos especificos
esto sucede en Internet cuando se dan de alta en una pagina les pide un pais y ustedes pueden seleccionar x paises asi mismo se ejecuta el siguiente campo tomando los nombre de las ciudades o estados del pais que seleccione antes.
Yo lo quiero hacer pero utilizando mis parametros de entrada
País : España
Estado: (aqui jalaria todos los estados de España)
gracias
esto sucede en Internet cuando se dan de alta en una pagina les pide un pais y ustedes pueden seleccionar x paises asi mismo se ejecuta el siguiente campo tomando los nombre de las ciudades o estados del pais que seleccione antes.
Yo lo quiero hacer pero utilizando mis parametros de entrada
País : España
Estado: (aqui jalaria todos los estados de España)
gracias
yo te recomendaria:
1) declara tus parametros en tu reporte.
2) has un forms que se asocie a tu reporte
agrega los mismos parametros a tu forms .
y pasalo a traves de parametros. con esta rutina lo vas a poder hacer
PROCEDURE p_invoca_reporte IS
clista paramlist;
BEGIN
-- generico
clista := get_parameter_list('lista');
if not id_null(clista) then
destroy_parameter_list(clista);
end if;
clista:=create_parameter_list('lista');
-- propio del reporte
add_parameter(clista, 'paramform', text_parameter, 'No');
add_parameter(clista, 'P_1', text_parameter, :b_cliente.tx_desde);
add_parameter(clista, 'P_2', text_parameter, :b_cliente.tx_hasta);
-- invoca al reporte
run_product(reports,'R_CLI_NOM.rep', synchronous, runtime, filesystem,clista,null);
--
END;
espero te pueda servir
1) declara tus parametros en tu reporte.
2) has un forms que se asocie a tu reporte
agrega los mismos parametros a tu forms .
y pasalo a traves de parametros. con esta rutina lo vas a poder hacer
PROCEDURE p_invoca_reporte IS
clista paramlist;
BEGIN
-- generico
clista := get_parameter_list('lista');
if not id_null(clista) then
destroy_parameter_list(clista);
end if;
clista:=create_parameter_list('lista');
-- propio del reporte
add_parameter(clista, 'paramform', text_parameter, 'No');
add_parameter(clista, 'P_1', text_parameter, :b_cliente.tx_desde);
add_parameter(clista, 'P_2', text_parameter, :b_cliente.tx_hasta);
-- invoca al reporte
run_product(reports,'R_CLI_NOM.rep', synchronous, runtime, filesystem,clista,null);
--
END;
espero te pueda servir
Esto si es lo correcto...ya que la forma anterior no funcionará...pues no puede referenciar en la consulta de un parámetro a otro paramétro anteriormente seleccionado...
Supongo que en la sentencia para la segunda lista debes pasar el primer parámetro en su where
de forma : where pais = :p_pais
Select <nombre_estado>
from <tabla_estados>
where <columna_pais>=:<parmetro_pais>
de forma : where pais = :p_pais
Select <nombre_estado>
from <tabla_estados>
where <columna_pais>=:<parmetro_pais>
