Show TOC

HintergrundVerknüpfung von Quelltabellen für die Wertermittlung Dieses Dokument in der Navigationsstruktur finden

 

In den Customizingeinstellungen für ILM-Regeln sind Quellfelder der ILM-Objekte für die Wertermittlung zu Bedingungsfeldern, Zeitbezügen und Zeitversätzen angegeben. Zur Laufzeit soll das System aus diesen Quellfeldern die entsprechenden Werte für die Regelauswertung ableiten.

Wenn die Quellfelder aus mehr als einer Quelltabelle stammen, verknüpft das System ihre Werte zur Laufzeit aus den betreffenden Quelltabellen durch eine Join-Operation miteinander. Für jeden Satz aus dem Ergebnis dieser Verknüpfung wertet das System die ILM-Regeln des entsprechenden ILM-Objekts aus.

Im Dialog Joindefinitionen der Objektkategoriespezifischen Einstellungen für ILM-Objekte der Objektkategorie SAP Business Suite sind für die Fälle Bedingungen für die Verknüpfungen definiert, in denen die Daten aus zwei Quelltabellen nicht durch das Kartesische Produkt, sondern durch einen Full Outer Join unter Beachtung zusätzlicher Gleichheitsbedingungen für die Quellfelder verknüpft werden sollen. Dies ist insbesondere dann der Fall, wenn ein ILM-Objekt als Quelltabelle für die Regelbestimmung mehrere Positionstabellen verwendet, die selbst mehrere Datensätze beinhalten können. In diesem Fall würde das Kartesische Produkt keine sinnvolle Kombinationen von Feldwerten ergeben (siehe Tabelle 9 unten).

Kartesisches Produkt ohne Joindefinition

Wenn das Kartesische Produkt der Datensätze aus zwei Quelltabellen gebildet werden soll, sind dafür keine Einträge im Dialog Joindefinitionen erforderlich.

Beispiel Beispiel

Tabelle 1: Tabelle SBOOK

Selektionsfeld

CARRID

CONNID

AA

0400

LH

0400

Tabelle 2: Tabelle SFLIGHT

Selektionsfeld

CARRID

CONNID

AA

0401

LH

0400

Ohne zusätzliche Bedingungen (Kartesisches Produkt) ergibt sich für den Join zwischen SBOOK und SFLIGHT folgendes Ergebnis:

Tabelle 3: Ergebnis des Joins

SBOOK

SFLIGHT

CARRID

CONNID

CARRID

CONNID

AA

0400

AA

0401

AA

0400

LH

0400

LH

0400

AA

0401

LH

0400

LH

0400

Ende des Beispiels.
Verknüpfung mit zusätzlichen Gleichheitsbedingungen

Ohne zusätzliche Bedingungen werden in obigem Beispiel auch Kombinationen gebildet, bei denen SBOOK-CARRID ungleich SFLIGHT-CARRID und SBOOK-CONNID ungleich SFLIGHT-CONNID sind. Zur Vermeidung solcher unlogischer Kombinationen können im Dialog Joindefinitionen zusätzliche Gleichheitsbedingungen für die Verknüpfung der Daten unterschiedlicher Tabellen definiert werden.

Hinweis Hinweis

Wenn Joindefinitionen festgelgt sind, wird für die Verknüpfung der Daten der zugehörigen Tabellen immer ein Full Outer Join vorgenommen, damit sich alle Datensätze der Quelltabellen im Ergebnis der Verknüpfung wiederfinden (unter Beachtung der im Dialog Joindefinitionen festgelegten Gleichheitsbedingungen).

Ende des Hinweises

Beispiel Beispiel

Für die verknüpften Daten sollen zusätzlich die folgenden Bedingungen gelten:

  • SBOOK-CARRID = SFLIGHT-CARRID

  • SBOOK-CONNID = SFLIGHT-CONNID

Dies wird durch folgende Einträge im Dialog Joindefinitionen erreicht:

Tabelle 4: Joindefinition 1

Join-Nr.

Tabelle links

Feld rechts

Tabelle rechts

Feld rechts

1

SFLIGHT

CARRID

SBOOK

CARRID

2

SFLIGHT

CONNID

SBOOK

CONNID

Das Ergebnis der Join-Verknüpfung für SBOOK und SFLIGHT unter Beachtung der Verknüpfungsbedingung sieht dann wie folgt aus:

Tabelle 5: Ergebnis des Joins

SBOOK

SFLIGHT

CARRID

CONNID

CARRID

CONNID

AA

0400

initial

initial

LH

0400

LH

0400

initial

initial

AA

0401

Ende des Beispiels.
Verknüpfung von drei Tabellen

Das folgende Beispiel zeigt die Verknüpfung für drei Tabellen:

Beispiel Beispiel

Tabelle 6: Tabelle SPFLI

Selektionsfelder

CARRID

CONNID

AC

0700

LH

0400

Tabelle 7: Joindefinition

Join-Nr.

Tabelle links

Feld links

Tabelle rechts

Feld rechts

1

SFLIGHT

CARRID

SBOOK

CARRID

1

SFLIGHT

CONNID

SBOOK

CONNID

2

SPFLI

CARRID

SFLIGHT

CARRID

2

SPFLI

CONNID

SFLIGHT

CONNID

Tabelle 8: Ergebnis des Joins

SBOOK

SFLIGHT

SPFLI

CARRID

CONNID

CARRID

CONNID

CARRID

CONNID

AA

0400

initial

initial

initial

initial

LH

0400

LH

0400

LH

0400

initial

initial

AA

0401

initial

initial

initial

initial

initial

initial

AC

0700

Ende des Beispiels.
Vermeidung unlogischer Verknüpfungen

Joindefinitionen müssen so formuliert sein, dass es zu keinen unlogischen Kombinationen von Feldwerten kommen kann.

Beispiel Beispiel

Im Folgenden ein Beispiel für eine schlecht gewählte Verknüpfung. Das Datenobjekt enthält die obigen Datensätze für die ILM-Objekte SBOOK und SPFLI, aber SFLIGHT enthält keine Daten. Die Zusatzbedingungen seien wie in Joindefinition 2. Das Ergebnis sieht dann wie folgt aus:

Tabelle 9: Ergebnis des Joins

SBOOK

SPFLI

CARRID

CONNID

CARRID

CONNID

AA

0400

AC

0700

AA

0400

LH

0400

LH

0400

AC

0700

LH

0400

LH

0400

Dieses Ergebnis erfüllt zwar die Joinbedingungen, ist aber möglicherweise unerwünscht, da es Sätze enthält, die in CARRID und CONNID nicht übereinstimmen.

Ende des Beispiels.