Consulta Formateada con tabla de usuario

Tengo problemas con una consulta formateada, Necesito jalar esta consulta una vez que seleccionen la hora y que ponga dependiendo la hora el turno al que pertenece, la consulta es la siguiente:

SELECT (CASE WHEN U_Hora BETWEEN 600 AND 1359 THEN 'PRIMERO'
WHEN U_Hora BETWEEN 1400 AND 2359 THEN 'SEGUNDO'
WHEN U_Hora BETWEEN 000 AND 559 THEN 'TERCERO' END) AS Turno
 FROM [@PROD_CAP_PISOL] WHERE   U_Hora = $[$0_U_G.25.0]

EL problema es que es una tabla de usuario y en la parte de Item, no aparece como normalmente se muestra en cualquier otro formulario de sap, en este caso el Item tiene el valor 0_U_G y no se si es por eso pero no jala la consulta.

Tambie intente de la siguiente manera:

SELECT (CASE WHEN U_Hora BETWEEN 600 AND 1359 THEN 'PRIMERO'
WHEN U_Hora BETWEEN 1400 AND 2359 THEN 'SEGUNDO'
WHEN U_Hora BETWEEN 000 AND 559 THEN 'TERCERO' END) AS Turno
 FROM [@PROD_CAP_PISOL] WHERE   U_Hora = $[@PROD_CAP_PISOL.U_Hora.0]

Pero tampoco funciona.

No se si alguien ha tenido este mismo problema y me pueda orientar para que funcione la consulta.

De antemano muchas gracias.

Saludos.

Hola Alberth
En este parte debes colocar la tabla donde esta creado el campo de usuario que estas diligenciado.
ej: U_Hora = $[INV1.U_Hora.0]

2 Me gusta

Muchas gracias por tu apoyo Andrés Ramírez.

EL problema en este ejemplo, es que se estaba tomando un campo de usuario para realizar la consulta formateada, y esto nunca lo había hecho antes. Pensé que tendría una forma diferente de declararse.

Al final lo logre hacer en la consulta formateada de la siguiente manera:

SELECT DISTINCT (CASE WHEN U_Hora BETWEEN 600 AND 1359 THEN ‘PRIMERO’
WHEN U_Hora BETWEEN 1400 AND 2359 THEN ‘SEGUNDO’
WHEN U_Hora BETWEEN 000 AND 559 THEN ‘TERCERO’ END) AS Turno
FROM [@PROD_CAP_PISOL] WHERE U_Hora = $[@PROD_CAP_PISOL.U_Hora]

Es decir sin el ultimo .0

Y desde el asistente de consultas de SAP pude hacer la prueba Poniendo la consulta y como parámetro N’la hora’, de la siguiente manera:

SELECT DISTINCT (CASE WHEN U_Hora BETWEEN 600 AND 1359 THEN ‘PRIMERO’
WHEN U_Hora BETWEEN 1400 AND 2359 THEN ‘SEGUNDO’
WHEN U_Hora BETWEEN 000 AND 559 THEN ‘TERCERO’ END) AS Turno
FROM [@PROD_CAP_PISOL] WHERE U_Hora = N’600’

Donde 600 corresponde a las 6:00AM.

Dando como resultado PRIMERO que es lo que se pretendía.

Muchas gracias por tu pronta respuesta y espero esta solución le ayude a alguien con el mismo problema

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.