EPM 11.1.2.3 – Neue Funktionen Calc Manager

Der Calc Manager profitiert in Version 11.1.2.3 davon, dass er in der Produkt-Hierarchie ein Stück gerutscht ist, es ist ein strategisches Produkt, das die BusinessRules für Planning ablöst.
Dementsprechend umfangreich fallen die Neuerungen und Erweiterungen aus,

  • neue Laufzeit-Variable für Kalkulations-Skripte,
  • sowie die obligatorische Erweiterung der Befehls-Referenz für MaxL, essbase.cfg und Kalkulation
    und, und, und….

Laufzeit-Variablen in Kalkulationen (nur BSO)
Mit Version 11.1.2.2.3 ist es nun möglich, in jedem Produkt, das den Kalkulations-Manager (Calculation Manager) verwendet (Planning, Essbase, HFM u.a.), nach bestimmten Inhalten zu suchen.
Dies können Namen, Beschreibungen, Kommentare oder auch Objekt-Titel sein. Die Auswahl kann durch Option „Basis Eigenschaften einschließen“ erweitert werden, dann erfolgt die Suche zusätzlich in Formeln, Skripten, Variablen und anderen Komponenten.

Beispiel:
Ich wähle innerhalb eines Plan-Typs einer Planning-Applikation den Knoten „Regeln“ mit Rechts-Klick aus und wähle dann „Suchen“. Die Suche startet in allen Geschäftsregeln innerhalb des ausgewählten Knotens „Geschäftsregeln“.
Die Suchergebnisse werden mir in einem eigenen Reiter angezeigt, mit zusätzlichen Informationen, wie oft und in welchen Plan-Typen und/oder Planning-Applikationen der Suchbegriff gefunden wurde.

Eine große Erleichterung bietet Option „Alle ersetzen“, dabei werden die gefundenen Suchergebnisse sofort einzeln oder gesamt mit einem anderen Text ersetzt. Aber aufgepasst: Die Option ist nur verfügbar, wenn mit „Enthält“ oder „Entspricht“ gesucht wurde.

Listenansicht filtern
Unter Ansicht / Listenansicht, können Filter gesetzt werden, um nur die gewünschten Objekte anzuzeigen, so weit, so bekannt. Nun können wir als Filter-Kriterium einen individuellen Text angeben und definieren, ob dieser Text im gesuchten Objekt enthalten ist, damit beginnt oder endet, auch die Unterscheidung nach Groß- und Kleinschreibung wird unterstützt.

Beispiel:
Zeige nur noch Objekte an, die mit „Budget“ beginnen oder
Zeige nur noch Objekte an, die „2015“ enthalten

Filter in Listenansicht zurücksetzen
Wie im vorigen Punkt beschrieben, schränkt der Filter-Dialog in der Listen-Ansicht die anzuzeigenden Elemente ein.
Zusätzlich lässt sich die Auswahl (=Filterung) auf einem Reiter zurückzusetzen, während die Auswahl auf dem anderen Reiter bestehen bleibt.

System-Kommentare im Skript-Modus ausblenden
Bisher hat der Kalkulations-Manager im Skript-Modus automatisch verschiedene Inhalte als Kommentar eingefügt, dies war nötig, damit das Skript wieder im „grafischen Modus“ angezeigt werden kann.
Mit der Option „Kommentare ausblenden“ bzw. „Kommentare einblenden“ lässt sich das nun gezielt steuern.

Aber:
Dies betrifft nur die systemseitig erstellten Kommentare, eigene Benutzer-Kommentare bleiben von dieser Einstellung unberührt.

Skript-Diagnose für Performance (Essbase BSO / Planning)
Geschäftsregeln können mit Befehl „Skript Diagnose“ hinsichtlich Performance und Optimierungs-Potenzial automatisch analysiert werden.

Vorgehen (nicht für grafische Regeln):

