Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/10/2010, 15:03
Avatar de Inicia
Inicia
 
Fecha de Ingreso: octubre-2010
Ubicación: Actualmente en GDL
Mensajes: 135
Antigüedad: 13 años, 6 meses
Puntos: 1
Pregunta Problemas con el cursor

Hola, necesito ayuda a la hora de generar un SP con cursor me crea errores ya no se que esta pasando, esta es la situaciòn:

ALTER procedure [dbo].[P5rADCComparaCosto]
(@Empresa utClave
,@Clase utClave
,@Grupo utClave
,@Familia utClave
,@Articulo utClave
,@Folio utClave
,@Precio utClave
,@Partida utClave)
as
declare
@Anio utEntero,
@Periodo utEntero,
@IdPeriodo utClave

set nocount on

SELECT @IdPeriodo = Valor
FROM P5Sistema
WHERE Parametro = 'PeriodoActual'
AND Empresa = @Empresa
AND Modulo = 'ADI'

SELECT @Anio = Anio, @Periodo = Periodo
FROM Periodo
WHERE id = @IdPeriodo



select A.ArticuloFamilia, A.Clave as Articulo, A.Texto1 as NoParte, A.ArticuloTipo,
A.texto2 as NotasCompras, A.Descripcion, A.ArticuloClase, AC.CostoPromedio, AC.CostoUltimo,
A.PuntoReorden, A.ArticuloGrupo, A.Numero1 as Precio1, A.Numero2 as Precio2, A.Numero3 as Precio3,
isnull((Select Top 1 (1-(ED.pctDescuento/100))*ED.Precio
From EntradaDetalle ED, EntradaEncabezado EE
where ED.Empresa = EE.Empresa
and ED.Folio = EE.Folio and
EE.Documento = 'ECPAM' and EE.Estatus = 'A' and ED.Articulo = A.Clave order by EE.FechaCaptura Desc),0) as CostoUltimoCompra,
0 as CostoUltimo3,
isnull((Select Sum(Existencia) From ArticuloExistencia where Empresa = @Empresa and Articulo = A.Clave and IdPeriodo = @IdPeriodo and Almacen like '0%'),0) as Existencia,
isnull((Select sum(OrdenadaVenta) From ArticuloSaldoAlmacen where Articulo = A.Clave),0)as OrdenadaVenta, A.MaximoAlmacenable as Maximo, A.MinimoSeguridad as Minimo,
isnull((Select Top 1 FE.Fecha From FacturaEncabezado FE, FacturaDetalle FD where FE.Empresa = FD.Empresa and FE.Folio = FD.Folio and FE.Empresa = @Empresa and FD.Articulo = A.Clave and FE.Estatus='A' order by FechaCaptura Desc),'19990101') as FechaUltMov

--CREATE TABLE #ComparaCosto (A.Precio, A.Clave)
--insert into #ComparaCosto
into #ComparaCosto
from ArticuloCosto AC, Articulo A
where A.Clave = AC.Articulo
and AC.Anio = @Anio
and AC.Periodo = @Periodo
Order by A.Clave

Select top 3 ED.Articulo, ((1-(ED.pctDescuento/100))*ED.Precio) as Costo, '' as CostoUltimo3
into #CostArt
From EntradaDetalle ED, EntradaEncabezado EE
where ED.Folio = EE.Folio
and EE.Documento = 'ECPAM'
and EE.Estatus = 'A'
order by EE.Fecha--, Captura
Desc
Declare PrecioCursor Insensitive Cursor For
Select Articulo
From #ComparaCosto
where Empresa = ED.Empresa and Folio = ED.Folio;

Open PrecioCursor
Fetch Next From PrecioCursor into @Partida, @Articulo, @Precio
While @@Fetch_Status <> -1
begin;

Update #CostArt
SET select CostoUltimo3 = select sum(Costo)/count(Costo)
from #CostArt
where

Fetch Next From PrecioCursor into @Partida, @Articulo, @Precio
end;

Close PrecioCursor
deallocate PrecioCursor

if isnull(@Clase,'') <> ''
begin
Delete #ComparaCosto where ArticuloClase <> @Clase
end

if isnull(@Grupo,'')<> ''
begin
Delete #ComparaCosto where ArticuloGrupo <> @Grupo
end

if isnull(@Familia,'')<> ''
begin
Delete #ComparaCosto where ArticuloFamilia <> @Familia
end

if isnull(@Articulo,'')<> ''
begin
Delete #ComparaCosto where Articulo not like ltrim(rtrim(@Articulo))+'%'
end

Select * From #ComparaCosto



El cursor es el q me esta fallando me pueden ayudar a revisar cual es la falla?

Gracias!