Problema con variable $[USER] en SAPB1 9.3

Buenas tardes a todos, espero me puedan ayudar.

Estamos migrando SAPB1 de la versión 9.2 a la versión 9.3 y hemos visto que todas nuestras consultas que usan la variable $[USER] en el Query Manager (Consultas que se usan para Widget y búsquedas formateadas) no funcionan.

Al correr el query: SELECT * FROM OUSR WHERE USERID = $[USER] en el Query Manager la variable $[USER] toma el valor del usuario activo del SAPB1 en mi caso la consulta anterior se ejecuta como SELECT * FROM OUSR WHERE USERID = 8 , en la versión 9.3 no ocurre el cambio por el valor del usuario activo y sale error.

Necesito saber si alguien ya se le ha presentado este problema y si por favor puede compartir como lo ha resuelto.

Saludos cordiales

Prueba esto :

Select top 1 UserCode from USR5 where SessionID=@@spid order by Date desc,Time desc
2 Me gusta

Muchas gracias por responder, mi BBDD es HANA, ahora estoy buscando el equivalente a @@spid en HANA, sin éxito hasta el momento.

Select top 1 "UserCode" from USR5 where "SessionID"=@@spid order by "Date" desc,"Time" desc;

prueba así:

SELECT CURRENT_USER from DUMMY

Muchas gracias por responder.

Esa variable es el usuario de BBDD no el usuario SAPB1. :frowning:

Encontré una explicación.

La empresa que nos da soporte nos indicó que SAP por seguridad desde la versión 9.3 no deja que la variable $[USER] funcione directamente desde el Query Manager.

También en las pruebas realizadas con ellos vimos que, si la consulta es consumida desde una búsqueda formateada, la variable $[USER] trabaja como siempre, es decir, toma el valor del usuario activo en el SAPB1.

Luego en nuestras verificaciones de funcionalidades encontramos que, si la consulta es consumida desde un Widget o desde el menú de Herramientas/Consultas/Consultas Usuario, además de la búsqueda formateada vistas anteriormente, la variable $[USER] trabaja como siempre, es decir, toma el valor del usuario activo en el SAPB1.

Muchas gracias por su tiempo