In einer beliebigen Komponente innerhalb einer Geschäftsregel klicke ich auf „Fehler und Warnungen“, wähle dann „Skript Diagnose ausführen“ und der Kalkulations-Manager startet den Validierungs-Prozess.
Sind ungültige Element enthalten, wird jeder erkannte Fehler aufgelistet. Mit Rechts-Klick auf einen Validierungs-Fehler wird der Fehler in der Skript- oder Designer-Ansicht angezeigt, die Zeile mit dem Fehler ist farbig markiert. Die Fehler-Korrektur ist im Modus „Designer“ möglich.
Bei erfolgreicher Regel-Validierung zeigt mir der Kalkulations-Manager eine Zusammenfassung, bei Auswahl einzelner Validierungs-Hinweise lässt sich das Skript wiederum in der Skript- oder der Designer-Ansicht anzeigen.
Die Zusammenfassung enthält sehr hilfreiche statistische Informationen, die meines Wissens so in noch keinem EPM-Tool erstellt wurden:
Anzahl Datenblöcke in der Kalkulation, Anzahl Durchläufe durch die DB, Anzahl fehlerhafter Zuweisungen und Anzahl fehlerhaft verwendeter Dimensionen.
Zusätzlich gibt es Hinweise zu typischen möglichen Performance-„Bremsen“, Sparse-Dimensionen ohne Bezug (=fehlende FIX-Bereiche), Bezüge auf Sparse-Elemente, Bezüge auf Sparse-Elemente in verschiedenen Datenblöcken.
Eine sehr gute Sache, wie ich finde, anstatt Kollegen vor den Kopf zu stoßen, weil deren Skripte noch Optimierungs-Potenzial haben, erledigt dies jetzt die „Skript Diagnose“ 😉

Für den Profi:
Die Warnungen sind unverbindliche Empfehlungen im Sinne von Best Practice und können ignoriert werden, wenn man weiß, warum man etwas so und nicht anders gemacht hat.
Dennoch erhält auch der erfahrene Anwender durchaus sinnvolle und hilfreiche Hinweise zur möglichen Skript-Optimierung.

Variable kopieren
Abhängig vom Applikations-Typ (Planning, ASO, etc.) lassen sich Variable von einer Applikation, Kalkulations-Typ, Plan-Typ, Datenbank, Regelset oder Regel zu jeder anderen Komponente innerhalb des gleichen Applikations-Typs kopieren.

Beispiel:
Ich kopiere eine Planning-Plan-Typ-Variable zu einer Planning-Geschäftsregel, nicht jedoch zu einem anderen Produkt wie HFM.

Variable im Element-Block verwenden (Essbase BSO / Planning)
Variable können in einen Essbase- oder Planning-Element-Block eingefügt werden. Dieser Element-Block ist im grafischen Modus vorhanden und bildet das erste allumfassende FIX in der Berechnung. Dass hier jetzt Laufzeit-Variabelen verwendet werden können, ist das Nachziehen einer Basisfunktionalität. Unser Workaround im grafischen Modus, mit einem Fix und der Laufzeit-Variable zu beginnen, ist jetzt nicht mehr nötig.

Geschäftsregeln (Skript-Modus) vergleichen
Innerhalb der System-Ansicht ist es möglich, 2 Geschäftsregel-Skripte nebeneinander zu Vergleichszwecken darzustellen. Das sog. „Skriptvergleich-Fenster“ zeigt folgende Informationen:

Hinzugefügte Elemente im Skript werden mit hellgrauem Hintergrund dargestellt
Gelöschte Elemente im Skript werden mit dunkelgrauem Hintergrund dargestellt
Geänderte Elemente im Skript werden mit gelbem Hintergrund dargestellt
Spalte 1 zeigt die jeweilige Zeilen-Nummer
Spalte 2 enthält eine von drei möglichen Kennzeichnungen:

  • steht für „Zeile in der linken Spalte unterscheidet sich von der rechten Spalte“
  • steht für „Zeile in der rechten Spalte wurde im Vergleich zur linken Spalte hinzugefügt“
    – steht für „Zeile in der rechten Spalte wurde im Vergleich zur linken Spalte entfernt“
    Spalte 3 und 4 enthalten jeweils ein Skript. Wird eine Zeile in einem geänderten Skript ausgewählt, zeigt ein unteres Fenster das Skript in verschiedenen Abschnitten.
    Das linke Skript erscheint im oberen Abschnitt, das rechte Skript erscheint im unteren Abschnitt.

Aber:
Es können nur 2 Skripte gleichzeitig verglichen werden.
Diese Funktion ersetzt kein Versionierungs-Tool, Skripte einer vorigen und einer neueren Version können nicht verglichen werden, es sei denn, sie wurden als 2 Skripte gespeichert.

Geschäftsregeln im Regel-Set per Doppelklick öffnen
Bisher musste man zum Öffnen einer Geschäftsregel, die Bestandteil eines Regel-Set ist, per Kontextmenü öffnen, nun reicht dazu im Regel-Designer ein Doppelklick.

Anzeige im Dialog „Variablen-Auswahl“ festlegen
Der Dialog „Variablen-Auswahl“ kann in verschiedenen Komponenten des Kalkulations-Managers geöffnet werden, standardmäßig zeigte er bisher immer alle verfügbaren Variablen an.
Das kann zu Missverständnissen führen, da nicht jede Variable in jeder Komponente verwendet werden kann.

