Ver Mensaje Individual
  #5  
Antiguo 09-10-2006
Avatar de NickName
NickName NickName is offline
Miembro
 
Registrado: may 2003
Ubicación: Guerrero, México
Posts: 96
Reputación: 22
NickName Va por buen camino
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
   /* cuanto se ha vendido */
   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;
   /* Operaciones */
   Cantidad = Cantidad - :Cantidad_Venta;
   Total_Mercancia = Precio_Compra * Cantidad;
   /* Se puede hacer esto en un SP ? por q es la variable q no toma valor */
   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...
__________________
Saludos...
Responder Con Cita