Buenas noches me llamo Juan Antonio soy nuevo en el foro, quiero realizar una consulta que me muestre los proyectos y los responsables de cada uno de ellos, el problema con el que me encuentro es el siguiente, la tabla OPRJ y la tabla OUSR no tengo forma de relacionarlas, he probado con todas las foreign key de la tabla OUSR pero no consigo resultado.
Gracias.
Hola Juan
La tabla de OPRJ la unica relacion que tiene con OUSR, es en los campos UserSign(usuario creador del proyecto) y UserSign2 (usuario actualizador)
Si necesitas tener una relación de asignación debes crear un campo de usuario en el caso de que la relación sea uno a muchos o muchos a uno, en caso de ser muchos a muchos debes crear una tabla intermedia (de usuario)
Buenos días Andres, gracias por responder a mi duda, como te comentaba el error es el 339, te adjunto captura de pantalla por si supieses que es lo que pasa.
Solo puedes relacionar según el codigo de usuario de creación del proyecto.
SELECT T0.[PrjCode], T0.[PrjName], T0.[ValidFrom], T0.[ValidTo], T0.[Active], T0.[usersign], T1.[USER_CODE], T1.[U_NAME] FROM OPRJ T0 inner join OUSR T1 on t0.usersign=T1.USERid
Buenos días y perdonad el retraso en la contestación, el campo T0.“PrjCode” en un NVARCHAR y el campo T1.“userSign” es SMALLINT, he intentado hacer casting o convertor pero no hay manera.
El error que os muestro dice que Protext0182018 es el T0.“PrjCode” y el codigo de usuario es el 2 creo.
Puede ser que tenga que añadir una columna como primary key que sea numérico???
Otra cosa, para filtrar por fechas por parametro existe alguna forma que te muestre un calendario y seleciones las fechas en la consulta?? lo he intentado pero solo me sale para introducir la fecha por teclado.
Buenas tardes Andres, perdona es verdad pero después de tantas pruebas no me dí cuenta, en el select no tiene sentido, pero da el mismo error, ya me pasaba antes lo que pasa es que puse la captura equivocada.
Buenas tardes @meqs, la query que me escribiste no funciona ya que las columnas que tiene la tabla OPRJ y OUSR son las siguientes que te muestro en la captura.
t0.usersign es un columna de OUSR y UserId no no existe en ninguna de las dos tablas.
Juan
A nivel de sintaxis la siguiente seria la manera correcta. A nivel lógico no creo que funcione a menos de que en tu empresa creen un proyecto por cada usuario de SAP.
SELECT T0."PrjName", T0."Active", T1."userSign", T1."U_NAME", T1."USER_CODE"
FROM OPRJ T0
INNER JOIN OUSR T1 ON T0."PrjCode" = TO_NVARCHAR(T1."userSign" )
Vamos por partes:
1.- ¿Si ese query lo ejecutas en tu sistema da error o devuelve datos?
2…- En la tabla OPRJ siempre se graba el usuario que crea el proyecto, como en casi todas las tablas de SAP, el usersign, o firma del usuario.
3.- Relacionas ambas tablas por el código y te traes el nombre.
Que no los veas en la lista de campos, no quiere decir que no existan en la tabla dichos campos.
Hombre de poca fé.
Buenas noches @meqs, como comente estoy empezando en en la consultoría Sap, creía que el generador de consultas te mostraba la totalidad de campos, al final ya he podido generar la query gracias a ty ayuda.
Mi empresa también trabaja con Beas y el generador de consultas no te muestra nada de ellas, he podido relacionar las tablas de Sap y Beas y voy consiguiendo el resultado que me piden.
Sabrías de algún curso o formación online sobre querys en Sap.
SELECT T0.“PrjCode”, T0.“PrjName”, T0.“U_beas_status” AS “Estado”, T1.“U_NAME” AS “Responsable”, T2.“DESCRIPTION”
FROM
OPRJ T0 INNER JOIN OUSR T1 ON T0.“UserSign”=T1.“USERID”
INNER JOIN BEAS_PRJ_LINE T2 ON T2.“UserID” = T1.“USERID”
Me alegro, deberías marcar el post como solucionado para los que vengan detrás.
Es raro que no te aparezcan las tablas de BEAS en el generador de consultas, las tablas de los Addon o de algunos suelen verse precedidas de @.
Si no te aparecen con el SQL Management Studio puedes ver esas tablas y los nombres de los campos y además te servirá para entender la relación entre las tablas.
BEAS solo lo conozco de demos y de oídas.
Sería interesante que supieras como es el montaje de la instalación, si va sobre la bbdd de tu sociedad de SAP o es una bbdd distinta en el SQL/HANA y hacen insert/updates finales en SAP para que sepas donde tienes que buscar o como la información.