Ich bekomme nun standardmäßig nur diejenigen Variablen angezeigt, die ich innerhalb der gerade aktiven Komponente einsetzen kann.
Bei Bedarf lässt sich per Auswahl von „Alle Variablen anzeigen“ die Anzeige auch auf die aktuell nicht relevanten Variablen erweitert.

SmartLists in Bedingungen verwenden (Planning)
Eine ziemlich holprige Bezeichnung, im Englischen ist diese Funktion als Condition-Builder bekannt. Konnten bisher Elemente, Variablen und Funktionen in der Formel / Bedingung einer Geschäftsregel verwendet werden, wurde dies nun auf Elemente von SmartLists erweitert

Suchen und Ersetzen von Text im Design Time Prompt
Was ist ein Design Time Prompt? Das ist mir einen eigenen Beitrag wert, hier erläutere ich nur die mit Version 11.1.2.3 umgesetzte Neuerung.
Design Time Prompts können nach bestimmten Inhalten durchsucht und Zeichenfolgen ersetzt werden. Es lässt sich in einer oder in allen Zeilen des Design Time Prompt nach einem ganzen Wort oder Teilen eines Wortes suchen.
Der Kalkulations-Manager durchsucht den Design Time Prompt und markiert Treffer in der Design Time Prompt Tabelle.

Die gewünschte Ersetzung kann sofort auf einzelne oder alle gefundenen Suchergebnisse angewendet werden.

Geschäftsregeln (Skript) aus der Deployment-Ansicht drucken
Geschäftsregeln lassen sich endlich nicht nur aus der System-Ansicht, sondern auch aus der Deployment-Ansicht heraus ausdrucken.
Gedruckt werden können die Regel-Eigenschaften, das Fluss-Diagramm oder Komponenten-Details.

Beispiel:
Drucke ich eine Regel mit einer Verteilungs-Komponente (Allokation) aus, enthält der Ausdruck
die Formel-Syntax,
die Funktionen und Variablen,
eine Beschreibung der Schritte im Fluss-Diagramm und
die Regel-Eigenschaften.
Vorlagen und Komponenten können ebenfalls ausgedruckt werden.

Laufzeit-Variablen in Geschäftsregeln verwenden
Geschäftsregeln haben eine fällige Erweiterung erfahren, sie werden mit Runtime-Prompts deutlich flexibler einsetzbar. Anwender haben so die Möglichkeit, beim Start der Regel gewünschte Parameter mitzugeben.

Enthält der Runtime-Prompt Standardwerte, werden diese bei der Validierung geprüft.

Folgende Essbase Variable Typen werden unterstützt:
Numerisch
Integer
Text
Cross Dimension
Dimension
Element(e)
Element-Bereich
Prozent

Fehlende Werte für Runtime-Prompts eingeben (Essbase BSO / Planning)
Validierung und Ausführung einer Geschäftsregel erfordern nun die Eingabe von Werten für alle Variablen des Runtime-Prompts.
Gibt es Standardwerte, werden diese validiert, für die Ausführung der Regel sind in jedem Fall Eingaben erforderlich.

Während der Validierung kann ich „Werte in der Regel anwenden“ auswählen, so werden sie bei Start der Regel angezeigt und müssen nur bei Bedarf geändert werden.

Dimensions-Namen in Variable einsetzen
Sollte eine Variable den Wert einer Dimension annehmen, ging das bisher nicht. Nun können Werte vom Typ Element (auch Element-Bereich (Member Range)), Cross Dimension oder Dimension sein.

In Globalen Variablen wird die Dimension eingegeben, ein Drop-down-Feld bietet dazu eine Liste aller vorhandenen Dimensionen der Applikation an.

Im Variablen Designer nach Variablen suchen
Man kann nach einer Variablen anhand ihres Namens suchen. Mit den sog. Basis-Eigenschaften der Suche lässt sich zusätzlich nach dem Standardwert, dem Typ, der Beschreibung oder Gruppe der Variablen suchen.

Beachte:
Die Suche erfolgt nur innerhalb des Typs (Global, Applikation, Kalkulation, Plan, Datenbank, Geschäftsregel), der im Variablen-Navigator ausgewählt wurde.

Beispiel:
Befinde ich mich in einem Plan-Typ, finde ich nur Variablen innerhalb dieses Plan-Typs.

Einschränkung:
Es ist nicht möglich, Typ-übergreifend zu suchen, deshalb ist für jeden Typ eine separate Suche nötig. Ohne Auswahl des Typs ist die Suchfunktion deaktiviert.

