SQL - ERROR CURSOR

   
Vista:

ERROR CURSOR

Publicado por CARLA (2 intervenciones) el 24/11/2009 17:28:19
Hola expertos tengo este cursor y este es mi problema:
------------------------------------------------------------------------------
-----AQUI DECLARO MIS VARIABLES--------------------
declare
@vimp_liq as numeric(8,2),
@vimp_bru as numeric(8,2),
@vcod_adm as varchar(9),
@dsc as numeric(8,2),
@vdni_titular as varchar(9) ,
@vsec_demandate as varchar(2) ,
@vcod_tipo_pla as varchar(3),
@vtipo_descuento as numeric(8,2),
@vnro_fijo_cuotas as numeric(8,2),
@vporcentaje as numeric(8,2),
@vmonto_max_dscto as numeric(8,2),
@vmonto_fijo_dscto as numeric(8,2),
@vnro_pla as varchar(3) ,
@imp_bru as numeric (8,2),
@imp_liq as numeric (8,2)
----------------------------------------------------
declare datayy CURSOR
------------AQUI RECORRO LOS DATOS
for select dni_titular,sec_demandate,cod_tipo_pla,tipo_descuento,nro_fijo_cuotas,porcentaje,monto_max_dscto,monto_fijo_dscto
from aj_doc_juzgados_pla
where fec_fin_dscto is null
or fec_fin_dscto>getdate()

open datayy
-----------AQUI ALMACENO LAS VARIABLES EN EL CURSOR
FETCH next from datayy into @vdni_titular,@vsec_demandate,@vcod_tipo_pla,@vtipo_descuento,@vnro_fijo_cuotas,@vporcentaje,@vmonto_max_dscto,@vmonto_fijo_dscto
begin

select @vcod_adm=cod_adm
from aj_demandante
where dni_titular=@vdni_titular
----AQUI ESTAN 2 PROBLEMAS-----
------EL PRIMERO SOLO RECORRE EL PRIMER REGISTRO DE TRES QUE TENBGO EN MI ------TABLA NO ACVANZA A LOS DEMAS PARA HACER LOS CALCULOS
---COD_TIPO_PLA=001 ---tipo_descuento= 01
---COD_TIPO_PLA=001 ---tipo_descuento= 04
---COD_TIPO_PLA=001 ---tipo_descuento= 04
if @vcod_tipo_pla='001'
select @vimp_liq=imp_liq,
@vimp_bru=imp_bru
from sueldos_temp
where cod_adm=@vcod_adm
--------------AQUI HAY OTRO PROBLEMA-----NO ME LEE
--------------EL PORCENTAJE Y POR TANTO ME DA CERO
--------------EL imp_liq Y EL imp_bru SI LOS LEE PERO SOLO DEL PRIMERO
if @vtipo_descuento='01'
set @dsc=@vimp_liq ---* (@vporcentaje/100)
else
set @dsc=@vimp_bru---*@vporcentaje/100

insert into aj_titular_dscto_mes
(dni_titular,sec_dscto,ano,mes,nro_pla,
cod_adm,pto,imp_a_descontar,porcentaje,imp_bru,imp_liq,
fecha_ing, usuario_ing)
values(@vdni_titular,'06','2009','12','002'/*@vnro_pla*/,
@vcod_adm,'1',@dsc,@vporcentaje,@imp_bru,@imp_liq,'01/10/09','ana')


end
print @vcod_adm
print @vcod_tipo_pla
print 'IF TIPO PLAN: ' + @vcod_tipo_pla
print 'IF TIPO DESCUENTO '+ cast(@vtipo_descuento as varchar)
print 'MONTO DESCONTADO '+ cast(@dsc as varchar)
print 'PORCENTAJE '+ cast(@vporcentaje as varchar)
print @@FETCH_STATUS

close datayy
DEALLOCATE datayy

-------------------------COMO PUEDO HACER PARA QUE RECORRA ESOS TRES REGISTROS
Y POR QUE NO LEE MI PROCENTAJE DE MI TABLA aj_doc_juzgados_pla

GRACIAS
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