Verknüpfung von Quelltabellen für die Wertermittlung 
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).
Wenn das Kartesische Produkt der Datensätze aus zwei Quelltabellen gebildet werden soll, sind dafür keine Einträge im Dialog Joindefinitionen erforderlich.
Beispiel
Selektionsfeld |
|
|---|---|
CARRID |
CONNID |
AA |
0400 |
LH |
0400 |
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:
SBOOK |
SFLIGHT |
||
|---|---|---|---|
CARRID |
CONNID |
CARRID |
CONNID |
AA |
0400 |
AA |
0401 |
AA |
0400 |
LH |
0400 |
LH |
0400 |
AA |
0401 |
LH |
0400 |
LH |
0400 |
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
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).
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:
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:
SBOOK |
SFLIGHT |
||
|---|---|---|---|
CARRID |
CONNID |
CARRID |
CONNID |
AA |
0400 |
initial |
initial |
LH |
0400 |
LH |
0400 |
initial |
initial |
AA |
0401 |
Das folgende Beispiel zeigt die Verknüpfung für drei Tabellen:
Beispiel
Selektionsfelder |
|
|---|---|
CARRID |
CONNID |
AC |
0700 |
LH |
0400 |
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 |
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 |
Joindefinitionen müssen so formuliert sein, dass es zu keinen unlogischen Kombinationen von Feldwerten kommen kann.
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:
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.