Show TOC

Globale Zellfixierung in einer Planungsanwendung (Backend)Locate this document in the navigation structure

Verwendung

Globale Zellfixierung in einer Planungsanwendung eignet sich insbesondere dann, wenn ein Web Template auf verschiedenen Registerkarten der Planungsanwendung verschiedene Queries enthält, die zwar alle eng miteinander verbunden sind, aber für verschiedene Aspekte der Planungsanwendung genutzt werden.

Beispiel

Eine Warenplanung im Retail-Umfeld wird im allgemeinen durchgeführt, indem verschiedene Kennzahlen in einer bestimmten logischen Abfolge geplant werden. So kann z.B. zunächst der Umsatz geplant werden, gefolgt von den Preisabschlägen, der Planung des Wareneingangs und schließlich der Planung des Bruttoergebnis. Aus Sicht der Planung wird die Gruppierung dieser Plankennzahlen in logischer Reihenfolge meist durch entsprechende Query Views auf Registerkarten innerhalb der Planungsanwendung umgesetzt, z.B. mit Query Views für den Umsatz, die Preisabschläge, den Wareneingang und das Bruttoergebnis. In den meisten Fällen sollen die geplanten Werte für den Umsatz während der Planung auf allen Registerkarten beibehalten werden, währen die anderen Kennzahlen berechnet und geändert werden. Wenn der Benutzer also mit seiner Umsatzplanung zufrieden ist, möchte er diese Werte fixieren und die anderen Kennzahlwerte planen. Diese fixierten Umsatzwerte müssen unverändert bleiben, wenn der Benutzer von Registerkarte zu Registerkarte (d.h. von Query zu Query) innerhalb der Planungsanwendung navigiert.

Um solch ein Systemverhalten zu garantieren, müssen Zellfixierungen vom Backend-System verwaltet werden, da alle Objekte, die zur Definition einer Zelle beitragen, berücksichtigt werden müssen. Globale Zellfixierung in einer Planungsanwendung erlaubt mehr Navigationsschritte innerhalb einer Query bei Erhaltung der Zellfixierungen als lokale Zellfixierung am Frontend sowie zusätzlich die Beibehaltung der Fixierung einer Zelle in verschiedenen Queries einer Planungsanwendung.

Einführungshinweise

Definieren von Zellfixierungen

Zellfixierungen werden für die aktuelle Session des Benutzers angelegt; sie werden nicht persistiert. Nach einem Neustart der Planungsanwendung sind keine Zellen mehr fixiert.

Abhängig von der Position des Cursers kann ein Benutzer entweder eine Zelle, eine Zeile oder eine Spalte fixieren. Nur eingabebereite Zellen können fixiert werden. Wenn sie fixiert wurden, können sie manuell nicht mehr geändert werden. Zellen, die aggregierte Werte enthalten, werden nicht automatisch fixiert, wenn nur fixierte Zellen in sie eingegangen sind.

Beispiel

So können Sie z.B. alle Zellen fixieren, die zu einer Teilsumme beitragen, und dennoch fixiert das System nicht automatisch die Teilsumme. Eine manuelle Änderung einer solchen Teilsumme wird beim nächsten Server-Roundtrip jedoch immer zu einem Fehler führen.

Wenn Zellen fixiert wurden oder wenn Zellfixierungen über den entsprechenden Eintrag im Kontextmenü gelöscht wurden, transportiert der nächste Server-Roundtrip diese Information an das Backend-System. Auf dem Backend-Server übersetzt das System die Fixierungen in ein von der Query unabhängiges Format, um zu ermöglichen, dass Zellen mit genau derselben Definition in anderen Queries auch fixiert werden. Darüber hinaus müssen noch einige andere Eigenschaften der Queries vergleichbar sein, z.B. der verwendete Filter und einige Merkmalseigenschaften.

Kriterien für die Übereinstimmung des Fixierungskontexts der Query Views

