Join mit Left Outer Join

Getting started ... Alles für einen gelungenen Start.
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Join mit Left Outer Join

Beitrag von Rude1986 (ForumUser / 5 / 0 / 0 ) »
join.PNG
Guten Abend,

wie kann ich folgendes "Projekt" realisieren?
Ich habe die FKKVKP, von der zwei Stränge losgehen sollen:
mit Feld FKKVKP-GPART über BUT000 -> ADR2. Das ist kein Problem

Aber wie kann ich realisieren, dass wenn in der FKKVKP das Feld "ABWRH" befüllt ist, ein left outer join über die Felder BUT000->ADR2 erfolgen soll.
Am besten mal das Bild schauen. Hier habe ich über den Quickviewer mal das Beispiel bildlich dargestellt.
Hier mein Entwurf eines ABAP-Codes:

SELECT a~VKONT, a~GPART, b~name_first, b~name_last, a~ABWRH, f~PARTNER, f~name_first, f~name_last
FROM ( ( ( ( ( ( ( ( FKKVKP as a
inner join BUT000 as b on a~GPART = b~PARTNER )
inner join BUT021_fs as c on b~PARTNER = c~PARTNER )
inner join BUT020 as d on c~PARTNER = d~PARTNER )
left outer join ADR2 as e on d~ADDRNUMBER = e~ADDRNUMBER )
left outer join BUT000 as f on a~ABWRH = f~PARTNER )
inner join BUT021_fs as g on f~PARTNER = g~PARTNER )
inner join BUT020 as h on g~PARTNER = h~PARTNER )
left outer join ADR2 as i on h~ADDRNUMBER = i~ADDRNUMBER )
where a~GPART IN @GP
INTO TABLE @i_data.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Join mit Left Outer Join

Beitrag von jocoder (Specialist / 348 / 3 / 103 ) »
Dies wäre ein Fall für CDS-Views. Wenn ich deine Frage richtig verstanden habe, wenn ABWRH gefüllt ist, soll immer die FKKVKP mit der BUT000 assoziiert werden (BUT000~PARTNER = FKKVKP~ABWRH), sonst BUT000~PARTNER = FKKVKP~GPART.

Zwei exemplarische CDS-Views, die dieses Verhalten abbilden können:
Ein erster CDS-View bildet die FKKVKP mit dem richtigen Geschäftspartner ab:

Code: Alles auswählen.

define view zfkkvkp as select from fkkvkp {
  key vkont,
  key gpart,
  (case abwrh when '' then gpart else abwrh ) as partner,
  ... // weiter Felder bei Bedarf zu hinzufügen
}
In einem zweiten View kann der so eben erstellte View mit den BUT*-Tabellen assoziiert werden:

Code: Alles auswählen.

define view zfkkvkp_partner as select from zfkkvkp as a
   association to but000 as b0 on b0.partner = a.partner
   association to but021_fs as b21 on b21.partner = a.partner
   association to but020_fs as b20 on b20.partner = a.partner {
   *
}
ABAP, Java, JavaScript
GitHub

Seite 1 von 1

Über diesen Beitrag



Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Feldroutine ADSO Transformation
vor 5 Tagen von codemaster1 2 / 40570
Stücklisten
vor einer Woche von Selma.schwarz 1 / 41739
Belege
vor einer Woche von Selma.schwarz 1 / 40756

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Vergleichbare Themen

Sap Query - left outer join Frage
von SDler » 17.12.2014 11:45
interne Tabellen vereinigen (outer join)
von Carlos-X » 01.06.2008 13:18
View 2 Tabellen mit left inner join ?
von Kleenmex » 07.04.2008 13:38
Versuch Left Join von 2 auf 3 Tabellen zu erweitern
von Domgr » 10.07.2020 16:59
inner join
von dawns » 14.05.2007 15:49

Aktuelle Forenbeiträge

Feldroutine ADSO Transformation
vor 5 Tagen von codemaster1 2 / 40570
Stücklisten
vor einer Woche von Selma.schwarz 1 / 41739
Belege
vor einer Woche von Selma.schwarz 1 / 40756

Unbeantwortete Forenbeiträge

Stücklisten
vor einer Woche von Selma.schwarz 1 / 41739
Belege
vor einer Woche von Selma.schwarz 1 / 40756