Vielleicht hilft dir der folgende Beispielcode (entliehen von http://www.4ap.de/pages/abap/syntax/inner-join.php):pohlmann-schwarza hat geschrieben:Der Tipp war schon mal Gold wert!
Leider bekomme ich es noch nicht ganz hin.
ABAP sagt nun das der Spaltenname MATNR zweideutig ist.
Das liegt offensichtlich an meiner WHERE Bedingung.
Aber warum ist da was zweideutig?
l
Code: Alles auswählen.
SELECT SINGLE mbew~lbkum mbew~vmkum mara~meins
FROM mbew inner join mara on mara~matnr = mbew~matnr
into corresponding fields of alv_output
WHERE mbew~mandt = sy-mandt
AND mbew~matnr = it_daten-matnr
AND mbew~bwkey = it_daten-werks
AND mbew~bwtar = ''.
es ist deshalb zweideutig, weil die Spalte MATNR (und andere) in beiden Tabellen vorkommt. Deshalb musst Du angeben, auf welches der beiden Tabellen das Feld basiert, welches Du in der WHERE-Bedingung genannt hast. Deshalb muss die betroffene Tabelle mittels ~ dem Feld vorangestellt werden.pohlmann-schwarza hat geschrieben:Der Tipp war schon mal Gold wert!
Leider bekomme ich es noch nicht ganz hin.
ABAP sagt nun das der Spaltenname MATNR zweideutig ist.Code: Alles auswählen.
SELECT * FROM ZMOD INNER JOIN ZMOD2 ON ZMOD2~MATNR = ZMOD~MATNR AND ZMOD2~LIFNR = ZMOD~LIFNR AND ZMOD2~WERKS = ZMOD~WERKS INTO CORRESPONDING FIELDS OF TABLE G_T_CHANGE WHERE MATNR = ZMOD-MATNR AND LIFNR = ZMOD-LIFNR AND WERKS = ZMOD-WERKS. ENDSELECT.
Das liegt offensichtlich an meiner WHERE Bedingung.
Aber warum ist da was zweideutig?
Viele Grüße
Michael
Code: Alles auswählen.
SELECT *
FROM ZMOD
INNER JOIN ZMOD2
ON ZMOD2~MATNR = ZMOD~MATNR
AND ZMOD2~LIFNR = ZMOD~LIFNR
AND ZMOD2~WERKS = ZMOD~WERKS
INTO CORRESPONDING FIELDS OF TABLE G_T_CHANGE
WHERE zmod~MATNR = ZMOD-MATNR
AND zmod~LIFNR = ZMOD-LIFNR
AND zmod~WERKS = ZMOD-WERKS.
Code: Alles auswählen.
SELECT *
FROM ZMOD
LEFT OUTER JOIN ZMOD2
ON ZMOD2~MATNR = ZMOD~MATNR
AND ZMOD2~LIFNR = ZMOD~LIFNR
AND ZMOD2~WERKS = ZMOD~WERKS
AND ZMOD2~ZINDEX = ZMOD~ZINDEX
INTO CORRESPONDING FIELDS OF TABLE G_T_CHANGE
WHERE zmod~MATNR = ZMOD-MATNR
AND zmod~LIFNR = ZMOD-LIFNR
AND zmod~WERKS = ZMOD-WERKS.