
/* 
 * PROCEDURE: listacomprasproveedor_ALL_proc 
 */

CREATE PROC  listacomprasproveedor_ALL_proc
@FECHA_INI 		VARCHAR(30), 		--FECHA INICIAL, NO ES TIPO SMALLDATETIME POR PROBLEMAS DE CONVERSION
@FECHA_FIN  		VARCHAR(30), 		--FECHA FINAL, NO ES TIPO SMALLDATETIME POR PROBLEMAS DE CONVERSION
@SITE 			varchar(300),		--ALMACEN
@TODASLASMONEDAS	tinyint,		--1 TODAS LAS MONEDAS,0  SOLO ALGUNA MONEDA
@TODOS_prov 		tinyint,		--TODOS LOS PROVEEDORES
@SOLOMONEDA 		ud_curyid,		--SOLOS LOS DOCUMENTOS QUE TENGAN ESTA MONEDA
@CONDICION 		varchar(300)		--SOLO LOS PROVEEDORS QUE ESTEN EN ESTE PARAMETRO
AS

DECLARE @VFECHA_INI SMALLDATETIME
DECLARE @VFECHA_FIN SMALLDATETIME
DECLARE @CADENA VARCHAR(8000)			--CADENA DE EJECUCION


SET @VFECHA_INI=CAST(@FECHA_INI AS SMALLDATETIME) 
SET @VFECHA_FIN=CAST(@FECHA_FIN AS SMALLDATETIME)

SET @CADENA="select * from vw_ingresoscompraproveedor WHERE (INTRDATEPROCE BETWEEN '"+
			@FECHA_INI+
			"' AND '"+ 
			@FECHA_FIN+"') "+
			" AND SITEID IN ("+@SITE+") "

IF @TODASLASMONEDAS=1 AND @TODOS_PROV=1 	--TODAS LAS MONEDAS TODOS LOS PROVEEDORES
		SET @CADENA=@CADENA +' ORDER BY SITEID,NPROVEEDOR,INTRDATE '

IF @TODASLASMONEDAS=0 AND @TODOS_PROV=1 	--SOLO ALGUNA MONEDA TODOS LOS PROVEEDORES
		SET @CADENA=@CADENA +
		" AND FROMCURYID='"+ @SOLOMONEDA +"' "+
		' ORDER BY SITEID,NPROVEEDOR,INTRDATE '

IF @TODASLASMONEDAS=1 AND @TODOS_PROV=0 	--TODAS LAS MONEDAS ALGUNOS PROVEEDORES
		SET @CADENA=@CADENA +	
		" AND VENDIDSS IN (" + @CONDICION +") "+
		' ORDER BY SITEID,NPROVEEDOR,INTRDATE '

IF @TODASLASMONEDAS=0 AND @TODOS_PROV=0 	--SOLO UNA MONEDA  ALGUNOS PROVEEDORES
		SET @CADENA=@CADENA +
		" AND FROMCURYID='"+ @SOLOMONEDA +"' AND (VENDIDSS IN ("+@CONDICION+")) "+
		' ORDER BY SITEID,NPROVEEDOR,INTRDATE '
EXEC (@CADENA)

