IF EXISTS ( SELECT * 
            FROM   sysobjects 
            WHERE  id = object_id(N'dbo.[CP_Stk_Pedidos]') 
                   and OBJECTPROPERTY(id, N'IsProcedure') = 1 )
BEGIN
    DROP PROCEDURE dbo.[CP_Stk_Pedidos]
END
GO

CREATE PROCEDURE [dbo].[CP_Stk_Pedidos] @pId_Producto  CHAR(14), @pId_Sucursal Smallint
--version 01/12/2021
AS
SET NOCOUNT ON

-------OJO!!!! Siempre que se agrega o elimina una variable aca de entrada, hay que modificar la estructura de la tabla "Producteca_Stock" que usa el Stored: SPJ_Producteca_Generar_Arch_Stock								 						

/*Declaracion Variables Locales*/
BEGIN

DECLARE @Mensaje			VARCHAR(100)
		,@UltError			INT
		,@Id_Trans			INT
		,@ID_PRODUCTO		VARCHAR(14)
		,@Importe			DECIMAL(16,2)
		,@Email_Cob			VARCHAR(256)
		,@Id_Trans_Rec		INT
		,@CursorOpen        INT
		,@Flag_Cbte_Tipo	SMALLINT
		,@Periodo           DATE 
		,@Id_sucursal	    SMALLINT
		,@Existe      	    SMALLINT
		,@DepFisico         CHAR(3)
		,@DepLogico         CHAR(3)
		,@Stock_Fisico		DECIMAL(16,0)
		,@Stock_Pedido      DECIMAL(16,0)
		,@Fecha             DATETIME
		,@Id_Tipo_Cbte_Rem  CHAR(4)
		,@ID_DEP_FISICO     CHAR(3)
		,@ID_DEP_LOGICO     CHAR(3)
		,@Stock_Reserva     DECIMAL(16,0)

       select @Id_Tipo_Cbte_Rem = Id_Tipo_Cbte from  cbtes_tipos where id_sucursal =  @pId_Sucursal and Compromete_Stock_Res = -1

	--   SELECT @ID_DEP_FISICO = Id_Deposito_Fisico, @ID_DEP_LOGICO = Id_Deposito_Log FROM Empresas_Suc WHERE Id_Sucursal = @pId_Sucursal
    
       SET @ID_DEP_FISICO = CAST(@pId_Sucursal as CHAR(3))
       SET @ID_DEP_LOGICO = CAST(@pId_Sucursal as CHAR(3))
       
       select @Stock_Fisico = ISNULL(sum(isnull(i.Cantidad,0)*t.compromete_Stock),0) 
		   from cbtes c, cbtes_tipos t, cbtes_items i 
		   where c.id_tipo_cbte  = t.id_tipo_cbte 
		   and I.Id_Trans = c.Id_Trans
		   And c.id_Estado_Cbte not in (0,3)
		   and I.id_Producto = @pId_Producto
		   And t.compromete_Stock in (1,-1)
		   and C.Id_Dep_Fisico = @ID_DEP_FISICO
		   and C.Id_Dep_Logico = @ID_DEP_LOGICO
		   AND I.FLAG_QA = 'A'

	    SELECT @Stock_Pedido = ISNULL(sum(isnull(i.Cantidad_Saldo,0)),0) 
		    from  cbtes c, cbtes_items i, cbtes_tipos t,clientes cl 
			where i.id_trans = c.id_trans
			and t.id_tipo_cbte = c.id_tipo_cbte
			and t.Compromete_Pedido in (1,-1)
			and c.Id_Cliente=cl.Id_Cliente
			AND C.ID_ESTADO_CBTE NOT IN (0,3)
			and i.id_producto = @pId_Producto
			
			
	    SELECT @Stock_Reserva = ISNULL(sum(isnull(i.Cantidad,0)*isnull(t.Compromete_Stock_Res,0)),0) 
		    from  cbtes c, cbtes_items i, cbtes_tipos t,clientes cl 
			where i.id_trans = c.id_trans and t.id_tipo_cbte = c.id_tipo_cbte
			and t.Compromete_Stock_Res in (1,-1)
			and c.Id_Cliente=cl.Id_Cliente
		    and C.Id_Dep_Fisico = @ID_DEP_FISICO
		    and C.Id_Dep_Logico = @ID_DEP_LOGICO
			AND C.ID_ESTADO_CBTE NOT IN (0,3)
			and i.id_producto = @pId_Producto
			

     SELECT @Stock_Fisico AS STOCK_FISICO, (@Stock_Pedido) as STOCK_PEDIDO,@pId_Producto AS Id_Producto

END 

/*
   
exec SP_Stk_Pedidos '40001',1

select * from empresas_suc


update empresas_suc set 

 */