Fixierte Zellen werden am Backend mit Rücksicht auf ihren Fixierungskontext verwaltet. Ein solcher Fixierungskontext besteht aus den folgenden Informationen:

  1. Aus dem effektiven Filter der Query, d.h. der Schnittmenge des Filters in der Querydefinition und des dynamischen Filters

  2. Aus der Reihenfolge der Merkmale auf den Achsen der Query und aus den folgenden Einstellungen:

    1. Ergebnisanzeige: immer , niemals , mit mehr als einem Wert .

    2. Verwendung der BW-Hierarchie; Einstellung, ob die Hierarchieanzeige aktiv ist.

    Diese Eigenschaften bezeichnen wir als Listgeometrie .

Zusammenfassend kann man sagen, dass der Backend-Server, sobald eine Zelle fixiert wird, einen Fixierungskontext anlegt, der den effektiven Filter und die Listgeometrie des aktuellen Query Views enthält. Sämtliche Query Views einer Planungsanwendung müssen mit diesem Fixierungskontext kompatibel sein, um ebenfalls Zellfixierungen enthalten zu können. Wenn auch nur ein Query View der Planungsanwendung nicht dazu passt, löscht das System alle Zellfixierungen

Kriterien für die Übereinstimmung von Strukturelementen der Queries

Eine weitere Bedingung besteht darin, dass die Strukturelemente der Queries, die einer fixierten Zelle zugrunde liegen, hinsichtlich ihrer Definition übereinstimmen müssen.

Folgende eingabebereite Strukturelemente einer Query können Grundlage einer fixierten Zelle sein:

  • eine Basiskennzahl

  • eine eingeschränkte Kennzahl

  • eine Formel

Zwei Strukturelemente stimmen dann überein, wenn sämtliche der folgenden Eigenschaften identisch sind:

  • Wenn die Strukturelemente Basis- oder eingeschränkte Kennzahlen sind, müssen folgende Eigenschaften übereinstimmen:

    • Die Kennzahlen müssen dieselben sein.

    • Die Einstellung zur Eingabebereitschaft muss bei beiden Kennzahlen gesetzt sein.

    • Die Einschränkungen, die für die Kennzahl vorgenommen wurden, müssen identisch sein.

    • Die Einstellungen zur Disaggregation müssen identisch sein.

  • Wenn das Strukturelement eine Formel ist, muss die Formeldefinition identisch sein, d.h. der Formelausdruck, der im Query Designer bearbeitet wurde, ist derselbe hinsichtlich der verwendeten Operanden, Klammern, Datenfunktionen, Variablen, Ausnahmeaggregation und hinsichtlich der Reihenfolge der Operanden in der Formel.

Verwalten der Zellfixierungen

Wie oben erklärt, verwaltet das Backend-System fixierte Zellen mit Rücksicht auf ihren Fixierungskontext. Weiterhin ist eine Zellfixierung, die eine Basis- oder eingeschränkte Kennzahl zur Grundlage hat, über die in der eingabebereiten fixierten Zelle verwendete Aggregationsebene immer einem Real-time-fähigen InfoCube zugewiesen.

Eine fixierte Zelle auf einer eingabebereiten Formel ist demjenigen InfoProvider zugeordnet, der in der Querydefinition verwendet wurde. Folglich können fixierte Zellen auf einer eingabebereiten Formel nur dann in anderen Queries dargestellt werden, wenn die andere Query auf demselben InfoProvider definiert wurde.

Zellfixierungen bleiben bei den folgenden Aktivitäten erhalten :

  • Anzeige von Eigenschaften der Merkmale (wie Schlüssel oder Text )

  • Anzeige von Attributen der Merkmale

  • Sortieren des Result-Sets nach Merkmalswerten, Texten oder Kennzahlwerten

  • Vertauschen der Zeilen- und Spaltenachse

  • Aufklappen bzw. Zuklappen der Knoten von BW-Hierarchien oder universellen Anzeigehierarchien

  • Aktivieren und Deaktivieren eine universellen Anzeigehierarchie

  • Verbergen/Sichtbarmachen von Strukturelementen (z.B. Filterstrukturelementen)

  • Aufriss eines Merkmals: am weitesten rechts in den Zeilen, am weitesten innen in den Spalten

  • Entfernen eines Merkmals im Aufriss: am weitesten rechts in den Zeilen, am weitesten innen in den Spalten

