Problemas con default_where

JAx
08 de Julio del 2006
Hola a todos,
tengo el siguiente codigo

-----------------------
declare
etiqueta varchar2(20);
begin
etiqueta:=get_item_property('vertodo',label);
if etiqueta like 'Todos mis productos' then
set_block_property('productos',default_where,' ');
set_item_property('vertodo',label,'Del proveedor');
go_item('productos.codigo');
else
set_block_property('productos',default_where,'proveedor=:proveedores.cif');
set_item_property('vertodo',label,'Todos mis productos');
go_item('productos.codigo');
end if;
execute_query;
end;
--------------------------------------
el problema es que no me hace bien la consulta, me sale siempre lo mismo, tengo otros productos que pertenecen a otro proveedor, debería de salir los del proveedor que tengo seleccionado, o TODOS, no? con
el defaul_where = ' ' . ¿Por qué no funciona?

MARIOLA
08 de Julio del 2006
mira a ver si tienes un blanco entre las comillas, no tiene que haber ninguno ='' y no =' '


gatosolo
08 de Julio del 2006
Sucede muchas veces que interactuar con variables en tiempo de ejecucion, sobre todo a asignar valores usando el Set_Item_Property trae sus problemas..

Te recomiendo, usar variables, donde dependiendo de la opcion, guardes el valor del Where del Bloque, usando tu mismo codigo, te lo mostrare


declare
etiqueta varchar2(20);
v_todos varchar2(50) := null;
v_proveedorvarchar2(6);

begin
etiqueta:=get_item_property('vertodo',label);
if etiqueta like 'Todos mis productos' then
set_block_property('productos',default_where, v_todos');
set_item_property('vertodo',label,'Del proveedor');
go_item('productos.codigo');
else
v_proveedor := :proveedores.cif'
set_block_property('productos',default_where,v_proveedor);
set_item_property('vertodo',label,'Todos mis productos');
go_item('productos.codigo');
end if;
execute_query;
end;

Espero te ayude