|
#1
|
|||
|
|||
Urgente Left Join
Buen día, estoy tratando de hacer un select con varios left join pero SAP al parecer tiene un límite de left join...yo con sql si puedo hacerlo, lo que estoy tratando de hacer es buscar los precios de venta de todos los articulos y los que no lo tengan en la tabla A501 que aparezcan pero con precio en 0, para eso hice esto:
SELECT mard~matnr "Material mard~werks "Centro mard~lgort "Almacén mard~labst "Libre Utilización makt~maktx mvke~kondm " Grupo de Material A501~PLTYP "tipo de precio Z1 o Z2 KONP~KBETR "PRECIO INTO CORRESPONDING FIELDS OF TABLE t_data FROM mard left outer JOIN makt ON makt~matnr EQ mard~matnr AND makt~spras = 'S' inner JOIN mvke " para sacar el grupo de material pero por material ON mvke~matnr EQ makt~matnr " saca dos posiciones. inner JOIN A501 "tipo de precio Z1 o Z2 ON A501~matnr EQ makt~matnr and A501~werks = mard~werks inner JOIN KONP "PRECIO ON KONP~KNUMH EQ A501~KNUMH WHERE mard~werks IN s_werks AND mard~matnr IN s_matnr AND mard~lgort IN s_lgort AND A501~PLTYP IN S_TIPO "z1 o z2 AND mvke~kondm IN s_kondm aNd A501~DATBI EQ '99991231'. Que otra forma se les ocurre sin usar varios left? |
#2
|
|||
|
|||
Sin foto no hay ayuda
|
#3
|
||||
|
||||
Daniela pide foto de karla? estas cosas existen en las abaperas? |
#4
|
|||
|
|||
jajaja pero que esta pasando aquí? jajaja la fotos que les puedo dar es la del tremendo error que me genera sap cuando hago muchos left jejejejeje conformense con saber que son 100 90 60 jajaja no mentira
|
#5
|
|||
|
|||
¿ Puedes colocar el texto completo del DUMP que te genero? |
#6
|
|||
|
|||
He hecho una prueba con varios joins y no me da ningún problema.
select vbak~vbeln into table t_ from vbak left outer join vbap on vbak~vbeln = vbap~vbeln inner join mara on vbap~matnr = mara~matnr inner join MAKT on mara~matnr = makt~matnr and spras = sy-langu INNER JOIN TVak on vbak~auart = TVAK~auart inner join TVAU on vbak~augru = tvau~augru. Igual viendo el dump podríamos hacernos alguna idea más concreta. Puedes probar, a ir haciendo la sql por parte, primero el left join a ver si si que recoges datos y después ir añadiendo cada uno de los inner join, a ver en qué punto te da error. También podrías sustituir los inner join por for all entries in. Pierdes rendimiento pero podría valerte. Un saludo. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|