Code: Alles auswählen.
SELECT
ekbe~belnr AS belnr
ekko~bsart AS bsart
ekko~ekorg AS ekorg
ekpo~matnr AS matnr
ekpo~txz01 AS txz01
mara~mtart AS mtart
eine~aplfz AS aplfz
ekpo~ebeln AS ebeln
ekpo~ebelp AS ebelp
ekko~ekgrp AS ekgrp
ekko~lifnr AS lifnr
lfa1~name1 AS name1
ekbe~menge AS menge
ekbe~bwart AS bwart
qals~lmengeist AS lmengeist
qals~lmenge01 AS lmenge01
qave~vcode AS vcode
ekbe~menge AS qty_return
ekko~bedat AS bedat
eket~eindt AS eindt
eket~eindt AS due_date
eban~frgdt AS frgdt
ekbe~budat AS budat
qals~paendzeit AS paendzeit
ekpo~netpr AS netpr
ekpo~werks AS werks
INTO CORRESPONDING FIELDS OF TABLE gt_result
FROM ekko INNER JOIN ekpo ON ekko~ebeln = ekpo~ebeln
LEFT OUTER JOIN ekbe ON ekbe~belnr = ekko~ebeln
INNER JOIN mara ON mara~matnr = ekpo~matnr
LEFT OUTER JOIN lfa1 ON lfa1~lifnr = ekko~lifnr
LEFT OUTER JOIN eket ON eket~ebeln = ekpo~ebeln AND eket~ebelp = ekpo~ebelp
LEFT OUTER JOIN eine ON eine~infnr = ekpo~infnr AND eine~werks = ekpo~werks
LEFT OUTER JOIN eban ON eban~banfn = ekpo~banfn AND eban~bnfpo = ekpo~bnfpo
LEFT OUTER JOIN qals ON qals~ebeln = ekpo~ebeln AND qals~ebelp = ekpo~ebelp
LEFT OUTER JOIN qave ON qave~prueflos = qals~prueflos
WHERE ekko~ekorg = p_ekorg AND ekko~bedat = p_bedat AND ekbe~budat IN so_budat.
Danke, aber wenn ich die "ekbe" Zeilen rausnehme, kommt immer noch der Fehler, daran kann es also nicht liegen :-(a-dead-trousers hat geschrieben: ↑04.10.2021 10:38Die Anweisung "LEFT OUTER JOIN ekbe" in Zusammenhang mit "ekbe~budat IN so_budat" bewirkt, dass die neue Syntax zu verwenden ist.
Code: Alles auswählen.
SELECT
* ekbe~belnr AS belnr
ekko~bsart AS bsart
ekko~ekorg AS ekorg
ekpo~matnr AS matnr
ekpo~txz01 AS txz01
mara~mtart AS mtart
eine~aplfz AS aplfz
ekpo~ebeln AS ebeln
ekpo~ebelp AS ebelp
ekko~ekgrp AS ekgrp
ekko~lifnr AS lifnr
lfa1~name1 AS name1
* ekbe~menge AS menge
* ekbe~bwart AS bwart
qals~lmengeist AS lmengeist
qals~lmenge01 AS lmenge01
qave~vcode AS vcode
* ekbe~menge AS qty_return
ekko~bedat AS bedat
eket~eindt AS eindt
eket~eindt AS due_date
eban~frgdt AS frgdt
* ekbe~budat AS budat
qals~paendzeit AS paendzeit
ekpo~netpr AS netpr
ekpo~werks AS werks
INTO CORRESPONDING FIELDS OF TABLE gt_result
FROM ekko INNER JOIN ekpo ON ekko~ebeln = ekpo~ebeln
* LEFT OUTER JOIN ekbe ON ekbe~belnr = ekko~ebeln
INNER JOIN mara ON mara~matnr = ekpo~matnr
LEFT OUTER JOIN lfa1 ON lfa1~lifnr = ekko~lifnr
LEFT OUTER JOIN eket ON eket~ebeln = ekpo~ebeln AND eket~ebelp = ekpo~ebelp
LEFT OUTER JOIN eine ON eine~infnr = ekpo~infnr AND eine~werks = ekpo~werks
LEFT OUTER JOIN eban ON eban~banfn = ekpo~banfn AND eban~bnfpo = ekpo~bnfpo
LEFT OUTER JOIN qals ON qals~ebeln = ekpo~ebeln AND qals~ebelp = ekpo~ebelp
LEFT OUTER JOIN qave ON qave~prueflos = qals~prueflos
WHERE ekko~ekorg = p_ekorg AND ekko~bedat = p_bedat
" AND ekbe~budat IN so_budat
.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Murdock
Das ist es, wollte ich auch gerade schreiben. ich habe mal schrittweise ein paar Sachen auskommentiert und wenn ich nura-dead-trousers hat geschrieben: ↑04.10.2021 11:06Pfuuhhh...
EDIT 2:
Möglich, dass die Anweisung "LEFT OUTER JOIN qave ON qave~prueflos = qals~prueflos" schuld hat, weil sie auf einen anderen LEFT OUTER JOIN aufbaut. Wobei mir bislang diese Einschränkung noch nie aufgefallen wäre bzw. noch nie gesehen hätte.
Code: Alles auswählen.
LEFT OUTER JOIN qals ON qals~ebeln = ekpo~ebeln AND qals~ebelp = ekpo~ebelp
Code: Alles auswählen.
LEFT OUTER JOIN qave ON qave~prueflos = qals~prueflos