Join-Funktionalität #

Ab Xtract IS Version 4.0.0 können Table Joins in dem Tab Joins der Xtract Table-Komponente definiert werden. In Produktversionen vor 4.0.0 werden Table Joins über die separate Table Join-Komponente definiert. Table join Die Join-Funktionalität der Xtract Table-Komponente ermöglicht es, zwei oder mehr Tabellen zu verknüpfen (joinen) und das Ergebnis des Joins zu extrahieren. Um die Extraktion durchzuführen, wird der entsprechende SQL-Befehl dynamisch generiert und der Join auf dem SAP-Server ausgeführt.

Mögliche Szenarien sind die Verknüpfung von Tabellen für Kopf- und Positionsdaten oder Tabellen für Stammdaten und Texte.

Unterstützte Join-Typen:

  • Inner Join
  • Left Outer Join, auch als Left Join bezeichnet.

Weitere Informationen über Join-Typen finden Sie in der SAP-Online-Hilfe.

Hinweis: Als Voraussetzung für die Verwendung von Table Join muss der Funktionsbaustein Z_THEO_READ_TABLE in SAP verfügbar sein.

Hinweis: Das Joinen von Cluster- oder Pool-Tabellen wird nicht unterstützt. Cluster- und Pool-Tabellen müssen einzeln extrahiert und im Datenziel miteinander verknüpft (gejoint) werden.

Joinen von zwei Tabellen #

Das folgende Beispiel zeigt, wie die Tabellen MARA und MAKT verknüpft werden können.

Table join steps

  1. Klicken Sie im Tab Tables and Fields auf [Add] (1), um zwei Tabellen (z.B. MARA und MAKT) hinzuzufügen.
  2. Wählen Sie beide Tabellen auf der linken Seite aus und markieren Sie die Felder, die Sie extrahieren möchten (2).
  3. Wechseln Sie zum Tab Joins (3), um die Join-Bedingung zu definieren. Eine Join-Bedingung ist automatisch voreingestellt. Die Join-Bedingung basiert auf der Fremdschlüsselbeziehung der beteiligten Tabellen.
  4. Optional: Wechseln Sie zum Tab WHERE clause und geben Sie eine WHERE-Bedingung ein.

Hinweis: Achten Sie bei der Angabe einer WHERE-Bedingung auf die Einschränkungen beim Definieren der WHERE-Bedingung auf die rechte Tabelle des Table-Joins über einen LEFT OUTER JOIN.

Klicken Sie in dem Tab Joins auf Edit (Bleistift-Symbol), um die Join-Optionen anzuzeigen.
Im dargestellten Beispiel wird ein Left Outer Join auf die Tabellen MARA (linke Tabelle) und MAKT (rechte Tabelle) auf dem Feld MATNR durchgeführt. Es wird eine WHERE-Bedingung MAKT~SPRAS = ‘EN’ spezifiziert. Table-Join

Left Table (linke Tabelle), Right Table (rechte Tabelle), Join Type (Join-Typ) und Join Mapping sind mit Standardwerten voreingestellt. Sie können bei Bedarf modifiziert werden. Das Join Mapping basiert auf der Fremdschlüsselbeziehung der verknüpften Tabellen.

  • Klicken Sie auf [Add], um die Join-Bedingung auf weitere Felder auszudehnen.
  • Klicken Sie auf Remove (Mülleimer-Symbol), um bestehende Verknüpfungen zu entfernen.
  • Joinen Sie zusätzliche Tabellen im Tab Tables and Fields.

Empfehlung: Um Performance-Probleme zu vermeiden, joinen Sie nicht mehr als fünf Tabellen.

Tipp: Verschiedene Tabellen können identische Feldnamen haben. Die Definition einer Join-Bedingung auf der Grundlage der identischen Feldnamen liefert nicht immer das erwartete Ergebnis (z.B. VBAK~VBELN <> LIPS~VBELN). Stellen Sie sicher, dass die Felder, die Sie in einer Join-Bedingung verwenden, den gleichen Inhalt/die gleichen Daten enthalten.

Auto-Mapping-Funktion (optional)

Der Button [Auto-Map] löscht bestehende Join-Bedingungen und führt eine neue Feldzuordnung auf der Grundlage der Fremdschlüsselbeziehung der verknüpften Tabellen durch. Table-Join-Automapping

Joinen von drei Tabellen #

Beispiel für einen Join mit einer dritten Tabelle MARC:

Table-Join-Verknüpfungen2

Table-Join-Verknüpfungen3