Vorlagen in Geschäftsregeln (Skript) bearbeiten
Basiert meine aktuelle bearbeitete Geschäftsregel auf einer Vorlage, kann ich im Skript-Modus eine Vorlagenzeile auswählen und kann von dort mit der Option „Vorlage bearbeiten“ direkt zum Vorlagen-Assistenten wechseln, wo ich die Änderungen in der Vorlage selbst durchführe.

Neue Vorlagen für Planning und Essbase
Die Vorlagen-Bibliothek für Geschäftsregeln enthält 2 neue Vorlagen. Erste ist die „Verteilung mit einfachem Ausschluss“ (Allocation simple Exclude), damit lässt sich eine Verteilung auf einen Element-Bereich bei gleichzeitigem Ausschluss einzelner Elemente durchführen.

Die nächste neue Vorlage ist die Währungs-Umrechnungs-Vorlage, sie kann in Applikationen verwendet werden, die ohne Währungs-Option erstellt wurden.
Sie rechnet vorhandene Beträge in gewünschte Währungen um und verwendet dazu Accounts (Planning) oder Account / UDA (Essbase).

Elemente dynamisch erstellen und löschen (WFP, CAP, PSB, PFPPT)
Diese Funktion gilt nur für die genannten Planning-Applikationen, bei Ausführung einer Geschäftsregel können Elemente dynamisch angelegt oder gelöscht werden.
Legt man ein Dynamic-Calc-Element an, werden dessen Kind-Elemente automatisch vor Start der Geschäftsregel erstellt oder automatisch nach Ausführung der Geschäftsregel gelöscht.

Befehlszeilen-Werkzeug (CommandLine-Utility) für Geschäftsregeln
Das CommandLine-Utility kann verwendet werden, um Geschäftsregeln automatisiert mittels Stapelverarbeitung (Batch) ohne Mitwirkung eines Anwenders zu starten.

Das Utility calcmgrCmdLine.jar befindet sich in %EPM_ORACLE_HOME%\common\calcmgr\11.1.2.0\lib und erfordert die Installation der Java Laufzeitumgebung auf dem Computer, auf dem das Utility genutzt werden soll.
Nach Kopie der .jar-Datei auf den Computer können Regeln mit folgendem Befehl gestartet werden:

java –jar calcmgrCmdLine.jar [,=]

Es kann nur eine Geschäftsregel zur gleichen Zeit ausgeführt werden
Wird ein Wert einer Variable mitgegeben, die nicht in der Regel verwendet wird, wird sie ohne weitere Mitteilung ignoriert
Fehlt ein Variablen-Wert, verwendet die Regel den Validierungs- oder Standardwert, falls angegeben.
Bei erfolgreicher Ausführung wird „0“ zurückgegeben, sonst „1“.
Weitere Code-Beispiele gibt es unter „http://docs.oracle.com/cd/E40248_01/epm.1112/calc_manager_help/frameset.htm?launch.html“

Neue Custom-Defined-Functions (CDF)
Folgende neue CDF’s sind hinzugekommen, die an dieser Stelle nur angerissen werden, detailliertere Informationen gibt es in der Oracle Essbase Technical Reference.

@CalcMgrExecuteMaxLEnScript (Startet verschlüsselte MaxL-Skripte)
Java Class: com.hyperion.calcmgr.common.cdf.MaxLFunctions
Spec: @CalcMgrExecuteMaxLEnScript(privateKey, maxlScripts, arguments, asynchronous)

@CalcMgrExecuteEncryptMaxLFile (Startet eine verschlüsselte MaxL-Datei)
Java Class: com.hyperion.calcmgr.common.cdf.MaxLFunctions
Spec: @CalcMgrExecuteEnMaxLFile(privateKey, maxlFileName, arguments, asynchronous)

CalcMgrIntegerToString (Konvertiert Integer-Werte in String)
Java Class: com.hyperion.calcmgr.common.cdf.MaxLFunctions
Spec: @CalcMgrIntegerToString(integerNumber)

@CalcMgrDoubleToString (Konvertiert Double-Werte in String)
Java Class: com.hyperion.calcmgr.common.cdf.MaxLFunctions
Spec: @CalcMgrDoubleToString(doubleNumber)

@CalcMgrStringsToString (Konvertiert einen String-Array in String mit Trennzeichen)
Java Class: com.hyperion.calcmgr.common.cdf.MaxLFunctions
Spec: @CalcMgrStringsToString(strings, seperator)

Dokumentation für Apple Mobil-Geräte optimiert
Fast die gesamte EPM-Dokumentation ist in einer für Apple Mobilgeräte (iPad, iPhone, iPod) optimierten Darstellung verfügbar, zu finden unter „mobi“ und „ePub“.

http://docs.oracle.com/cd/E40248_01/nav/portal_3.htm

Berater, entwickler und fan von Oracle Essbase und Planning.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*