could someone give me a clue of why I get a conversion error in SQL 2005
I am running a stored Proc within a stored proc and all is fine with SQL 2000.
When I try to run the same on a SQL 2005 server I get
TIA
-Mo
Code:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
--Created by Mo for POS Informes
ALTER PROCEDURE [dbo].[XLRSP_DailyProductionByShift]
@TerminalId varchar(200), -- (till in Restaurant, Supermarket, Bar.....)
@StartDate datetime, -- Starting date range.
@EndDate datetime -- End Date range
AS
BEGIN
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
create table #TempTbl(FechaCierre datetime, Descripcion varchar(100), PuntoDeVenta Varchar(100),
DescripcionFB varchar(100), Totallinea numeric(10,2), Turno varchar(100), IdCierre int, Desde datetime,
Hasta datetime, TiposPago varchar(100) )
insert into #TempTbl exec ControlesHistoricosCentral.dbo.XLRSP_DailyProductionByShift @TerminalId,@StartDate,@EndDate
SELECT TC.FechaCierre, FBE.Descripcion, FBT.Descripcion AS [Punto de Venta], ZTFB.DescripcionFB, CONVERT(numeric(10, 2),
SUM(HTTL.Cantidad * HTTL.Precio - HTTL.Cantidad * HTTL.Precio * HTTC.Descuento / 100)) AS Totallinea, FBTu.Descripcion AS Turno,
TC.Id AS IdCierre, FBTu.Desde, FBTu.Hasta, FBTP.Descripcion AS TiposPago
FROM HIST_TPV_Tickets_C AS HTTC INNER JOIN
HIST_TPV_Tickets_L AS HTTL ON HTTC.ID = HTTL.IDTicket AND HTTC.Id_Explotacion = HTTL.Id_Explotacion AND
HTTC.IDTerminal = HTTL.IDTerminal INNER JOIN
TPV_Cierres AS TC ON HTTC.IdCierre = TC.Id AND HTTC.Id_Explotacion = TC.Id_Explotacion AND HTTC.IDTerminal = TC.IdTerminal INNER JOIN
HIST_TPV_Tickets_Cobros AS HTTCo ON HTTC.Id_Explotacion = HTTCo.Id_Explotacion AND HTTC.ID = HTTCo.IDTicket AND
HTTC.IDTerminal = HTTCo.IDTerminal INNER JOIN
ControlesCentralPBC.dbo.[F&B_TiposPago] AS FBTP ON HTTCo.IDTipoPago = FBTP.Id INNER JOIN
ControlesCentralPBC.dbo.[F&B_ArticulosVenta] AS FBAV ON FBAV.Id = HTTL.IDArticulo INNER JOIN
ControlesCentralPBC.dbo.ZVTipoFB AS ZTFB ON ZTFB.FB = FBAV.FAB INNER JOIN
ControlesCentralPBC.dbo.[F&B_Explotaciones] AS FBE ON HTTC.Id_Explotacion = FBE.Id INNER JOIN
ControlesCentralPBC.dbo.[F&B_Terminales] AS FBT ON FBT.Id = HTTC.IDTerminal LEFT OUTER JOIN
ControlesCentralPBC.dbo.[F&B_Turnos] AS FBTu ON HTTC.IdTurno = FBTu.Id INNER JOIN
dbo.SplitIDs(@TerminalId) AS TID ON FBT.Id = TID.vID
WHERE (TC.FechaCierre BETWEEN @StartDate AND @EndDate)
GROUP BY TC.FechaCierre, FBE.Descripcion, FBT.Descripcion, ZTFB.DescripcionFB, FBTu.Descripcion, TC.Id, FBTu.Desde, FBTu.Hasta, FBTP.Descripcion
union all
select FechaCierre, Descripcion, PuntoDeVenta, DescripcionFB,
Totallinea, Turno, Idcierre, Desde, Hasta, TiposPago
from #TempTbl
END
I am running a stored Proc within a stored proc and all is fine with SQL 2000.
When I try to run the same on a SQL 2005 server I get
Code:
Msg 457, Level 16, State 1, Procedure XLRSP_DailyProductionByShift, Line 18
Implicit conversion of varchar value to varchar cannot be performed because the collation of the value is unresolved due to a collation conflict.
TIA
-Mo