Oracle - Error a filtrar un List Item a partir de otro Lis

 
Vista:

Error a filtrar un List Item a partir de otro Lis

Publicado por Patricia (23 intervenciones) el 03/02/2004 00:20:16
Hola a todos!!
Tengo en un data block 2 List Items uno es la Empresa_id y otro es el Cliente_id, quiero que al selecccionar la Empresa_id el List Item Cliente_id me muestre todos los clientes correspondientes a la empresa seleccionada, es decir filtrar por empresa. Para eso en el trigger WHEN_LIST_CHANGED de Empresa_id codifique lo siguiente:
declare
cursor cliente_cursor is
select distinct to_char(orden.cliente_id) cliente, cliente.razon_social
from orden, cliente
where orden.empresa_id=:orden.empresa_id
and orden.cliente_id=cliente.id;
v_id item;
cont number(3):=1;
begin
v_id:=find_item('orden.cliente_id');
clear_list('orden.cliente_id');
for cliente_record in cliente_cursor loop
add_list_element(v_id, cont, cliente_record.cliente||'- '||cliente_record.razon_social,cliente_record.cliente);
cont := cont + 1;
end loop;
end;
El problema es que no acepta el clear_list en este lugar y sigue agregando elementos...
salta el error FRM-41331: Could not delete element from Cliente_id......probe en diferentes trigger tanto en empresa_id y en cliente_id y no encontre la solucion, alguien sabe como puedo hacerlo???
Muchas Gracias!!!
Saludos,
Patricia
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:Error a filtrar un List Item a partir de otro

Publicado por rodrigo (75 intervenciones) el 03/02/2004 13:38:07
usa esto..

al cargar el form cargas las listas list-item.

PROCEDURE Llena_Congelacion (LISTA IN VARCHAR2) IS

CURSOR tip IS
select
substr(comentarios_resultados.coment_result_glosa,1,50) glosa,
comentarios_resultados.coment_result_correl codigo
from
prestaciones_examenes,
comentarios_resultados
where (prestaciones_examenes.e_registro_cod='1'
and prestaciones_examenes.presta_cod= :parameter.p_presta_cod
--and prestaciones_examenes.presta_exa_correl=4710
and T_EXAMEN_RESULT_COD = 'MCONGE')
and (prestaciones_examenes.presta_exa_correl= comentarios_resultados.presta_exa_correl(+))
order by prestaciones_examenes.presta_exa_correl asc,
comentarios_resultados.coment_result_correl asc,
prestaciones_examenes.presta_cod desc;

N tip%ROWTYPE;
FIL1 NUMBER;

BEGIN
FIL1 :=0;
OPEN tip;
CLEAR_LIST(LISTA);
LOOP
FETCH tip INTO N;
EXIT WHEN tip%NOTFOUND;
FIL1 := FIL1 + 1;
Add_List_Element(LISTA, FIL1,N.GLOSA,N.codigo);
END LOOP;
CLOSE tip;
--:CLASIFICA_VALOR.CLASIFICA := Get_List_Element_Value(LISTA,1);
END;
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