In der Planung können Sie mithilfe von Merkmalsbeziehungen festlegen, welche Kombinationen Sie innerhalb Ihrer Planungsapplikation zulassen möchten. Außerdem lassen sich korrekte Werte automatisch ableiten. In diesem Artikel lernen Sie, wie Sie mit Merkmalsbeziehungen arbeiten.
Mit Merkmalsbeziehungen können Sie inhaltlich korrespondierende Merkmale miteinander verknüpfen, wodurch Sie deren Datenkonsistenz sicherstellen können. Dies erreichen Sie, indem Sie Regeln definieren, um zulässige Kombinationen von Merkmalswerten für die Plan-InfoProvider zu überprüfen.
Sie können auch Regeln festlegen, nach denen aus Merkmalswerten automatisch Werte für weitere Merkmale abgeleitet werden können. So können Sie z. B. anhand der Stadt die Region bestimmen. Dies ist nützlich, wenn die abgeleiteten Merkmale im gegenwärtigen Planungskontext nicht relevant sind, aber für weitere Auswertungen zur Verfügung stehen sollen.
Grundsätzlich wird zwischen drei Funktionen unterschieden.
1. Wenn ein Datensatz angelegt wird, kann das SAP-System prüfen, ob die geplante Merkmalskombination erlaubt ist. Die in der nachfolgenden Tabelle dargestellte Kombination wäre z. B. nicht gültig und könnte somit nicht gespeichert werden.
Produktgruppe |
Produktkategorie |
Menge |
Smartphone S |
Tablets |
100 |
2. Außerdem kennt das SAP-System die gültigen Kombinationen je Merkmal und kann diese automatisch vorgeschlagen bzw. generieren. In der nachfolgenden Tabelle sehen Sie ein Beispiel.
Produktgruppe |
Produktkategorie |
Menge |
Smartphone S |
Smartphones |
0 |
Tablet I |
Tablets |
0 |
3. Darüber hinaus kann die Ausprägung eines Merkmals aus der Ausprägung eines anderen Merkmals abgeleitet werden. So kann z. B. aus einer geplanten Produktgruppe die entsprechende Produktkategorie im Hintergrund automatisch gefüllt werden, wie es in der nachfolgenden Tabelle dargestellt ist.
Produktgruppe |
Produktkategorie |
Menge |
Smartphone S |
Smartphones |
100 |
Generell sind mehrere Merkmalsbeziehungen pro InfoProvider möglich. In diesem Fall werden alle Merkmalsbeziehungen schrittweise in der hinterlegten Reihenfolge ausgeführt. Damit können Sie bei der Definition von Merkmalsbeziehungen Kausalketten bilden. So können Sie z. B. zuerst aus einem Produkt die Produktgruppe ableiten, um dann im zweiten Schritt aus der Produktgruppe die Produktkategorie abzuleiten. Zu Testzwecken können Sie auch einzelne Schritte der Merkmalsbeziehungen deaktivieren.
Grundsätzlich wird zwischen Merkmalsbeziehungen mit Ableitung und ohne Ableitung unterschieden. In den nächsten Abschnitten erläutere ich die wesentlichen Unterschiede anhand eines Beispiels.
Betrachten wir die folgenden Stammdaten: der Produktgruppe Smartphone S ist die Produktkategorie Smartphones zugeordnet. Die Produktgruppe Tablet I gehört zu der Produktkategorie Tablets.
Produktgruppe |
Produktkategorie |
Smartphone S |
Smartphones |
Tablet I |
Tablets |
Auf der Ebene des InfoProviders legen wir eine Merkmalsbeziehung ohne Ableitung fest. Sie können dabei entweder die Transaktion RSPLAN oder in höheren Versionen die BW Modeling Tools nutzen.
Wenn sich beide Merkmale in der Aggregationsebene befinden, werden die gültigen Kombinationen geprüft und können auch automatisch generiert werden.
So wird zum Beispiel die Kombination Smartphone S und Tablets als ungültig erkannt.
Beachten Sie allerdings, dass die folgenden Kombinationen als valide angesehen werden:
Produktgruppe |
Produktkategorie |
Smartphone S |
# |
# |
Smartphones |
Sie können eine Liste aller validen Kombinationen einsehen, wenn Sie für das Merkmal Produktgruppe in den Query Einstellungen unter Erweitert → Zugriffsart für Ergebniswerte die Option Merkmalsbeziehungen auswählen.
Dabei werden folgende Kombinationen automatisch generiert.
Wie Sie sehen können, handelt es sich dabei um ein kartesisches Produkt aller erlaubten Kombinationen. Dabei kommt dem initialen Merkmalswert # (Nicht zugeordnet) eine besondere Rolle zu. So sind Kombinationen mit dem Initialwert # standardmäßig gültig. Dies liegt daran, dass Merkmale, die in einer Aggregationsebene nicht vorkommen, immer mit dem Initialwert fortgeschrieben werden. Daher erfolgt für die Initialwerte keine Gültigkeitsprüfung.
Wenn dieses Verhalten nicht erwünscht ist, können Sie automatisch gültige Kombinationen verbieten, indem Sie in der Merkmalsbeziehung die Option Exclude # auswählen.
In diesem Fall werden die folgenden Kombinationen nicht mehr als valide angesehen:
Produktgruppe |
Produktkategorie |
Smartphone S |
# |
# |
Smartphones |
Wenn Sie die Einstellung Zugriffsart auf Merkmalsbeziehungen setzen, werden nur noch drei gültige Kombinationen generiert.
Wenn sich nur das Merkmal Produktgruppe in der Aggregationsebene befindet, hat die definierte Merkmalsbeziehung keine Funktionalität.
Wenn Sie auf der Ebene der Produktgruppe planen, wird die Produktkategorie als Nicht zugeordnet # gespeichert.
Um die Produktkategorie automatisch ableiten zu können, müssen Sie eine Merkmalsbeziehung mit Ableitung definieren. Wie dies funktioniert, erfahren Sie im nächsten Abschnitt.
Um die Merkmalsbeziehungen mit Ableitung zu erklären, benutze ich dieselbe Kombination von Produktgruppe und Produktkategorie als Beispiel.
Produktgruppe |
Produktkategorie |
Smartphone S |
Smartphones |
Tablet I |
Tablets |
Um eine Merkmalsbeziehung mit Ableitung zu definieren, aktivieren Sie die Einstellung Mit Ableitung und definieren das Quell- und Zielmerkmal.
Bei einer Kombination mit Ableitung werden weiterhin gültige Kombinationen geprüft, wenn beide Merkmale sich in der Aggregationsebene befinden.
So wird zum Beispiel die Kombination Smartphone S und Tablets weiterhin als ungültig erkannt. Im Unterschied zur Merkmalsbeziehung ohne Ableitung wird jedoch automatisch die Produktkategorie abgeleitet, wenn Sie eine Produktgruppe eingeben.
Somit ist es nicht möglich, die folgende Kombination einzugeben:
Produktgruppe |
Produktkategorie |
Smartphone S |
# |
Beachten Sie jedoch, dass eine undefinierte Produktgruppe mit einer Produktkategorie weiterhin erlaubt ist.
Produktgruppe |
Produktkategorie |
# |
Smartphones |
Um die Liste aller gültigen Kombinationen anzuzeigen, können Sie für das Merkmal Produktgruppe in den Query Einstellungen unter Erweitert → Zugriffsart für Ergebniswerte die Option Merkmalsbeziehungen auswählen.
Im Gegensatz zu Kombinationen, die mit Merkmalsbeziehungen ohne Ableitung generiert werden, wird kein kartesisches Produkt generiert. Sondern nur die validen Kombinationen aus Produktgruppe und Produktkategorie. Wie Sie sehen, gelten jedoch Kombinationen mit leerer Produktgruppe als valide. Sollte es nicht erwünscht sein, können Sie automatisch gültige Kombinationen verbieten.
Setzen Sie dabei, analog zu Merkmalsbeziehungen ohne Ableitung, das Häkchen bei der Einstellung Exclude #.
Wenn Sie anschließend die Query erneut aufrufen, sieht das Ergebnis genauso aus wie bei Merkmalsbeziehungen ohne Ableitung.
Der wichtigste Unterschied wird jedoch deutlich, wenn sich nur das Merkmal Produktgruppe in der Aggregationsebene befindet.
In diesem Fall wird die zugehörige Produktkategorie automatisch abgeleitet und im InfoProvider gespeichert, wenn Sie eine Produktgruppe planen.
Im Allgemeinen sollten Sie immer die Eigenschaft mit Ableitung benutzen. So wird sichergestellt, dass jeder Datensatz mit allen erlaubten Ausprägungen versehen wird, auch wenn ein Merkmal in der Aggregationsebene versehentlich fehlt. Auch wenn Sie die Eigenschaft mit Ableitung selektieren, wird weiterhin eine Kombinationsprüfung durchgeführt (oder ein Vorschlag erzeugt), wenn alle betroffenen Merkmale in der Aggregationsebene enthalten sind.
Die Ausprägungen der Merkmalskombinationen können über vier verschiedene Wege ermittelt werden. Als Quelle für Merkmalsbeziehungen können Stammdatenattribute eines Merkmals (Typ Attribut), eine Hierarchie (Typ Hierarchie), ein DataStore-Objekt (Typ DSO) oder eine Exit-Klasse (Typ Exit) dienen.
Wenn Attribut als Typ ausgewählt ist, werden die in den Stammdaten des Merkmals enthaltene Kombinationen aus Merkmals- und Attributwerten als zulässige Ausprägungen übernommen. Wenn Sie Hierarchie als Typ wählen, können Sie die Quell- und Zielmerkmale der Merkmalsbeziehungen über eine Hierarchie bestimmen. Sie können aber auch die gültigen Kombinationen in einem DSO hinterlegen und diesen als Quelle für Merkmalsbeziehungen nutzen. Darüber hinaus haben Sie die Möglichkeit, zulässige Merkmalskombinationen durch eine individuelle Programmierung flexibel und individuell zu gestalten. Nutzen Sie in diesem Fall den Typ Exit.
Es ist empfehlenswert, individuelle Exit-Funktionalitäten für Merkmalsbeziehungen direkt in der SAP-HANA-Datenbank mittels SQLScript zu implementieren. Dabei muss die SAP-HANA-spezifische Schnittstelle IF_RSPLS_CR_EXIT_HDB implementiert werden. Falls Sie sich jedoch nicht mit SQLScript auseinandersetzen wollen, können Sie weiterhin die Implementierung über ABAP als Fallback nutzen. Dabei können Sie die Beispielklasse CL_RSPLS_CR_EXIT_BASE verwenden. Das dabei genutzte Interface IF_RSPLS_CR_EXIT muss auch im Falle einer Implementierung mittels SQLScript vorhanden sein. In bestimmten Situationen stößt nämlich das System die ABAP-Implementierung an, um eine satzweise Datenübertragung zwischen dem SAP-BW∕4HANA-System und der SAP-HANA-Datenbank zu vermeiden.
Beachten Sie aber, dass Sie in diesem Fall die Möglichkeiten der Performanceoptimierung nicht voll ausschöpfen. Insbesondere wenn Disaggregation oder Planungsfunktionen mit großen Datenmengen ausgeführt werden, kann darunter die Performance leiden. Für weitere Informationen zu dem Exit und Fallbackszenario können Sie SAP-Hinweis 1956085 (BW-IP (PAK): ABAP als Fallback für Exit-Merkmalsbeziehungen und -Datenscheiben in SAP HANA) nutzen.