cancel
Showing results for 
Search instead for 
Did you mean: 

Query Manager

0 Kudos

Hola miembros del foro.

solicito de su ayuda.

tengo la siguiente consulta en el QryManager

SELECT T1.OcrCode, T0.[DocNum] as Documento, T0.[DocDate] as Fecha, T0.[CardName] as Cliente, T1.[ItemCode] as Codigo

  , T1.[WhsCode] as Almacen, T1.[Dscription], T1.[OpenQty] , T3.[SlpName] as  Vendedor

  FROM ORDR T0  INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry

  INNER JOIN OWHS T2 ON T1.WhsCode = T2.WhsCode

  INNER JOIN OSLP T3 ON T0.SlpCode = T3.SlpCode

  WHERE T0.[DocStatus] = 'O' AND  T1.[LineStatus] = 'O'

  And T1.OcrCode  = (select t3.PRCCode from oubr t2 inner join ousr t1 on t1.Branch=t2.code Inner Join OPRC T3 on T3.PRCName=T2.Remarks where UserID=(select $[User]))

  ORDER BY T0.[DocDate] Asc

sin embargo, no logro que "UserID=(select $[User])" resuleva algo.

el objetivo de esta consulta es que liste ordenes pendientes de la agencia a la que el usuario pertenece.

si alguno de ustedes puede darme una idea de como superar este problema, se los agradecere.

Saludos

Accepted Solutions (0)

Answers (3)

Answers (3)

0 Kudos

Como he resuleto ese asunto tentativamente, es:

dejar una ventana de SAP abierta (Transacciones)

ir a herramientas  / Consultas / Consultas de usuario y seleccionar el Qry que deseo ejecutar.

al ejecutarlo la instrucción = $[USER]  pasa a obener el valor de la variable SAP que corresponde al codigo de usuario correspondiente.

y listo.. funcionan las consultas que necesito...

Former Member
0 Kudos

Hola!... podrías explicar un poco más acerca de la solución que aplicaste por favor?, tengo el mismo problema, pero no logro que $[User] devuelva el código del usuario que está ejecutando la consulta.

Gracias.

0 Kudos

Leiva en donde lo estas aplicando? o como lo estas aplicando

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenos días.

Por lo que veo usas alias en las tablas, pero cuando quieres filtrar por UserdID, no lo asocias a ninguna tabla, ejemplo T0.UserID=$[USER]

Trata agregando el alias de la tabla antes del campo.

Saludos

0 Kudos

Hola Felipe.

fijate que el T0.Userid=    es el codigo del usuario registrado en SAP

en cuanto al $[USER] deberia ser el codigo del usuario que esta conectado en ese momento a SAP, esto funciona si lo ejecuto dentro de alguna pantalla de SAP x Ej. captura de ordenes de Venta... ese $[USER] para a ser 32 que es el codigo SAP del usuario.

Former Member
0 Kudos

Que dato quieres sustraer de esta parte de la consulta?

And T1.OcrCode  = (select t3.PRCCode from oubr t2 inner join ousr t1 on t1.Branch=t2.code Inner Join OPRC T3 on T3.PRCName=T2.Remarks where UserID=(select $[User]))

  ORDER BY T0.[DocDate] Asc

Saludos

0 Kudos
Hola Angel,

gracias por responder.


el T1.OcrCode contienen el Codigo de la sucursal en la que fue creada la orden de venta (esto se le asigna a travez de una BF)

el " (select t3.PRCCode from oubr t2 inner join ousr t1 on t1.Branch=t2.code Inner Join OPRC T3 on T3.PRCName=T2.Remarks where UserID= " debe darme el codigo de la sucursal a la que el usuario que esta conectado a SAP en ese momento y q por ende es el que esta ejecutando la consulta.

con ello quiero evitar que otos usuarios consulten informacion que no pertenezca a su sucursal.