SQL - GESTION

 
Vista:

GESTION

Publicado por LULU (1 intervención) el 26/12/2008 16:29:32
Buenos días, espero que el niño Dios le haya traido mucha salud paz y felicidad,


Tengo conocimiento basico en SQL no mucha experiencia en desarrrollar en SQL y menos Transact.

Me podrías ayudar con las dudas???

Este es el dasarrollo y tengo dudas referente al uso del IF, podrías verificar si el como lo estoy utilizando está correcto?...leo un registro del cual necesito restar una fecha anterior de la actual y multiplicar por el inventario,


Agradecida y Saludos.

---------------------->



DECLARE @FECINI datetime, @FECFIN datetime, @ItemCode nvarchar(20), @ItemName nvarchar(40), @OnHand numeric(19, 6), @Price decimal(10,3), @VCODIGO nvarchar(20), @VPRECIO decimal(10,3), @VAUM_DISM decimal(10,3), @VGANA_PERD numeric(19, 6), @VTOTAL numeric(19, 6)





DECLARE @TABLACAMBIOPREC TABLE (FECINI datetime, FECFIN datetime, ItemCode nvarchar(20), ItemName nvarchar(40), OnHand numeric(19, 6) , VAUM_DISM decimal (10,3), VGANA_PERD numeric(19, 6), VTOTAL numeric(19, 6) )







-- Declaración del cursor



DECLARE cDataPrecios2 CURSOR FOR



SELECT T2.[U_FECHA_INI], T2.[U_FECHA_FIN], T0.[ItemCode], T3.[ItemName], T0.[OnHand], T1.[Price] FROM OITW T0 INNER JOIN ITM1 T1 ON T0.ItemCode = T1.ItemCode INNER JOIN OPLN T2 ON T2.Factor = T1.Factor INNER JOIN OITM T3 ON T0.ItemCode = T3.ItemCode



WHERE T0.[WhsCode] =[%0] AND T2.[U_FECHA_INI] > =[%1] and T2.[U_FECHA_FIN] < =[%2] and T0.[ItemCode] LIKE 'C%'





OPEN cDataPrecios2



-- Lectura de la primera fila del cursor



FETCH cDataPrecios2 INTO @FECINI, @FECFIN, @ItemCode, @ItemName, @OnHand, @Price



set @VCODIGO = @ItemCode



WHILE (@@FETCH_STATUS = 0 )



BEGIN



If (@VCODIGO = @ItemCode)

SET @VPRECIO = @Price



If (@Price <> @VPRECIO)

BEGIN

SET @VAUM_DISM = @VPRECIO - @Price

SET @VGANA_PERD = @VAUM_DISM * @OnHand

END



BEGIN



INSERT INTO @TABLACAMBIOPREC (FECINI, FECFIN, ItemCode, ItemName, OnHand, VAUM_DISM, VGANA_PERD, VTOTAL )



VALUES ( @FECINI, @FECFIN, @ItemCode, @ItemName, @OnHand, @VAUM_DISM, @VGANA_PERD, @VTOTAL)



FETCH cDataPrecios2 INTO @FECINI, @FECFIN, @ItemCode, @ItemName, @OnHand, @Price



END



set @VCODIGO = @ItemCode



INSERT INTO @TABLACAMBIOPREC (FECINI, FECFIN, ItemCode, ItemName, OnHand, VAUM_DISM, VGANA_PERD, VTOTAL )



VALUES (@FECINI, @FECFIN, @ItemCode, @ItemName, @OnHand, @VAUM_DISM, @VGANA_PERD, @VTOTAL)



END



-- Cierre del cursor



CLOSE cDataPrecios2



-- Liberar los recursos



DEALLOCATE cDataPrecios2



select FECINI, FECFIN, ItemCode AS Codigo_Producto, ItemName AS Nombre_Producto, OnHand as Volumen, VAUM_DISM AS Aum_Dism, VGANA_PERD AS Ganancia_Perdida, VTOTAL AS TOTAL from @TABLACAMBIOPREC


--------------------------------------------------------------------------------
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