Hola.
Segun yo ya resolvi lo mas importante q era sacar el costo de cada mercancia q existiera en almacen... les pongo lo que hice, bueno primero 2 vistas como me recomendo JulioGo:
Código SQL
[-]CREATE VIEW VISTA_COMPRAS(
COD_PROVEEDOR,
FECHA_COMPRA,
PRECIO_COMPRA,
COD_MERCANCIA,
CANTIDAD)
AS
select C.Cod_Proveedor, C.Fecha_Compra, P.Precio_Compra, LC.Cod_Mercancia, LC.Cantidad
From Compras C, Lineas_Compra LC, Precios P
where LC.Cod_Compra = C.Cod_Compra And
LC.Cod_Mercancia = P.Cod_Mercancia And
C.Cancelada = 'NO'
Código SQL
[-]CREATE VIEW VISTA_VENTAS(
FECHA_VENTA,
COD_MERCANCIA,
CANTIDAD)
AS
select N.Fecha_Venta, LN.Cod_Mercancia, LN.Cantidad
From Notas N, Lineas_Nota LN
where LN.Cod_Nota = N.Cod_Nota
Luego mi SP no habia hecho uno en mi vida...
sera por eso q la variable Total_Inventario no me toma el valor q le digo... chequenlo, Jusgenlo y hechenme otra ayudadita para ver por q esa variable no me toma ningun valor:
Código SQL
[-]CREATE PROCEDURE COSTEO_INVENTARIO (
FECHA_INICIO DATE,
FECHA_FIN DATE)
RETURNS (
FECHA_COMPRA DATE,
COD_PROVEEDOR INTEGER,
COD_MERCANCIA VARCHAR(7),
PRECIO_COMPRA DECIMAL(15,2),
CANTIDAD INTEGER,
TOTAL_MERCANCIA DECIMAL(15,2),
TOTAL_INVENTARIO DECIMAL(15,2))
AS
DECLARE VARIABLE CANTIDAD_VENTA INTEGER;
begin
For Select Cod_Proveedor, Fecha_Compra, Precio_Compra, Cod_Mercancia, Cantidad
From Vista_Compras C Where C.Fecha_Compra Between :Fecha_Inicio And :Fecha_Fin
Order By Fecha_Compra
Into :Cod_Proveedor, :Fecha_Compra, :Precio_Compra, :Cod_Mercancia, :Cantidad Do
Begin
Select Count(Cod_Mercancia)
From Vista_Ventas V Where V.Cod_Mercancia = :Cod_Mercancia And V.Fecha_Venta Between :Fecha_Inicio And :Fecha_Fin
Into :Cantidad_Venta;
Cantidad = Cantidad - :Cantidad_Venta;
Total_Mercancia = Precio_Compra * Cantidad;
Total_Inventario = Total_inventario + Total_Mercancia;
suspend;
end
End
Segun las pruebas q he realizado funciona bien exepto por la variable Total_Inventario ya comentada de hay en fuera todo bien
Se me estaba olvidando comentar q sumo el codigo de Mercancia de las ventas por q si una mercancia la vendo 2 veces en una Nota genero 2 Registros con el mismo codigo esto es por los numeros de serie q son distintos... bueno ojala y me aya explicado...
ha y esta super esto de los SP...