Código:
Lo probé y funciona perfectamente bien, pero lo hice así para percatarme que funciona y le puse el código del material "000000000000002123" de forma fija, ahora quiero ponerlo de forma dinámira en una variable e hice lo siguiente:Declare @Padre varchar(6) Declare @Cod_Material varchar(18) Declare @Descripcion varchar(40) Declare @Ano int Declare @Mes char(2) Declare @Total float Declare Produccion Insensitive Cursor For Select Padre, Cod_Material, Descripcion from #Produccion Open Produccion Fetch Next From Produccion Into @Padre, @Cod_Material, @Descripcion While (@@Fetch_Status <> -1) Begin Select @Mes = Mes, @Ano = Ano, @Total = Total from OpenQuery(SAP,' SELECT SUBSTR(Sptag,5,2) as Mes, SUBSTR(Sptag,1,4) as Ano, sum(WEMNG) AS total FROM S021 WHERE MANDT = 400 And ( Sptag >= ''20040801'' And Sptag <= ''20040831'' ) And MATNR = ''000000000000002123'' GROUP BY SUBSTR(Sptag,5,2), SUBSTR(Sptag,1,4) ') Select @Padre, @Cod_Material, @Descripcion, @Mes, @Ano, @Total Fetch Next From Produccion Into @Padre, @Cod_Material, @Descripcion End Close Produccion Deallocate Produccion
Código:
Pero me da el siguiente error: Declare @Padre varchar(6) Declare @Cod_Material varchar(18) Declare @Descripcion varchar(40) Declare @Ano int Declare @Mes char(2) Declare @Total float Declare Produccion Insensitive Cursor For Select Padre, Cod_Material, Descripcion from #Produccion Open Produccion Fetch Next From Produccion Into @Padre, @Cod_Material, @Descripcion While (@@Fetch_Status <> -1) Begin Select @Mes = Mes, @Ano = Ano, @Total = Total from OpenQuery(SAP,' SELECT SUBSTR(Sptag,5,2) as Mes, SUBSTR(Sptag,1,4) as Ano, sum(WEMNG) AS total FROM S021 WHERE MANDT = 400 And ( Sptag >= ''20040801'' And Sptag <= ''20040831'' ) And MATNR = ''' + @Cod_Material + ''' GROUP BY SUBSTR(Sptag,5,2), SUBSTR(Sptag,1,4) ') Select @Padre, @Cod_Material, @Descripcion, @Mes, @Ano, @Total Fetch Next From Produccion Into @Padre, @Cod_Material, @Descripcion End Close Produccion Deallocate Produccion
Server: Msg 170, Level 15, State 1, Line 22
Line 22: Incorrect syntax near '+'.
Probé colocandolo asi, con una sola comillita: ' + @Cod_Material + ' y me da el mismo error.
Que estoy haciendo mal?