Code: Alles auswählen.
select single mfrpn into lmfrpn from mara as ma inner join vbap
as vb on ma~matnr = vb~matnr inner join eqbs as eq on vb~vbeln = eq~kdauf and posnr = eq~kdpos
where eq~equnr = 5.
Wenn du im Select einen Feldnamen angibst, wird der immer mit Tilde statt Bindestrich geschrieben (außer halt auf der rechten Seite der WHERE-Bedingung). In der Join-Bedingung musst du den Tabellennamen immer angeben, daher der "Tabellenzwang" bei posnr.ABAPStud hat geschrieben:Danke für deine Antwort. Kannst Du mir vielleicht dann auch noch mitteilen, warum ich bei EQ~kdpos die Tilde benötige? (...) Weißt du, warum das so ist? (auch wenn ich eq~kdpos = posnr schreibe, erhalte ich eine Fehlermeldung, dass posnr nicht bekannt ist...) Warum muss ich links vom Gleichheitszeichen den Tabellenname nicht angeben, aber auf der rechten Seite schon?
Code: Alles auswählen.
... posnr = eq~kdpos
Das hat Ralf doch schon geschrieben:ABAPStud hat geschrieben:denke das ist generell so, aber warum ist das so?
ralf.wenzel hat geschrieben:ABAPStud hat geschrieben:In der Join-Bedingung musst du den Tabellennamen immer angeben, daher der "Tabellenzwang" bei posnr.
Code: Alles auswählen.
select single mfrpn into lmfrpn
from mara as ma inner join vbap as vb on ma~matnr = vb~matnr
inner join eqbs as eq on vb~vbeln = eq~kdauf and
posnr = eq~kdpos
where eq~equnr = 5.