creo lo siguiente:
CREATE PROCEDURE [dbo].[COR_ConsumosMensuales_ConSaldo]
@cTipoFiltro char(4),
@cFiltro_Ini varchar(500),
@cFiltro_Fin varchar(500),
@cFiltro_Bod char(600),
@nAncho numeric(6, 2) = 0,
@dFecha_Desde smalldatetime,
@dFecha_Hasta smalldatetime
AS
SET DATEFORMAT DMY
SET NOCOUNT ON;
DECLARE @cSqlFiltro AS VARCHAR(500),
@cSQLFiltroAncho AS VARCHAR(100)
CREATE TABLE #ConsumosMensuales (
Cod_Item CHAR(25),
mes INT, total numeric(13, 4))
IF LEN(LTRIM(RTRIM(@cFiltro_Ini)))>0 OR LEN(LTRIM(RTRIM(@cFiltro_Fin)))>0
BEGIN
IF @cTipoFiltro = 'C'
SET @cSqlFiltro = ' AND (SUBSTRING(t.Cod_Item,1,'+LTRIM(STR(LEN(RTRIM(@cFiltro_Ini))))+')>='+ +"'"+RTRIM(@cFiltro_Ini)+"'"+' AND SUBSTRING(t.Cod_Item,1,'+LTRIM(STR(LEN(RTRIM(@cFiltro_Fin))))+')<='+"'"+RTRIM(@cFiltro_Fin)+"'"+')'
IF @cTipoFiltro = 'D'
SET @cSqlFiltro = ' AND (SUBSTRING(t.Des_item,1,'+LTRIM(STR(LEN(RTRIM(@cFiltro_Ini))))+')>='+"'"+RTRIM(@cFiltro_Ini)+"'"+' AND SUBSTRING(t.Des_item,1,'+LTRIM(STR(LEN(RTRIM(@cFiltro_Fin))))+')<='+"'"+RTRIM(@cFiltro_Fin)+"'"+')'
END
ELSE
SET @cSqlFiltro = ''
SET @cSQLFiltroAncho = ''
IF @nAncho > 0
SET @cSQLFiltroAncho = ' AND t.Ancho = ' + CAST(@nAncho AS VARCHAR(6))
DECLARE @cSqlFiltroBod AS CHAR(100),@cSqlConsulta AS NVARCHAR(400)
IF LEN(RTRIM(@cFiltro_Bod))>0
SET @cSqlFiltroBod = ' AND (t.cod_alm IN ('+RTRIM(@cFiltro_Bod)+'))'
ELSE
SET @cSqlFiltroBod = ''
DECLARE @cSqlFilFechas AS VARCHAR(400)
SET @cSqlFilFechas = ' AND (CONVERT(SMALLDATETIME,t.fecha_tra,103)>='+"'"+CONVERT(VARCHAR, @dFecha_Desde, 103)+"'"+' AND CONVERT(SMALLDATETIME,t.fecha_tra,103)<='+"'"+CONVERT(VARCHAR, @dFecha_Hasta,
103)+"'"+')'
DECLARE @cSqlcase AS VARCHAR(100)
SET @cSqlcase = 'Sum(CASE t.Prod_Can WHEN 1 THEN t.cantidadSA ELSE t.pesoSA END) AS TOTAL'
DECLARE @cSqlgroup as VARCHAR(400)
SET @cSqlgroup = ' group by t.cod_item,YEAR(CONVERT(SMALLDATETIME,t.fecha_tra,103)),MONTH((CONVERT(SMALLDATETIME,t.fecha_tra,103)))'
--codigo reemplezo
SET @cSqlConsulta ='
select t.cod_item,'+@cSqlcase+' from dbo.IN_TRA_INV as t
where t.tipinv="SA"'+ @cSqlFiltro+ RTRIM(@cSqlFiltroBod)+@cSqlFilFechas+@cSqlgroup
print @cSqlConsulta
EXEC sp_executesql @cSqlConsulta
pero al ejecutarlo tengo un error
Mens. 102, Nivel 15, Estado 1, Línea 3
Sintaxis incorrecta cerca de '('.
ya revise la compatibilidad e base y nada que ver auxilio
ALGUIEN QUE ME AYUDE CON SU OPINION????