Beachten Sie, dass manche der oben aufgeführten Operationen fixierte Zellen verbergen. Das hebt die Zellfixierungen jedoch nicht auf. Auch diese "verborgenen" Zellfixierungen bleiben aktiv und werden vom System bei der Berechnung inverser Formeln und bei Disaggregation berücksichtigt.

Wenn der Benutzer folgende Aktivitäten ausführt, werden sämtliche Zellfixierungen gelöscht :

  • Ändern der Reihenfolge der Merkmale, die an einer Zellfixierung beteiligt sind,

  • Ändern der Achse des Merkmales, das an einer Zellfixierung beteiligt ist,

  • Ändern der Einstellung Anzeigeergebnis des Merkmales, das an einer Zellfixierung beteiligt ist,

  • Ändern der Einstellungen für BW-Hierarchien (an/aus) für Merkmale, die an einer Zellfixierung beteiligt sind,

  • Ändern des dynamischen Filters der Query (d.h. Einschränken der Variablenwerte ohne Neustart der Query, z.B. über den Filterdialog für ein Merkmal aus dem Kontextmenüeintrag Filterwert behalten )

  • Ändern des Filters über das Variablenbild

  • Ausführen einer Planungsfunktion oder Planungssequenz

Zusammenfassend kann man sagen, dass alle, mit dem Kontext der Zellfixierung nicht vereinbaren Änderungen des Query Views dazu führen, dass sämtliche Zellfixierungen verloren gehen. Das System zeigt eine Liste von Nachrichten mit Informationen über die inkompatiblen Einstellungen an.

Achtung

Beachten Sie, dass jede Inkompatibilität im oben genannten Sinn in einer beliebigen Query der Planungsanwendung sämtliche Zellfixierungen löscht.

Modellierungsempfehlungen

Um globale Zellfixierungen in einer Planungsanwendung mit mehr als einer Query effektiv nutzen zu können, sollten die Queries so modelliert werden, dass die Zellfixierungen einer Query zur Laufzeit nicht aufgrund von Inkompatibilitäten in den anderen Queries gelöscht werden.

Dementsprechend sollte der Fixierungskontext ebenso wie die Filter aller eingabebereiten Queries innerhalb des Web Templates übereinstimmen.

Das System berechnet als Kompatibilitätsprüfung des Fixierungskontexts mit dem effektiven Filter der anderen Queries die Schnittmenge der statischen und dynamischen Filter der Queries, die in dem Web Template verwendet werden. Beachten Sie, dass das Backendsystem aus Performancegründen nicht nachprüft, ob verschiedene Definitionen dasselbe ausdrücken. Wir empfehlen daher, immer dieselbe Art der Modellierung zu verwenden.

Beispiel

Filter sollten in allen Queries immer denselben Typ von Einschränkungen verwenden (z.B. eine Werteliste).

Wenn eine BW-Hierarchie als Anzeigehierarchie in einer Query verwendet wird, sollte dieselbe BW-Hierarchie als Auswahlhierarchie im Flter der Query verwendet werden.

Aktivitäten

Um die globale Zellfixierung am Backend zu aktivieren, müssen Sie einen Parameter in der Tabelle RSADMIN setzen. Dafür können Sie das Programm SAP_RSADMIN_MAINTAIN verwenden. Setzen Sie folgenden Parameter:

OBJECT = RSPLS_PQ_BACKEND_CELL_LOCKING

VALUE = X

Achtung

Beachten Sie folgendes Systemverhalten: Wenn Sie die globale Zellfixierung am Backend aktiviert haben, funktioniert die lokale Zellfixierung am Frontend nicht mehr.

Weitere Informationen

Weitere Informationen über Zellfixierungen finden Sie unter Zellfixierung sowie Lokale Zellfixierung in einer Query (Frontend) .