IF EXISTS ( SELECT * 
            FROM   sysobjects 
            WHERE  id = object_id(N'[dbo].[CP_Eventos_Hospedaje]') 
                   and OBJECTPROPERTY(id, N'IsProcedure') = 1 )
BEGIN
    DROP PROCEDURE [dbo].[CP_Eventos_Hospedaje] 
END
GO
CREATE PROCEDURE CP_Eventos_Hospedaje (@pId_Lista_Precio smallInt
                        ,@pId_Sede Smallint
						,@pCodigoSector Char(10)
						,@pFamilia_Habitaciones SmallInt
						,@pFamilia_Mesas SmallInt
						)

AS

  DECLARE @Sql		    VARCHAR(MAX)
  DECLARE @SqlSaldo	    VARCHAR(MAX)
  DECLARE @SqlSelect	VARCHAR(MAX)
  DECLARE @SqlInto	    VARCHAR(MAX)
  DECLARE @SqlFrom	    VARCHAR(MAX)
  DECLARE @SqlWhere  	VARCHAR(MAX)
  DECLARE @SqlGroup	    VARCHAR(MAX)

  SET @SqlSelect = ' SELECT I.Id_Producto,C.ID_CLIENTE,CL.RAZON_SOCIAL,C.Fecha,I.Id_Trans,I.Item,I.Cantidad,CL.Id_Cliente_Ref,CR.Razon_Social,ISNULL(I.Fecha_QA,0),ISNULL(I.Fecha_Venc,0),C.Observacion'

  SET @SqlFrom = ' FROM Cbtes_Items I, Cbtes C, Productos P, Clientes CL, Clientes CR '

  SET @SqlWhere = ' WHERE I.Id_Trans = C.Id_Trans 
                       AND P.Id_Producto = I.Id_Producto
                       and C.Id_cliente = CL.ID_CLiente
                       AND P.ID_FAMILIA IN (' + Cast(@pFamilia_Habitaciones AS VARCHAR(10)) + ') 
                       AND ISNULL(CL.ID_CLIENTE_REF,0) = CR.ID_CLIENTE '

  IF @pId_Sede <> 0				   
	 SET @SqlWhere = RTRIM(LTRIM(@SqlWhere)) + ' AND P.CALLE IN (SELECT codigo FROM EMPRESAS_SEDES_SECTORES WHERE ID_SEDE = ' + CAST(@pId_Sede AS VARCHAR(10)) + ') '
					   
	
  IF @pCodigoSector <> ''				                 
      SET @SqlWhere = RTRIM(LTRIM(@SqlWhere)) + ' AND P.CALLE = ''' + Cast(@pCodigoSector AS VARCHAR(10)) + ''''
	   
  SET @SqlWhere = RTRIM(LTRIM(@SqlWhere)) + ' AND C.Id_trans IN (SELECT DISTINCT(c.id_trans) 
                                        FROM Cbtes_Items I, Cbtes C, Productos P,Cbtes_Tipos T, Prod_Listas_Precios_Items LPI3, Productos P23 
                                        WHERE I.Id_Trans = C.Id_Trans  AND P.Id_Producto = I.Id_Producto AND C.Id_Tipo_Cbte = T.Id_Tipo_Cbte 
                                        AND P.ID_FAMILIA NOT IN ( ' + Cast(@pFamilia_Habitaciones AS VARCHAR(10)) + ',' + Cast(@pFamilia_Mesas AS VARCHAR(10))+ ')
                                        AND T.Compromete_Pedido IN (1,-1) AND C.ID_ESTADO_CBTE IN (1,2,4) 
                                        AND I.ID_PRODUCTO = LPI3.Id_Producto  
                                        AND P23.Id_Producto = LPI3.Id_Producto 
                                        AND P23.Vendible = 1 AND P23.Tipo <> ''L''
                                        AND LPI3.Id_Lista_Precio = ' + Cast(@pId_Lista_Precio as varchar(10)) + ') 
										ORDER BY I.ID_PRODUCTO '

	  SET @Sql = @SqlSelect + '  '+ @SqlFrom + ' ' + @SqlWhere 
	  
	  print @Sql

	  EXEC(@sql)


--exec CP_Eventos_Hospedaje 105,10,'VM',97,98