Tengo la siguiente query con dos parámetros de entradas:
SELECT SUM (T0."DocTotal")
FROM ORDR T0 INNER JOIN RDR1 T1 ON T0."DocEntry" = T1."DocEntry"
WHERE YEAR(T0."DocDate") = YEAR([%1])
AND T1."WhsCode" = '[%2]'
AND MONTH(T0."DocDate") = '1'
Mi problema es que SAP me obliga a seleccionar una fecha completa en vez de solo el año (que es lo que necesito como entrada). Tuve que hacer la comparación de esa manera pero no me parece natural para el usuario tener que escoger una fecha completa para sólo comparar por el año.
¿Existe alguna manera de recibir como entrada sólo el año? He buscado en internet pero sin suerte hasta ahora.
Estimado, creo que no vale la pena que te esfuerces enque solo pida el año, creo que con indicarle al usuario que no importando la fecha que ponga sino que lo relevante aqui es el año a la hora que te consulte bastara.
Si lo que quieres si o si que ingresen solo el numero, creo que podrías hacer una tabla de usuario o buscar un campo que sea solo numero y seria algo asi
DECLARE @ANIO INT
SET @ANIO = (/*select top 1 T0.Code from [@TBL_USER] T0 WHERE T0.Code =*/'[%0]')
SELECT
SUM (T0."DocTotal")
FROM ORDR T0
INNER JOIN RDR1 T1 ON T0."DocEntry" = T1."DocEntry"
WHERE YEAR(T0."DocDate") = @ANIO
AND T1."WhsCode" = '[%2]'
AND MONTH(T0."DocDate") = '1'
Hola @Panxulo, gracias por tu respuesta. Cuando intento crear la tabla de usuario me dice que hay otras estaciones de trabajo conectadas, le doy en la opción ignorar y me dice que eso puede causar problemas de integridad de datos (no me parece que haya problemas porque lo que hago es crear una tabla) pero no estoy 100% seguro. ¿Puedo confirmar este diálogo y continuar con la creación de la tabla?
Ese dialogo indica que hay personas conectadas y te indica las estaciones conectadas a SAP, por lo general se hace en horarios en los que no este la gente trabajando en SAP, ya que si modificas la estructura de SAP sin importar si es un campo o una tabla de usuario este dejara a todas las personas que esten tratando de generar un documento sin efecto este mismo y no podran re tomarlos, hasta que cierren el formulario y lo vuelvan a abrir