Error En Query Manager de SP Con fechas

Buenas tardes Equipo…

Tengo un problema actual con una consulta de Query Manager y los SP con fechas.

Tengo un SP que le paso 2 fechas (fecha inicio y fecha final), y el mismo me trae una información tal cual la está pidiendo el director. Sin embargo. si realizo el query y le coloco los parámetros de fechas manualmente si funciona.
Ejemplo:

exec [USK_SP_VENTAS_CONSOLIDADO]  '02/01/21', '02/28/21'

(por alguna razón me pide el formato de “MM/DD/YYYY” y creo que por ahí va el problema).

Pero si ya le coloco variables para que la fecha la pida desde que se pide el query manager me arroja error.

Ejemplo:

/* SELECT * FROM OINV a WHERE a.DocDate = '[%0]' AND a.DocDate = '[%1]' */
declare @fdesde date
declare @fhasta datetime
set @fdesde = '[%0]'
set @fhasta = '[%1]'

exec [USK_SP_VENTAS_CONSOLIDADO]  @fdesde, @fhasta

Esta arroja distintos errores, no siempre es el mismo. (pero tiene que ver con los parámetros)

He estado validando y creo que es un tema de fecha, pero no me está aceptando los Convert ni Cast en el query.

Para probar le coloque la siguiente consulta:

/* SELECT * FROM OINV a WHERE a.DocDate = '[%0]' AND a.DocDate = '[%1]' */
declare @fdesde date
declare @fhasta datetime
set @fdesde = '[%0]'
set @fhasta = '[%1]'

Select @fdesde as 'Desde', @fhasta as 'Hasta'

--exec [USK_SP_VENTAS_CONSOLIDADO]  '02/01/21', '02/28/21'

Y esta si me da resultados (si está leyendo las variables y las está guardando)

Por eso creo que el error está en el formato de las variables.

¿Alguna ayuda sobre este caso?

EDIT: El SP solicita 2 variables de tipo Fecha
image

Se me hace complicado cambiar este SP ya que tiene al menos unos 8 reportes que lo usan de base.

NOTA: Los errores son muy variables y ninguno dice directamente algo del query.
1). [Microsoft][SQL Server Native Client 11.0][SQL Server]Error converting data type varchar to date.
‘Alertas recibidas’ (OAIB)

Otro

1). [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near the keyword ‘Select’.
2). [Microsoft][SQL Server Native Client 11.0][SQL Server]Statement ‘Valores definidos por usuario’ (CSHS) (s) could not be prepared.

Otro

1). [Microsoft][SQL Server Native Client 11.0][SQL Server]Operand type clash: date is incompatible with float
2). [Microsoft][SQL Server Native Client 11.0][SQL Server]Statement ‘Acuerdo global’ (OOAT) (s) could not be prepared.

Olvidenlo… ya lo resolví. Si era un tema de formato de la variable. Lo resolví con este query, espero les sirva si tienen problemas de fechas luego.

/* SELECT * FROM OINV a WHERE a.DocDate = '[%0]' AND a.DocDate = '[%1]' */
declare @fdesde date
declare @fhasta date
set @fdesde = '[%0]'
set @fhasta = '[%1]'
declare @fd nvarchar (8)
declare @fh nvarchar(8)
--(SQL tiene una configuración de fecha distinta a la de SAP)
set @fd = (SELECT CONVERT(NVARCHAR, @fdesde, 1)) --hago la conversión para el SP 
set @fh = (SELECT CONVERT(NVARCHAR, @fhasta, 1)) --hago la conversión para el SP

exec [USK_SP_VENTAS_CONSOLIDADO]  @fd, @fh

Saludos (Si… pongo muchos comentarios en mis querys de porque hago X o Y calculo. así cuando los reviso de nuevo se que estaba haciendo o que pasó por mi cabeza con ese pedazo del código :rofl: :joy:

3 Me gusta

Excelente. Gracias por compartir la manera en que lo resolviste.
Saludos.