Summiere numerisches Attribut
Siehe auch: Summe numerisches Attribut (Bestellung), Summe numerisches Attribut (Sendung)
Ereignisaktion - Kurzfassung
Zweck: Aggregiert für einen oder mehrere Positionstypen in einem Allgemeinen Geschäftsobjekt die Einzelwerte für einen ausgewählten Nummerntyp in einer Quellebene der Positionshierarchie, um Teilsummen für die Positionen einer übergeordneten Zielebene zu berechnen. Dabei werden die Teilsummen dem (aggregierten) numerischen Attribut desselben Nummerntyps in der Zielebene als Wert (value) zugewiesen.
Die Ereignisaktion Summiere numerisches Attribut bildet innerhalb der Positionshierarchie eines Bezugsobjekts vom Typ Allgemeines Geschäftsobjekt Teilsummen für die Werte von numerischen Attributen für genau einen per Typ ausgewählten Nummerntyp.
Dabei wird für jede Position einer wählbaren Zielebene (Zielposition) eine Teilsumme ermittelt, die alle Einzelwerte aus einer wählbaren untergeordneten Quellebene zusammenfasst. Die Summe der Einzelwerte aus den direkten oder indirekten Unterpositionen wird dem aggregierten numerischen Attribut für denselben Nummerntyp auf der Zielebene als Wert zugewiesen. Ein an der Zielposition bestehender Wert wird dabei überschrieben. Die Teilsumme wird abhängig von der Einstellung für den Parameter Anzahl Dezimalstellen gerundet oder nicht.
ACHTUNG
Beinhaltet die Teilhierarchie unterhalb einer bestimmten Zielposition für den aufzusummierenden Nummerntyp keine Werte in der Quellebene , dann wird für die Zielposition der Wert 0 zugewiesen.
Quellebene und Zielebene können wahlweise absolut oder relativ zur tiefsten Hierarchieebene identifiziert werden (s. "Konfiguration"). Unter Umständen kann auch die Kopfebene des Bezugsobjekts als Zielebene dienen.
►HINWEIS◄ Unabhängig davon ob absolute oder relative Bezüge verwendet werden, muss die Zielebene effektiv immer oberhalb der Quellebene liegen, sonst findet keine Aggregation statt.
Der Parameter Positionstypen definiert per Mehrfachauswahl eine Positivliste für die für die Aggregation relevanten Positionstypen. Ohne Angaben für den Positionstyp gelten nur Positionen des Typs "Standard" (DEFAULT) als relevant.
Die Ereignisaktion Summiere numerisches Attribut bearbeitet nur die volatilen Daten des Bezugsobjekts und speichert dieses nicht.
Für die Entitätstypen Bestellungen und Sendungen werden spezifische Varianten dieser Ereignisaktion angeboten, die nach denselben Prinzipien funktionieren.
Konfiguration
Die Ereignisaktion Summiere numerisches Attribut erwartet als Bezugsobjekt ein Allgemeines Geschäftsobjekt. Im Kontext von Entitäten anderer Typen ist die Ereignisaktion wirkungslos, ohne dass zur Laufzeit ein Fehler auftritt.
Der Typ bestimmt als Pflichtfeld statisch per Einfachauswahl den Nummerntyp der Attribute, deren Werte aufsummiert werden sollen. Der Parameter Zielebene definiert über einen positiven oder negativen ganzzahligen Index die Hierarchieebene, für die Teilsummen berechnet werden sollen:
Der Parameter Quellebene definiert definiert über einen positiven oder negativen ganzzahligen Index die Hierarchieebene, in der nach Einzelwerten für den Nummerntyp gesucht werden soll:
Die Anzahl Dezimalstellen definiert ob und ggf. wie beim Aufsummieren gerundet wird:
Relevante Positionstypen für die Berechnung können per Mehrfachauswahl qualifiziert werden. |
|
►HINWEIS◄ In Lobster Data Platform / Orchestration begründet jeder Positionstyp eine eigenständige Positionshierarchie, so dass die Teilsummen immer nur Einzelwerte für denselben Positionstyp zusammenfassen. Sind mehrere Positionstypen als relevant ausgewählt, dann wird das gesamte Berechnungsverfahren der Ereignisbehandlung sequenziell für jeden relevanten Positionstyp wiederholt. Daher sind folgende Aspekte zu berücksichtigen:
|
Beispiel
Ein Allgemeines Geschäftsobjekt soll zur Erfassung von Daten für "Investitionsanträge zur Energieoptimierung" in einem Unternehmen verwendet werden.
Die Struktur des Antrags sieht eine Gliederung der "Positionen" eines Antrags in vier Stufen vor, wie im folgenden Screenshot an Beispieldaten skizziert:
Die Ebenen 1 bis 3 in diesem Schema beziehen sich auf einen Nummerntyp "Kosten" (COSTS), um die jeweilige Position in der Einheit "T€" (1000 Euro) zu budgetieren.
In den Ebenen 1 und 2 dienst das betreffende numerische Attribut ausschließlich zur Aggregation. Im Bild ist das Element noch leer und deshalb ausgeblendet.
Nur die Ebene 3 dient zur Eingabe von "Kosten", die beim Speichern des Antrags nach oben aufsummiert werden sollen. Auch die Gesamtkosten auf Kopfebene (rechts oben) sollen dann aktualisiert werden.
Die Ebene 4 wird im Beispiel noch nicht verwendet. Sie dient zur optionalen Erfassung von "Details" zu einer Position der Ebene 3, denen keine individuellen "Kosten" zugeordnet werden sollen.
Für die Eingabe in der Einheit "T€" (1000 Euro) sieht die Ebene 3 drei Dezimalstellen vor, so dass die Eingabe auf 1 € genau erfolgen kann. Beim Aufsummieren sollen diese Beträge allerdings mit einer Rundung auf eine Dezimale verrechnet werden, also mit einer Genauigkeit von 100 €. Allerdings soll sich jede Aggregationsebene dabei auf die gerundeten "Rohdaten" aus der Ebene 3 beziehen und nicht etwa auf die Zwischensummen aus der direkt untergeordneten Ebene.
Konfiguration:
Innerhalb einer Ereignisbehandlung, die bei jedem "Speichern" eines Antrags, also über die Ereignisse "Erstellen" und "Ändern" (s. Allgemein (Ereignisse)) mit einer entsprechenden Typprüfung, ausgelöst wird, muss die Ereignisaktion Summiere numerisches Attribut zu diesem Zweck drei Mal konfiguriert werden.
►ANMERKUNG◄ Die Berechnungsergebnisse werden von der Ereignisaktion in der jeweiligen Zielebene als Wert des "Kosten"-Attributs eingetragen, das dabei wie üblich auch neu angelegt wird, falls es noch nicht in den volatilen Daten des Bezugsobjekts existiert. |
|
Laufzeitbeispiel:
Das Beispiel rechts zeigt die Berechnungsergebnisse für einen konkreten Investitionsantrag mit sieben mit Kosten versehenen Positionen auf der Ebene 3. Da die Eingabefelder für "Kosten" in den Ebenen 1 und 2 drei Dezimalstellen des berechneten Wert anzeigen, ist dort die Rundung auf eine Dezimale ablesbar. ►ANMERKUNG◄ Anhand der Werte im konkreten Beispiel zeigt sich der besondere Einfluss der Rundung der Einzelwerte vor dem Aufsummieren innerhalb der Position SER2.1:
|
|
►ANMERKUNG◄ Über die Buttons "1", "2" und "3" im Kopfbereich der für das Beispiel erstellten Erfassungsmaske kann der Detaillierungsgrad der Darstellung ausgewählt werden. Im Screenshot rechts wurden per Klick auf den Button "2" die Unterpositionsebene 3 ausgeblendet, so dass nur noch die aggregierten Zahlen (deaktiviert) zu sehen sind. |
|