Direkte Seitenlinks für Formulare

Eine Kundenanforderung war, Formulare einer Planungsanwendung direkt in einem Browser aufzurufen. Diese Funktionalität gibt es in der Planning Cloud und dieser Beitrag zeigt, wie das geht.

Es kann sehr praktisch sein, für bestimmte Dateneingaben eine direkte URL zu haben, anstatt sich zuerst in Planung anzumelden und dann in einer Formularstruktur das jeweilige Formular zu suchen und zu öffnen. Wenn ein Benutzer entsprechende Zugriffsberechtigungen hat, kann dieser über die URL direkt auf das Formular zugreifen, um es anzuzeigen und zu aktualisieren. Das Gute daran ist, dass hier auch direkt der POV mitgegeben werden kann. Somit können auch URL’s für verschiedene Benutzergruppen erstellt werden.

In der Anwendung habe ich ein Formular erstellt, welches den Namen SchnellUpdateForm trägt. Hier gibt es ein Element in den Seiten welches ausgewählt werden kann. Sie sehen, ich bin in der Planning and Budgeting Cloud angemeldet und meine Anwendung heißt Property.

Formular welches ich mit einer URL ausserhalb der Cloud öffnen möchte.

Abbildung 1: Formular welches ich mit einer URL ausserhalb der Cloud öffnen möchte.

URL-Parameter

Anhand von meinem Link können sie die verschiedenen URL-Parameter erkennen. Der Link ist:

https://planning-test-xxxxxx.pbcs.em2.oraclecloud.com/HyperionPlanning/faces/LogOn?Direct=True&ObjectType=FORM&ObjectName=SchnellUpdateForm&POV=A_212

Cloud URL: https://planning-test-xxxxxx.pbcs.em2.oraclecloud.com/faces/LogOn?

Direct=True

ObjectType=FORM oder DASHBOARD

ObjectName= SchnellUpdateForm

POV=A_212

Ein POV mit mehreren Elementen kann mit einer durch Komma getrennten Liste erstellt werden. Wenn ein Elementname im POV ein Komma enthält, setzen Sie es in URL-codierte doppelte Anführungszeichen (%22) und wenn es leerzeichen enthält, dann ist die URL-Codierung ein %20. Aber bestimmt haben sie die Best-Practices eingehalten und keine Sonderzeichen in Formularnamen und Element ID’s. 😉

Wenn ich diesen dann in meinen Browser eingebe, dann erscheint eine Anmeldemaske.

Login Fenster Planning Cloud
Formular welches direkt geoffnet wurde.

Fazit

In der Cloud ist es noch einfacher um von aussen auf Formulare zu zugreifen.

Ihr Philip Hulsebosch.

Veröffentlicht unter EPM Cloud, Planung & Berichtswesen Getagged mit: , ,

Cloud Infrastruktur Modelle

In diesem Beitrag habe ich die Essbase Architektur in der Cloud beschrieben und in verschiedene andere Beiträge schrieb ich zu der EPM Cloud. Hier möchte ich eine Übersicht geben, wie die verschiedenen Cloud Dienste strukturiert sind. Was ist Teil des Dienstes und wird von dem Anbieter betreut, und was fällt unter eigene Aufgaben. Diese Übersicht ist mehr oder weniger allgemeingültig und bezieht sich auch auf andere Anbieter von Cloud Diensten.

Die Abbildung 1 zeigt die verschiedenen Modelle wie ihre Software betrieben werden kann. Die linke Spalte ist – ganz klassisch – die Installation und Betrieb auf eigene Rechner. Dieses bedeutet, dass der Betrieb von Netzwerk, Festplatten, Server Hardware und aller Software in eigener Verantwortung liegt. Es muss natürlich nicht alles selbst betreut werden, denn es gab und gibt auch hier ein „Out-Sourcing“ an externe Dienstleister. Der Unterschied ist aber, sie können bestimmen was und wie dieses geschehen soll. Sie haben es in eigener Hand.

Modelle der Infrastruktur Verantwortung.

Abbildung 1: Modelle der Infrastruktur Verantwortung.

In dem Modell „Infrastruktur as a Service“ (IAAS) mieten sie die Hardware und die dazu benötigten Treiber. Es ist wie als ob sie einen Rechner kaufen, wo noch keine Software installiert worden ist. Die Festplatte ist vorhanden, ein Stromkabel und Netzteil sind da, und auch eine Netzwerkkarte ist vorhanden.

Sie können jetzt selber entscheiden, welches Betriebssystem sie installieren wollen. Ferner auch, welche Anwendungen sie benutzen wollen.

Zusammen mit dem Anbieter wird werden Dienste vereinbart z.B. wenn schnell eine kaputte Festplatte oder Netzwerkkarte ersetzt wird. Auch kann vereinbart werden in welchem Rechenzentrum die Hardware steht und wie oft diese parallel betrieben werden soll.

PAAS

In dem Modell „Plattform as a Service“ (PAAS) mieten sie die Hardware und (einen Teil der) Software. Dieses ist auch das Modell von der Essbase Cloud. In diesem wird ein Linux Operating System und darauf das Essbase installiert.

Sie können dann Essbase Datenbanken/Anwendungen erstellen und diese nach Belieben verwenden. Oracle sorgt dafür dass die Hardware läuft und dass die Patches für das Operating System und Essbase eingespielt werden.

Dieses hat natürlich seinen Preis für diese Dienstleistungen.

SAAS

In der Abbildung ganz rechts sehen sie das Modell „Software as a Service“ (SAAS). Sie mieten die Hardware und die Software. Dieses ist das Modell von der Enterprise Performance Management (EPM) Cloud. Sie mieten eine komplette Umgebung, brauchen nur eine URL, Benutzernamen und Passwort und es kann losgehen.

Oracle, als Dienstleister, sorgt für den Betrieb der Hardware, macht die Patches und auch Dinge wie den Backup. Sie brauchen sich nur um die Anwendung zu kümmern. Sie wählen aus, welche Teile der Suite sie einsetzen wollen, und richten diese für ihren Bedarf ein.

SAAS Angebot in der EPM Enterprise Cloud

Abbildung 2: SAAS Angebot in der EPM Enterprise Cloud

Sie haben einen Vertrag mit dem Cloud Dienstleister, in diesem Fall Oracle, in dem die Leistungen und auch die technischen Spezifikationen beschrieben sind. Diese sind natürlich wichtig, denn jede Anwendung hat so seine spezifischen Anforderungen.

Fazit

In diesem Beitrag beschreibe ich die verschiedenen Infrastruktur Modelle in der Cloud und wer welche Verantwortung und Aufgaben hat. Es ist damit die Grundlage für fundamentale Entscheidungen auf technischer und finanzieller Ebene. Wenn sie wollen, können wir Sie dabei beraten.

Ihr Philip Hulsebosch

Veröffentlicht unter EPM Cloud Getagged mit: , , ,

Struktur in Calc Skript Code

Generell gilt: Gut geschriebener Computer Code ergibt das richtige Ergebnis, ist schnell in der Ausführung und ist für eine „mit der Materie bekannten“ Person verständlich geschrieben. Dieses gilt natürlich auch für Essbase Calc Scripts. In diesem Beitrag möchte ich mich auf die Struktur von Essbase Calc Scripts fokussieren und einige Tipps geben. Also nicht, wann ein FIX oder ein IF besser wäre, sondern die Gestaltung besprechen.

Wie oben schon beschrieben, ist die Reihenfolge der Eigenschaften eines Scripts ist wie folgt:

  1. Korrekt
  2. Schnell
  3. Verständlich

Kosten

Aber warum ist das so? Nun, kurz gesagt: Effizienz. Ein Calc Skript hat verschiedene Kostenaspekte: So gibt es Entwickelkosten um ein Skript zu entwerfen, schreiben und testen. Aber auch jedes mal wenn das Skript ausgeführt wird, gibt es Kosten in der Wartezeit und Rechenleistung. Ferner gibt es natürlich auch noch Unterhaltskosten.

Wenn eine Berechnung falsch ist, dann ist diese wertlos, das versteht jeder. Es muss also in erster Linie korrekt sein.

Wenn eine Berechnung sehr lange dauert, dann sprechen wir Entwickler oft von „teuer“. Warten und Rechenleistung kosten Geld. Es könnten Investitionen in kräftigere Hardware gemacht werden und jede Minute die Mitarbeiter warten, kostet Geld. Es muss also auch schnell sein.

Die Eigenschaft „verständlich“ hat Einfluss auf die Entwickel- und Unterhaltskosten. Auf dieser Welt gibt es viele Skripte, die niemand mehr versteht und darum nicht angefasst werden. Ein grosses Risiko und damit Problem. Mit besserer Struktur und Dokumentation wäre dieses nicht so schnell zu einem Problem geworden.

Design, Lesbarkeit und Stil

In Essbase und Planning stehen die Berechnungen nicht allein im Raum, denn sie haben immer bezug auf die Struktur der Dimensionen (Outline), wie und wo die Daten im Cube abgelegt sind (BSO, ASO, Hybrid) und auf ein gutes Verständnis des Problems, welches berechnet werden sollte.

So ist auch ein Buch dem Leser nur verständlich, wenn dieses strukturiert geschrieben und den Leser in das Thema mitnimmt und nicht wenn die Kapitel durcheinander geworfen sind. So ist es auch mit Computer Code.

Wenn die Skripte in einem einheitlichen Stil geschrieben sind, z.B. wie Variablen verwendet werden oder wie Funktionen dargestellt sind, wird sich immer schneller zurecht finden. Wieviel Zeit wird nicht verschwendet, um sich in dem Code zurecht zu finden?

Einen guten Editor

Es fängt oft an mit einem guten Editor, denn dieser hilft Übersicht und Struktur zu bewaren. Manchmal sind es auch persönlicher Geschmack und Arbeitsweise, aber vorallem Funktionalität zeichnet einen guten Editor aus. Ich möchte nicht tief einsteigen in was ein Editor haben muss – das alleine wäre schon ein langer Beitrag. Aber der Editor sollte mindstens eine Farbcodierung für Objekttypen haben und Einrücken unterstützen.

Es gibt auch andere Designaspekte die den Unterschied machen. Erstellt man die Anwendung mit Business Rules oder Calc Skripte? Meistens werden Calc Skripte mit MaxL eingesetzt um automatisierte Prozesse zu steuern und Business Rules, wo die Benutzer selbst die Berechnungen in der Anwendung starten.

Konkrete Tipps

Eine Organisation sollte seine Gestaltungsrichtlinien (Style Guide) oder zumindest einen Leitfaden haben. Dieses gilt natürlich für die Namenskonvention von Dateien, sollte sich aber auch auf den Stil innerhalb von Skripte beziehen. Diese sollten konsistent, deutlich, praktikabel und wiederverwendbar sein.

Einfache Beispiele:

  • Verwenden von Member Namen und nicht Alias im Code. De Alias kann in dem Kommentar verwendet werden.
  • Member Namen in Anführungszeichen.
  • Namen von Funktionen und Calc Commands immer in Grossbuchstaben.
  • Einrücken von Befehle.
  • Extra leere Zeilen einfügen.
  • Nicht breiter als 80 Zeichen.

Namenskonvention für Variabelen

Substitutionsvariablen können auf die Datenbank, Anwendung oder Serverweit gestellt werden. Je nach Anforderung können diese verwendet werden. Wenn diese auf verschiedene Ebenen eingesetzt werden, sollten diese im Namen gekennzeichnet werden.

Runtime Prompts und Runtime Substitution Variablen sollten auch logische Namen bekommen, um die Lesbarkeit zu verbessern.

Beispiele einer Namenskonvention für Skriptnamen

Abbildung 1: Beispiele einer Namenskonvention für Skriptnamen

Housekeeping

Der obere Block in Calc Skripte wird of Housekeeping genannt. Hier sollte der Skriptname und in einem Satz stehen was in dem Skript berechnet wird.

Dann gibt es einen Teil wo die Anpassungen beschrieben sind. Datum, Name und eine Beschreibung was die Änderung war. Dieses ist sehr praktisch, wenn es Fragen oder Fehler gibt.

Beispiel von einem Housekeeping.

Abbildung 2: Beispiel von einem Housekeeping.

Der lezte Teil sind die Settings. Hier gibt es 2 Strategien: entweder immer setzen, denn dann weiss man welche Setting wie steht, oder nie setzen, aber dann strikte dezentral in der Essbase.cfg steuern und die Settings dort für die jeweilige Applikation/Datenbank einstellen.

Der Vorteil von dezentral einstellen ist, dass diese Settings dann entsprechend schnell auch wieder angepasst werden können. Der Nachteil, einige Settings gelten für alle Skripte, grosse oder kleine, wichtige oder weniger wichtige.

Wenn Business Rules verwendet werden, können auch Scripts verwendet werden wie in diesem Beitrag auch beschrieben. https://www.hyperionimklartext.de/business-rules-in-planning-und-essbase/ Hierin können die Settings an einer Stelle verwaltet werden.

FIX und IF

Bei den beiden Calc Kommando’s FIX und IF gibt es noch weitere Tipps. Beim FIX ist es ratsam, immer alle Dimensionen in einer festen Reihenfolge zu benennen. Auch wenn alle Elemente einer Dimension berechnet werden sollen, dann sollte dieses auch im FIX benannt werden mit z.B. einem @IDESCENDANTS.

Beim FIX gibt es die beiden Denkrichtungen – einen FIX pro Dimension oder alle notwendigen Dimensionen in einem FIX. Hier unten ist ein Beispiel dieser beiden Methoden dargestellt.

FIX(@RELATIVE(„Operating Expenses“,0))

   FIX(&CurrYear)

     FIX(&CurrMonth)

       FIX(„Actuals“)

       „P4511″= „Budget“-> „P4511″*0.15;

       ENDFIX /* Scenario */

     ENDFIX /* Period */

   ENDFIX /* Year */

ENDFIX /* Account */

Oder ein FIX statement mit allen Dimensionen.

FIX(

@RELATIVE(„Operating Expenses“,0)

&CurrYear

&CurrMonth

„Actuals“

)

„P4511″= „Budget“-> „P4511″*0.15;

ENDFIX /* All */

Bei verschiedene IF-Filter, sollte wo möglich, auch eine gleiche Reihenfolge eingehalten werden. Dieses fördert die Lesbarkeit in einem hohen Masse.

Kommentarfunktion

Als letztes kommt fast das wichtigste: die Kommentare. Es muss sicherlich nicht ein kunstvoll geschriebener Text zu sein, sondern eine kurze Darstellung in Pseudo Code über das was berechnet reicht oft schon aus. Wenn besondere Berechnungen oder Rechenweisen verwendet werden, dann sollte dieses näher beschrieben werden, denn nicht jeder hat viel Erfahrung mit Calc Scripte oder die Zeit sich in die letzte Feinheit einzuarbeiten.

Fazit

Die Binsenweisheit „Never touch a running system“ verhindert oft die Erneuerung einer Applikation. Dieses kommt oft, weil die Anwendung und die Business Logik nicht (mehr) verstanden wird. Um nicht auch in dieser Situation zu enden sollte gehandelt werden: eine Organisation sollte Gestaltungsrichtlinien (Style Guide) haben und die Entwickler sollten professionell diese Richtlinien anwenden.

Ihr Philip Hulsebosch

Veröffentlicht unter Essbase Getagged mit: , , ,

ASO Plantyp mit Smart View Essbase Verbindung verwenden

Obwohl die Smart View Essbase-Verbindung und Planning-Verbindung vieles gemeinsam haben, gibt es auch Unterschiede. Einer dieser Unterschiede ist, dass in der Planning-Verbindung keine Attribut Dimensionen verwendet werden können. Nun ist das nicht weiter ein Problem, denn es gibt ja die Essbase-Verbindung…. doch leider nicht für den ASO Plantyp (On-Premise).

Planning Cloud hat eine Option für Attribute Dimensions.

Abbildung 1: Planning Cloud hat eine Option für Attribute Dimensions.

Aber meine On-Premise Version kann keine Attribute Dimensionen verarbeiten.

Abbildung 2: Aber meine On-Premise Version kann keine Attribute Dimensionen verarbeiten.

Der Kontext

Weil die Planning Anwendung starkes Wachstum in dem gewünschten Datenvolumen zeigte, wollte ich die Alt-Daten in einen ASO Plantyp unterbringen. Ich verschiebe dann in diese die Alt-Jahre und Versionen und Szenarien, die nicht mehr so oft abgerufen werden. Dieses würde dann den BSO Planwürfel entlasten und wieder “fit” machen.

Die Planungsanwendung wurde also um einen ASO Plantyp erweitert und alles eingerichtet. Es mussten einige Anpassungen an den Dimensionen vorgenommen werden, um die ASO Spezifikationen zu erfüllen. Auch die Attribut Dimensionen wurden automatisch in dem Plantyp übernommen.

Nachdem ich die Anwendung dann zum ersten Test an einige Planer freigegeben hatte, bemerkten wir, dass wir keine Attribute in der Planning Verbindung verwenden konnten.

Als ich dann der Benutzergruppe den ASO cube im Shared Services zuweisen wollte, konnte ich diesen nicht finden. Der Grund: die ASO Anwendung war Teil von Planning und nicht Essbase. Wenn ich als Admin in Smart View angemeldet bin, sehe ich diese Anwendung und den Cube, ein Planer jedoch nicht.

Es gab keine Diskussion zu den folgenden Punkten:

  • Alle Planer bekommen die Rolle Essbase Admin.
  • Keiner der Planer verwendet Attribute Dimensions

Es musste also eine andere Lösung her.

Ein Patch mit zusätzlicher Funktionalität

Die Rettung war, das wir immer unsere Patches eingespielt hatten. In dem Release 11.1.2.4.007 Patch Set Update (PSU) URL: https://blogs.oracle.com/proactivesupportepm/psu_planning_11124008 gibt es eine neue Planning application property:

ENABLE_ASO_APP_FOR_PROVISIONING_IN_SHARED_SERVICES

…wenn noch jemand einen “seed” für seinen Bitcoin wallet sucht… hier sind schon einmal 8 von 12 Wörtern 😉

In der oben gelinkten readme stehen die folgenden Schritte:

  1. Einen Backup machen, wenn es schon eine ASO Anwendung gibt und noch kein Backup. Praktisch ist es, um die Daten zu exportieren und auch die Anwendungseinstellungen als Bildschirmabdruck zu speichern.
  2. Die Planning Anwendungseigenschaft ENABLE_ASO_APP_FOR_PROVISIONING_IN_SHARED_SERVICES Eintragen.
Die Properties von Planning.

Abbildung 3: Die Properties von Planning.

Der Eintrag wird auf true gesetzt.

Abbildung 4: Der Eintrag wird auf true gesetzt.

  • In EAS die Planning ASO Anwendung entfernen. Hierdurch wird die Registrierung in Shared Services auch entfernt.
Anwendung löschen kommt nicht oft vor.

Abbildung 5: Anwendung löschen kommt nicht oft vor.

  • Den Planning-Dienst wieder neu starten.
  • Die Planning Anwendung wieder neu aktualisieren. Hierdurch wird die ASO Anwendung wieder neu erstellt und als Essbase Anwendung in Shared Services registriert. Diese steht dann wahrscheinlich unter dem Namen EssbaseCluster-1.

Hier kam es dann zu einer Fehlerbotschaft. Der Grund ist, dass die Substitution Variablen auch entfernt wurden, und diese Formel eine verwendet.

Aktualisieren ergibt einen Fehler.

Abbildung 6: Aktualisieren ergibt einen Fehler.

  • Danach alle Objekte aus der ASO Anwendung zurück kopieren, ausser die Outline! Substitution Variablen setzen und den Wert kopieren.
alter application 'N-LIFE_R' add variable 'CurrMonth';
alter application 'N-LIFE_R' add variable 'CurrYear';
alter application 'N-LIFE_R' set variable CurrMonth Apr;
alter application 'N-LIFE_R' set variable CurrYear FY20;
  • Danach die Daten laden.
  • Benutzerrechte setzen. Hierzu schreibe ich etwas mehr im nächsten Absatz.

Benutzerrechte

Weil wir die ASO Planning Anwendung aus der Planning Anwendung teilweise herausgenommen haben, müssen wir die Benutzerrechte separat setzen. Die Tatsache, dass die Planer ja keinen Zugriff hatten, war die Grundlage der ganzen Operation.

Die Planning Benutzergruppen können jetzt der Planning ASO Cube unterhalbx des Essbase Servers berechtigt werden mit Rollen.

Setzen der Rechte für die Gruppe.

Abbildung 7: Setzen der Rechte für die Gruppe.

Mit dieser Berechtigung konnte ich dann schon eine Essbase-Verbindung in Smart View mit der ASO Anwendung ersstellen.

Die Planning-Verbindung.

Abbildung 8: Die Planning-Verbindung.

Und hier auch die Essbase Verbindung auf die ASO Anwendung.

Abbildung 9: Und hier auch die Essbase Verbindung auf die ASO Anwendung.

Die Berechtigungen werden nicht in de Anwendung übertragen. Diese müssen also regelmässig in einer Automatisierung übertragen werden. Hierzu können die folgenden MaxL Befehle helfen.

Mit diesem Befehl bekommt man eine Liste der Filter aus der Planungsanwendung.

display filter on database 'TNONLIFE'.'NONLIFE';

Mit diesem kann das Ergebnis in einen neuen Filter kopiert werden.

create or replace filter 'N-LIFE_R'.'ASO1' .'fNONL_Test' as 'TNONLIFE'.'NONLIFE' .'fNONL_Test';

Fazit

Weil der Kunde auf dem letzten Patchlevel von Planning war, konnte ich eine Funktionalität verwenden, um Planer mit einer Essbase Verbindung auf den ASO Plantyp zu berechtigen. Ohne dieses, wäre ein solches Anwendungsdesign nicht möglich gewesen.

Ihr Philip Hulsebosch 

Veröffentlicht unter Essbase Getagged mit: , , , ,

Dimension build failed mit Error code 1090001

Die klassische, vertraute und zuverlässige Weise um Dimensionen in Essbase Anwendungen zu bauen ist noch immer die Rule Datei. Ich wollte einen Pilot-Anwendung aufbauen aus einem Datenextract und musste hierfür die Elemente in den Dimensionen anlegen. Was ist dann einfacher als eine Rule Datei für den Dimension build zu erstellen – doch dieses Mal lief es nicht direkt glatt.

Die Datei

Die Datei hatte schon das richtige Format, sauber mit dem Trennzeichen Komma und Kopfzeile etc.. Damit hatte ich eine Rule Datei erstellt wo ich mit Parent/Child die Elemente unterhalb der Dimension erstellen wollte. Jeweils eine Textspalte mit dem gewünschten Parent Member angelegt und die Validierung lief auch durch. Dann die Datei in die Outline laden.

Unexpected Essbase error 1007083

Nun es lief direkt schon schief. Es kam die Fehlerbotschaft wie in Abbildung 1 sichtbar.

Fehler beim Erweitern der Dimension.

Abbildung 1. Fehler beim Erweitern der Dimension.

Im Text:

Object [outline name] is locked by user [user name]
Dimension build failed. Error code [1090001]. Check the server log file and the dimension build error file for possible additional info.
Unexpected Essbase error 1007083
Object [outline name] unlocked by user [user name]

Es kann auch der Error code [1090040] angezeigt werden.

Weil ich viele Dimensionen in einem Mal laden wollte, dauerte es doch noch eine Weile, bevor ich auf die Idee kam, die Codierung (Encoding) der Datei mir anzusehen. Und ja, dort sah ich, dass diese auf UTF-8-BOM eingestellt war. Ein ähnliches Problem hatte ich schon mal wie hier beschrieben.

Encoding auf UTF-8-BOM

Abbildung 2: Encoding auf UTF-8-BOM

Diese habe ich dann umgestellt auf UTF-8 und die Datei gepeichert.

Encoding auf UTF-8

Abbildung 3: Encoding auf UTF-8

Danach einen neuen Dimension Build gemacht und alles lief gut.

Dimensionsaufbau korrekt.

Abbildung 4: Dimensionsaufbau korrekt.

Fazit

Wie so oft kann der Unterschied zwischen Problem und Erfolg ein einem kleinen Haken sitzen. Ich schreibe diesen Blog und Lösungen für alle die auch einmal dieses Erfahren.

Ihr Philip Hulsebosch.

Veröffentlicht unter Essbase Getagged mit: , , ,

Welche Essbase Anwendung ist mit welcher Planning Anwendung verbunden?

Die Frage ist vielleicht komisch, aber bei einem Kunden räumen wir auf. Der Upgrade auf die Version 11.2 steht an und wir wollen nur notwendige Anwendungen übertragen. Wir sind ein grosses internationales Team mit vielen Anwendungen. Das Problem ist in den Reporting Anwendungen (ASO) von Planning.

In Planning steht nichts.

Wenn eine Planning Anwendung erstellt wird, werden Namen vergeben. In den BSO-Teil wird hier der Name der Anwendung verwendet – heisst die Anwendung PLAN, dan trägt die damit verbundene Essbase Anwendung auch den Namen PLAN mit darunter dann Plan1, etc.

Wenn aber eine Reporting Anwendung erstellt wird, dann hat diese das Speicherformat Aggregate Storage (ASO) und diese kann technisch nicht zu den BSO erstellt werden. Es muss also eine andere Essbase Anwendung erstellt werden. Der Link zwischen einer ASO Anwendung und der dazugehörigen Planungsanwendung ist schwierig zu finden.

Jeder kennt die Eigenschaften eines Account Elements. Dort werden die Namen der Cubes dargestellt, aber nicht den Applikationsnamen von der ASO1.

Eigenschaften von Account Element

Abbildung 1: Eigenschaften von Account Element

LCM bringt (wieder) die Lösung

Nach einigem Suchen bin ich in die Artefact Liste der Anwendung getaucht. Ich habe mir die Application Definition exportiert.

LCM Auswahl für Anwendungseigenschaften.

Abbildung 2: LCM Auswahl für Anwendungseigenschaften.

In meinem Notepad++ habe ich mir dann die Datei angesehen. Und tatsächlich, konnte ich dort den Namen der Anwendung finden, wo mein ASO1 zugehört.

XML code mit der gewünschten Information.

Abbildung 3: XML code mit der gewünschten Information.

Ihr Philip Hulsebosch

Veröffentlicht unter Essbase Getagged mit: , , ,

Essbase could not get a lock in the specified time

Eine Fehlerbotschaft kommt oft unerwartet und dann ist einer der ersten Dinge, die man sich fragt – was habe ich verändert? Oft sind es die Kleinigkeiten, die zu einer langen Suche führen können. So auch in diesem Fall.

Die Ausgangslage

Ein sehr einfaches Calc Script, welches in der EAS Konsole normal ausgeführt wird, kracht in einem Prozess mit der Fehlerbotschaft:

[Fri Aug 07 09:43:07 2020]Local/Vision/Plan1/Planadmin@Native Directory/16580/Error(1014031)

Essbase could not get a lock in the specified time.

[Fri Aug 07 09:43:07 2020]Local/Vision/Plan1/Planadmin@Native Directory/16580/Warning(1080014)

Transaction [ 0x10005( 0x5f2d0593.0x445c0 ) ] aborted due to status [1014031].

Dann fragt man sich, was ist da anders als dass ich dieses in EAS laufen lasse. Nun die Prozesskette ist schon etwas länger, den der Kunde möchte aus Planning ODI Prozesse starten. In diesem Fall starte ich das besagte Essbase Calc script von einem ODI Prozess aus. Diesen ODI Prozess starte ich mit einer Business Rule welche in einer Planning Taskliste vom Benutzer angeschoben wird.

Nun, die anderen Objekte waren alle OK.

Nun muss man wissen, die Business Rule, welche den ODI Prozess anschiebt ist auch ein Rechenskript auf Essbase. Hier ist ein Beispiel hierzu:

SET UPDATECALC OFF;

SET CREATENONMISSINGBLK ON;

SET CALCPARALLEL 1;

VAR xx_return=0;

FIX(

„Account_NoMap“

„Jan“

„FY20“

„ACT_LOC“

….

)

„Periodic“( 

  xx_return = @JInvokeODIScenario ( „PKG_LOAD_ACTUALS;001;GLOBAL;5;WORKREP1″,““);

  „FY20“ = xx_return;

IF (xx_return <> 0   )

    @RETURN („Error launch scenario ODI – PKG_LOAD_ACTUALS“, ERROR);

ENDIF)

ENDFIX

Mit dem Starten wird in dieser Rule ein FIX auf einen Bereich gesetzt. Kurze Zeit später wird mein Essbase Calc Skript gestartet und unglücklicherweise hatte diese auch einen FIX auf einen gemeinsamen Bereich. Hierdurch konnte das Calc Skript keinen Lock bekommen und sprang raus mit der Fehlerbotschaft. Eigentlich logisch, aber schwer zu finden.

Ihr Philip Hulsebosch

Veröffentlicht unter Essbase Getagged mit: , , ,

EPM 11.2 Installation auf Oracle Virtualbox

Seit einigen Wochen ist die Oracle Enterprise Performance Management Version 11.2 verfügbar. In diesem Beitrag beschreibe ich, wie diese auf eine Oracle VirtualBox installiert wurde. Es beschreibt meine Erfahrungen und zeigt wie eine Installation auf einer Virtual Machine gemacht werden kann. Die Reise beginnt mit der Installation von Microsoft Server 19, Oracle Database und anderen Vorbereitungen. Danach findet die Installation und dann die Konfiguration statt. Als letztes beschreibe ich dann, was alles noch an Fehlern behoben werden musste, um die Software in Betrieb zu nehmen.

Neue VM in Oracle VirtualBox aufsetzen

Ich bin ein großer Fan von “Virtual Machines“ (VM), denn sie bieten mir die Möglichkeit um verschiedene Instanzen einer Software auf dem Laptop zu haben, und bei Bedarf eine Momentaufnahme (snapshot) zu erstellen und ggf. zu diesem Punkt zurückzukehren. Einer der Anbieter ist Oracle mit seiner gratis Virtualbox, die sehr einfach zu betreiben ist.

Meine Oracle Virtualbox die ein Upgrade bedarf

Abbildung 1: Meine Oracle Virtualbox die ein Upgrade bedarf.

Als erstes wird eine neue VM aufgesetzt. Ich nenne diese MS_Server19, wähle das OS Windows 64-bit aus, und gebe dieser CPU, Speicher und Festplattenkapazität. Hier sollte nicht gespart werden – ich musste die Platte auf 60 Gb vergrößern.

Die anfängliche Konfiguration der VM (etwas zu klein).

Abbildung 2: Die anfängliche Konfiguration der VM (etwas zu klein).

Danach kann das OS aufgespielt werden. Ich hatte mir eine Test-Lizenz von Microsoft Server 19 heruntergeladen, womit ich 180 Tage mit der EPM spielen kann. Wählen Sie die Standard Version mit Desktop.

Installation von Standard Version mit Desktop

Abbildung 3: Installation von Standard Version mit Desktop.

Und nach dem Abschließen der Installation lässt sich die VM mit Windows Server einwandfrei starten. Der erste Schritt ist damit getan.

MS Server 19 Standard auf der Oracle VM

Abbildung 4: MS Server 19 Standard auf der Oracle VM.

Installation von Oracle Database 12.2

Das nächste ist die Installation von Oracle Database 12.2 auf der Virtuellen Maschine. Das Installationspaket winx64_12201 hatte ich mir auf meinen Rechner geladen und den Ordner mit der VM geteilt. Damit kann ich von der VM direkt auf meinen Laptop zugreifen.

Ich wollte nicht von allen Installationsfenster einen Abdruck in das Blog einfügen, daher hier meine Installations-Optionen:

  • Create and configure a database
  • Desktop class
  • Use Windows Build-In Account

Und hier das Fenster mit der Konfiguration der Oracle Base:

Oracle Base Konfiguration

Abbildung 5: Oracle Base Konfiguration.

Und zur Kontrolle noch einen Login mit SQL*Plus.

Login funktioniert mit SQL*Plus

Abbildung 6: Login funktioniert mit SQL*Plus.

Danach habe ich auf der Datenbank einige Benutzerkonten erstellt. Hiermit kann ich das Repository von Planning, Calculation Manager, EAS etc. aufteilen und separat halten.

Weitere Vorbereitungen

Zu den weiteren Vorbereitungen gehört, die Performance Options auf System Managed Size zu setzen.

Performance Options auf System Managed Size setzen

Abbildung 7: Performance Options auf System Managed Size setzen.

Einen Admin Benutzer anlegen zur Installation.

Einen Administrator anlegen mit dem Namen hypadmin

Abbildung 8: Einen Administrator anlegen mit dem Namen hypadmin.

Wichtig ist das dieser Benutzer die folgenden Rechte bekommt unter Administrative Tools > Local Security Policy > Local Policies > User Rights Assignment.

  • Act as part of the operating system
  • Allow logon locally
  • Bypass traverse checking
  • Logon as a batch job
  • Logon as a service

EPM Software herunterladen

Der nächste Schritt ist von der https://edelivery.oracle.com/osdc/faces/SoftwareDelivery die EPM Software zu finden und herunter zu laden. Hier sollte der Oracle HTTP Server 11.2 nicht vergessen werden.

Auswahl der EPM Software (knapp 20 Gb)

Abbildung 9: Auswahl der EPM Software (knapp 20 Gb).

Danach alles in einen Ordner auspacken und dann kann es mit der Installation losgehen.

Installation

Die Installation sollte als Administrator Benutzer gestartet werden. Ich hatte mich als hypadmin angemeldet und dann das installTool gestartet.

Starten der Installation

Abbildung 10: Starten der Installation.

Das Verzeichnis für das Middleware Home ist: C:\Oracle\Middleware

Danach kam die Produktauswahl. Wichtig ist unterhalb von Foundation Services den Oracle HTTP Server zu selektieren. Standard ist dieser nicht ausgewählt.

Auswahl der Software.

Abbildung 11: Auswahl der Software. Nicht sichtbar ist die Auswahl von FDM Enterprise Edition und Profitability and Cost Management.

Und nach einer langen Zeit (wenn man wartet, dauert alles sowieso länger), kam dann die Nachricht dass alles Installiert wurde.

Alles grün.

Abbildung 12: Alles grün.

WICHTIG – Jetzt kein Configure!!!

Zuerst muss jetzt das Repository Creation Utility verwendet werden. Dieses ist neu und auch ein wenig „standard“ bei der Installation von Oracle Middleware. Man hätte vielleicht dann auch den Knopf entfernen können…

RCU

Das Repository Creation Utility (RCU.bat) wird als Administrator Prozess in dem Verzeichnis C:\Oracle\Middleware\oracle_common\bin gestartet. Dort wird die Option „Create Repository – System Load and Product Load” gewählt. Danach kommt die Konfiguration. Hierzu habe ich etwas mehr Bilder in das Blog aufgenommen.

Verbindung mit der Oracle Datenbank legen.

Abbildung 13: Verbindung mit der Oracle Datenbank legen.

Die ausgewählten Komponenten.

Abbildung 14:  Die ausgewählten Komponenten.

Den ODI habe ich nicht mitgenommen. FDM hat sein eigenes ODI, die Abbildung zeigt das separate ODI.

Die Übersicht der angelegten Schema.

Abbildung 15: Die Übersicht der angelegten Schema.

Von der Installationsmaske aus direkt Zugriff auf die Logdateien.

Abbildung 16: Von der Installationsmaske aus direkt Zugriff auf die Logdateien.

Interessant ist, dass das Verzeichnis noch immer EPMSystem11R1 ist…

In dem Verzeichnis C:\Oracle\Middleware\EPMSystem11R1\common\config\11.1.2.0 muss dann die Datei RCUSchema.properties mit Verbindungsparametern versehen werden. Diese werden in Klartext eingetragen und gespeichert. Beim ersten Start der Webanwendung werden diese dann verschlüsselt!

Originaldatei vor der Anpassung.

Abbildung 17:  Originaldatei vor der Anpassung.

Angepasste Datei mit den Verbindungsparametern.

Abbildung 18:  Angepasste Datei mit den Verbindungsparametern. Ja, ich verwende ein einfaches Password – pfui, schlechtes Beispiel!

EPM Konfiguration

Jetzt geht es (endlich) los mit der EPM Konfiguration. Diese habe ich in Abschnitte gemacht und hier zeige ich den ersten Teil. Die Batchdatei EPM System Configurator wird als Administrator Benutzer gestartet.

Soweit möglich habe ich die Standardeinstellungen beibehalten. Die Instanz nenne ich epmsystem1.

Konfiguration der Instanz.

Abbildung 19: Konfiguration der Instanz.

Die Erstkonfiguration mit der Verbindung zur Oracle Datenbank. Für den Server nehme ich localhost. Als Benutzername nehme ich hss für das Shared Services. 

Verbindungsparameter mit dem Repository.

Abbildung 20: Verbindungsparameter mit dem Repository.

In Abbildung 21 sehen sie einen Teil der Konfigurationsreihenfolge. Der erste Schritt waren die Common Settings, Deploy Application Service und das Deployment der Datenbank.

Teilkonfiguration.

Abbildung 21: Teilkonfiguration.

Weil ich die Repositories in verschiedene Datenbanken verteilen wollte habe ich die folgende Reihenfolge konfiguriert:

  • Workspace und Shared Services
  • Essbase, APS und EAS
  • Oracle HTTP Server
  • Calculation Manager
  • Planning
  • Financial Reporting und FDM
Deployment von dem Java Web Application Server in dem Domain EPMSystem.

Abbildung 22: Deployment von dem Java Web Application Server in dem Domain EPMSystem.

Hier verwende ich einen neuen Benutzer für innerhalb von EPM: epm_admin

Konfiguration von Essbase

Abbildung 23: Konfiguration von Essbase.

Starting OHS

Wie auch beim Repository Configuration Utility, gibt es beim Oracle HTTP Server eine Anpassung in der Installationsroutine. Diesen muss man selber starten. Ja, auch im Betrieb….

Erststart von ohs.

Abbildung 24: Erststart von ohs.

Ein Command Prompt Fenster als Admin starten und dann unter Middleware\user_projects\epmsystem1\httpConfig\ohs\bin den Befehl startcomponent ausführen.

Konfiguration war erfolgreich.

Abbildung 25: Konfiguration war erfolgreich.

Java Update

Ferner habe ich noch die JDK-8u241-windows-x64.exe installiert und die JAVA HOME in die Pfadangabe gebracht.

Danach einen Reboot gemacht und das EPM gestartet.

Diagnostics and Troubleshooting

Leider ging dieses nicht gut. Die Diagnostics sah auch nicht so grün aus wie eine Almwiese.

Erster Teil der Diagnostics.

Abbildung 26: Erster Teil der Diagnostics.

Die Analyse zeigte, dass sich die Webanwendungen nicht starten ließen. Das typische

Bad response code with both GET and POST methods: 503 and 503

Recommended Action: Check that the application is started

war bei allen zu sehen. Mit Hilfe von einem Kollegen, der echt Fit in Installationen ist, haben wir dann auch den Grund gefunden. Die boot.properties Dateien mit dem Benutzernamen und Password wurden nicht beim Erststart in den Webservice aufgenommen und entsprechend wurde der Dienst auch nicht konfiguriert.

Boot.properties Datei unverschlüsselt.

Abbildung 27: Boot.properties Datei unverschlüsselt.

Die erstmalige Integration haben wir dann in der Weblogic Konsole gemacht und dabei entstanden dann auch die verschlüsselten boot.properties Dateien.

Boot.properties Datei verschlüsselt.

Abbildung 28: Boot.properties Datei verschlüsselt.

Endlich Erfolg!

Ein Neustart und dann EPM starten. Danach manuell den Oracle HTTP Server und wir bekommen unsere Anmeldemaske.

Login war erfolgreich.

Abbildung 29: Login war erfolgreich.

Auch die Diagnostics sehen gut aus.

Diagnostics in grün.

Abbildung 30: Diagnostics in grün.

Fazit

Letztendlich konnte diese Standard Installation ohne Besonderheiten auf einer Standardplattform zum Ziel gebracht werden – aber einfach war es bestimmt nicht. Die Installationsanleitung hat viel Detail, aber wenn es einmal irgendwo nicht klappt, dann bietet diese wenig Hilfe.

Ich hoffe, dieser Beitrag hilft ihnen bei ihrer Installation. Mir bleiben noch einige Monate, bis meine Probelizenz abläuft und ich hoffe bis dahin ist die Linux-Version verfügbar. Dann gibt es eine Neuinstallation!

Ihr Philip Hulsebosch.

Veröffentlicht unter EPM - 11.2, EPM & BI, Installation, Konfiguration & Tuning Getagged mit: , , , , , , ,

Dieses Jahr eine Webinar KSCOPE – auch für Sie!

Die KSCOPE findet dieses Jahr nicht statt, aber nächste Woche (Dienstag 19. Mai 2020 bis Freitag 22. Mai 2020) gibt es eine virtuelle KSCOPE, die für alle interessierte frei zugänglich ist. Die Webinare beginnen rund 17.00 Uhr und enden rund 22.00 Uhr (deutsche Zeit). Nächste Woche gibt es also jeden Abend verschiedene interessante Beiträge zu Essbase, Planning aber auch Infrastruktur und Reporting! Man kann sich für beliebig viele Webinare eintragen. Die KSCOPE steht bekannt um seine hoher Qualität der Beiträge und diese werden jetzt angeboten als „Learn from Home Series“ in 4 parallele Tracks. Diese sind hierunten dargestellt.

Ich habe mich für u.a. folgende Beiträge eingetragen (und zeigt ein wenig was so angeboten wird…)

Dienstag              ASO Calculations and Calc Manager, What Is Robotic Process Automation (RPA) and Why Should You Care? und Oracle Analytics Data Visualization in an EPM World

Mittwoch            Essbase Road Map, What Now, Essbase? (von Cameron Lackpour und Tim German) und OAC Networking and Infrastructure: A Walkthrough

Donnerstag        Free Form Planning 101: How to Build Essbase Cubes in Free Form Planning, Introduction to Essbase MDX for Reporting (von Tim Tow) und Essbase Calculations: Elements of Style

Freitag                 Moment of Truth: Should You Stay (on-premise) or Should You Go (to Oracle’s EPM Cloud)? (von Opal Apalat), Seeing Is Believing: Oracle Profitability and Cost Management in Action und Advanced Calculations for PBCS, Planning and Essbase.

Mehr Information und das Programm können sie unter dieser URL finden: https://www.odtug.com/page/odtug-learn-from-home-series

Ihr Philip Hulsebosch

Veröffentlicht unter EPM & BI, EPM Cloud, Essbase, Planung & Berichtswesen Getagged mit: , , , , , , , ,

Essbase Roadmap (20c)

Regelmäßig gibt es Präsentationen vom Oracle Product Management, wo die Reise mit den Produkten hingeht (Roadmap). Superinteressant für alle die mit den Produkten intensiv arbeiten und deshalb berichte ich in diesem Beitrag hierüber. Bitte beachten sie, Oracle (und damit auch ich) hat immer eine ohne Gewähr-Klausel (Safe Harbor Statement), die auch auf das hiernach beschriebene zutrifft.

 

Essbase Versionen

Das folgende Schaubild zeigt eine gute Übersicht der Essbase-Versionen – die 11g, 12c und hier noch 19c genannt, aber als 20c bald verfügbar.

Die 11-er Version kennen wir alle seit Jahren, entweder als Installation im eigenen Haus, als teil der Fusion Middleware wo sie über OBIEE verfügbar war, aber auch als Basis der EPM Cloud.

Abbildung 1: Übersicht der verschiedenen Essbase-Versionen

Die 12c Version ist eine Cloud Version, die als Teil von der Oracle Analytic Cloud zu uns kommt. Cloud bedeutet hier die Oracle Cloud Infrastructure (OCI) mit allem „drum und dran“, wie hohe Verfügbarkeit, hohe Sicherheitsanforderungen und flexibele Skalierung.

Was hier noch als Version 19c dargestellt ist, kommt in 2020 als, ja sie Raten es schon, 20c auf dem Markt. Und ja, ja, ja, es gibt eine On-Premises Version! Oracle hat kein Abschied genommen von der Cloud-Strategie, aber Essbase wird es wieder als Standalone auf dem eigenen Rechner im eigenen Rechenzentrum geben.

Das 20c ist ein Produkt, nur in unterschiedlichen Installationen. Die erste Version sollte es diesen Sommer auf Oracle Linux 7 (RedHat Enterprise) geben.

Eine direkte Migration von 11g (11.1.2.3.x) wird laut Oracle möglich sein.

Was gibt es Neues?

Wer von der 11g Version auf die 19c Version wechselt, wird doch große Veränderungen sehen: Das Cube Design, dort wo wir uns als Entwickler doch sehr viel aufhalten, ist kein Essbase Administration Service mehr, sondern ein Werkzeug mit dem Namen „Cube Designer“ als Web-basiertes Werkzeug oder als Teil von Smart View. Ich habe sowohl mit dem Webwerkzeug, als auch mit dem SmartView-Teil gearbeitet und dieses hat mir doch gut gefallen. Es ist vieles mal schneller um Dinge anzupassen oder nachzusehen.

Aber es wird doch vieles Alt-vertraut sein: MaxL, Calc Scripts, Essbase-Rechenkern und SmartView sind alle noch da.

Neuerungen werden sein:

  • Schneller als 11g. Vor allem bei Hybrid-Mode, wo Abhängigkeiten von Daten und Berechnungen in der Datenbank vorher analysiert werden, und darauf die Berechnung stattfindet.
  • Szenario Management (eine Art Sandkasten, wie wir diese auch schon bei der Planning Cloud gesehen haben)
  • Datasource und Connections. Dieses ist ein neues Konzept für Datenquellen/Rule Files/Partitionen. Diese werden einheitlich definiert. Details werden zu einem späteren Zeitpunkt durch Oracle näher erläutert.
  • REST API Unterstützung.
  • Einfacheres Benutzer- und Zugriffsmanagement.
  • CLI und MaxL über HTTP (remote execution of MaxL commands).

Essbase Architektur

Essbase wird als Java Agent (Jagent) in Weblogic Server eingebettet sein.  Die altbekannte sec-Datei ist jetzt in einer Oracle Relationalen Datenbank untergebracht. Die ESSSVR Prozesse laufen dann auf dem Betriebssystem und die Cubes liegen auf den Festplatten. Die Abbildung 2 hatte ich auch schon in meinem Beitrag „Vorschau auf Essbase Cloud Service“ verwendet und veranschaulicht die Architektur auch hier wieder.

12c/20c Essbase Architektur

Abbildung 2: 12c/20c Essbase Architektur

OCI Marketplace

Wer Essbase in der Cloud betreiben möchte, kann dieses über die Oracle Cloud Infrastructure Marketplace machen. Die Essbase Installation und Konfiguration wird hierdurch viel einfacher und man kann auch seine eigenen Lizenzen einbringen (Bring your own license BYOL). Dieses ist dann seine eigene Essbase Instanz, wo man dann selber auch für die Upgrades von Essbase und die Back-Ups Sorge tragen muss. Theoretisch kann man die Essbase.cfg anpassen. Die „Bleche“ und die Netzwerkinfrastruktur sind dann in der Hand von Oracle und werden professionell betrieben.

Dieses braucht man für Essbase in der Cloud:

  • OCI Compute Node: dieses ist eine vorinstallierte Essbase 19c/20c auf Linux 7 mit der angegebenen Anzahl Prozessoren und Speicher.
  • Block Volume: Hier liegen u.a. die .pag und .ind Dateien.
  • Object Storage Bucket: Hier liegen die Backups.
  • Database instance: Das Repository als Ersatz für die .sec Datei. Hier bietet sich die Autonomous DB an!
  • KMS/Vault Entries: die Schüssel zum Verschlüsseln aller Daten.

Optional ist jetzt:

  • Load Balancer: Zugangstor – auch wenn man nur eine Essbase Instanz (Compute Node) hat.

In der Abbildung 3 wird dieses grafisch dargestellt.

Schaubild vom Netzwerk und den Komponenten bei Essbase in der Cloud.

Abbildung 3: Schaubild vom Netzwerk und den Komponenten bei Essbase in der Cloud.

In dem Schaubild ist auch dargestellt, dass Internet Gateways definiert werden können, um per VPN/Fast Connect die eigene On-Premises Welt zu verbinden.

Fazit

Ich kann nicht warten bis die neue Version von Essbase verfügbar ist. Meine Erfahrungen, auch im Umfeld von Planning Cloud mit dem Dimension Editor möchte ich auch in Essbase erfahren.

Sicherlich werde ich dann auch einmal eine Essbase Cloud aufbauen und hierüber in diesem Blog berichten!

 Ihr Philip Hulsebosch.

Veröffentlicht unter Essbase Getagged mit: , , , ,

Drillbridge – für den Sprung aus EPM in die relationale Welt

Die EPM Platform mit Oracle Hyperion Planning, Hyperion Financial Management (HFM) und Oracle Essbase bekommt generell ihre Ist-Daten aus anderen Datenquellen. Hierbei werden in der Regel auch keine Transaktionsdetails übernommen und oft gibt es ein Mapping. Dadurch entsteht ein “Bruch” zwischen den Software Systemen, die der Benutzer gern integriert haben möchte. Oft stellt sich die Frage, welche Daten verbergen sich hinter dieser Zahl die ich in Planning sehe? Und genau da hilft Drillbridge!

In meinem Beitrag “Drillbridge von Essbase auf relational gespeicherte Daten zugreifen” hatte ich schon einmal das Werkzeug vorgestellt und anhand von einem Beispiel die Einrichtung erklärt. Weil ich bei einem Kunden bin, wo das Drillbridge intensiv eingesetzt wird, sehe ich immer wieder wie stark die Integration mit relationalen Daten ist. Es bietet dem Benutzer auf doppelklick die unterliegenden Transaktionsdaten zu dieser Zahl in Planning an.

Was bedeutet das “Drill”?

Das Wort “drill” kommt aus dem Englischen und bedeutet bohren. Die Idee ist, dass man von der Oberfläche in die Tiefe geht und dort etwas hervor holt. Drill-Through oder Drill-Down werden als synonym verwendet und ist das verlassen einer Oberfläche an einem Daten-Punkt und hervorholen von Details zu dieser Zahl.

Drill-Through aus einem Formular

Abbildung 1: Drill-Through aus einem Formular.

Welche Drill-Through Optionen gibt es?

Im EPM gibt es 3 Software werkzeuge, um einen Drill-Through zu realisieren: Essbase Studio, FDMEE und Drillbridge.

Essbase Studio ist ihnen vielleicht noch bekannt unter den Namen Essbase Integration Service, ist ein Werkzeug um Essbase Anwendungen, direkt aus relationale Datenquellen zu erstellen. Die Dimensionen werden modelliert und so bekommen wir eine Integration hin. Diese Drill-Through Option gibt es also nur auf Essbase und kann daher nur mit SmartView verwendet werden auf Datenpunkte, die auch mit Essbase Studio geladen worden sind.

FDMEE ist die Abkürzung für Financial Data Management Enterprise Edition. Sie versehen, warum ich nur die Abkürzung verwende – meine Beiträge werden doppelt so lang, wenn ich alles voll ausschreibe. Nun, dieses Werkzeug, welches für Oracle im EPM-Bereich strategisch ist, versteckt sich auch unter den Namen Data Management in Planning und Cloud.

Ich will es offen zugeben und hier schreiben: ich bin nicht gerade ein großer Fan von FDMEE. Das Konzept und die Qualität gefallen mir nicht. Ich arbeite oft mit dieser Software aber Freude habe ich selten hieran. Nun, weil alle Daten in FDMEE geladen werden, und hier eine Verbindung zu der Datenquelle oder das die Datei in einem Ordner abgelegt wird, bietet das Werkzeug einen Drill-Through hierauf. Dieses funktioniert ganz gut, aber ist nicht einfach einzurichten. Es ist wohl notwendig um die Ladeprozesse auf FDMEE umstellen – also keine Essbase Rule files!

Bei Drillbridge braucht man das bestehende Modell nicht anzupassen, es funktioniert aus SmartView aber auch von Daten Formulare heraus. Es ist sehr flexibel und hat in der kommerziellen Version sehr viel konfigurierbare Funktionalität.

Was ist diese Funktionalität?

Der oben beschriebene “Bruch” der Daten in der Schnittstelle zwischen z.B. Planning und der Quelle z.B. Datawarehouse muss durch das Werkzeug überbrückt werden. Der Klick auf eine Zahl in einem Datenformular oder Smart View Excel muss übersetzt werden in eine Abfrage auf das Datenwarehouse, wo die unterliegenden Daten liegen.

In der Regel werden Drillbereiche eingerichtet. So gibt es einen Drillbereich auf die Kosten Accounts und einen anderen auf die Ertrags-Accounts. Jeder zeigt dann auf eine andere Datenquelle, wo die unterliegenden Daten herkommen.

Hierzu muss der POV dieser Datenzelle abgegriffen und übersetzt werden. Hierzu bietet Drillbridge sehr viele Möglichkeiten an. Pro Dimension werden diese definiert z.B. Jan wird “01” und FY20 wird in 2020 umgewandelt. Es gibt die Option, um eine Anzahl Zeichen abzutrennen oder anzuhängen, z.B. um ein Account Präfix zu entfernen.

Umwandeln der Jahreszahl von FYxx auf 20xx.

Abbildung 2 : Umwandeln der Jahreszahl von FYxx auf 20xx.

Es können Mapping Tabellen eingelesen werden, die bei der Umsetzung unterstützen, es können Elemente ausgeschlossen werden und vieles Mehr.

Bei Drillbridge kann man eine Drillaktion auf das Ergebnis eines Drills setzen. So kann man z.B. runter bis auf einen eingescannten Rechungsbeleg gehen.

Es gibt auch Firmen die das Drillbridge einsetzen um Metadaten zu erschließen. So kann man Informationen anbinden, wie welche Kostenstelle ist dieses, wann wurde diese aktiviert und aus welchen ist diese hervorgegangen. Wer ist der Eigentümer und welche Rufnummer hat er/sie?

Fazit

Wie sie lesen konnten, ist das Drillbridge ein kräftiges Werkzeug welches die Brücke bilden kann zwischen ihren Daten in Planning/HFM/Essbase und der relationalen Welt, wo diese herkommen, oder wo verwandte Daten liegen.

Ihr Philip Hulsebosch

https://www.appliedolap.com/products/drillbridge
Veröffentlicht unter Planung & Berichtswesen Getagged mit: , , , , , ,

PCMCS – Kosten- & Leistungsrechnung in der Oracle-EPM-Cloud – (noch k)ein Praxis-Bericht –

Philip, an dieser Stelle nochmal „Herzlichen Glückwunsch“ zum

Oracle Ace Associate!

Es ist einige Jahre her, ich war Teilnehmer einer Oracle-Partner-Veranstaltung und entschied mich für eine Session zum Thema: „Kosten- & Leistungsrechnung mit Oracle EPM“. Das entsprechende Tool hieß „HPCM“ (Hyperion Profitability & Cost Management).

Die angekündigte Funktionalität machte mich neugierig und die Idee dahinter überzeugte mich schnell. Mein praktischer Background als Controller sollte doch reichen, um unverzüglich zum Experten der Kosten- & Leistungsrechnung mit Hilfe von HPCM zu werden, oder?

Abbildung 1: Kosten- & Leistungsrechnung in der Oracle-EPM-Cloud

Jedoch, der Traum platzte schnell, ein Kollege bremste meinen Eifer:

„Gute Idee, aber leider interessieren sich EPM-Kunden im deutschen Markt nicht für Software mit vordefinierten Geschäftsmodellen und Templates. Die wollen lieber alles selber und vor allem individuell machen“

Schade, presse ich also weiter manuelle Allokationen in Essbase-CalcScripte. Und weil das ganz schön herausfordernd werden kann, machen es nicht so viele, obwohl sich unser Essbase doch so wunderbar dafür eignet.

In der Tat hat sich nach meinem Kenntnisstand bis heute nichts daran geändert, oder kennen Sie Anwender von HPCM in Deutschland?
Europa- und erst recht weltweit sieht das ganz anders aus, aber bei uns haben sich diese fachlich und technisch vorgedachten Module nicht durchgesetzt.

Jahre später sieht es so aus:  
Oracle forciert seine „Cloud-Readiness“ und hat seine Essbase-basierte Kosten- & Leistungsrechnung in die Oracle EPM-Cloud gebracht.
Na schön, anderswo ist das Tool sehr verbreitet, wieso sollten wir uns jetzt dafür interessieren? 

Abbildung 2: Oracle Cloud Readiness

Nun, zunächst heißt das,

  • ein Produkt ist für Oracle besonders relevant, wenn es in die Oracle EPM-Cloud übertragen wird (Cloud Readiness ist Zukunft)
  • Cloud heißt Zukunft:
    • geringe Einstiegshürden,
    • geringe laufende Kosten,
    • schnellere Implementierung,
    • keine Infrastruktur-Wartung,
    • …..
  • Vor kurzem hat Oracle angekündigt, 2020 die Lizensierung im EPM-Bereich drastisch zu verändern. Den exakten Wortlaut der Oracle-Kollegen kenne ich nicht, mein Verständnis der neuen EPM-Lizensierung ist:
    • Die EPM-Cloud ist in verschiedenen Ausbau-Stufen (Standard, Enterprise, Enterprise Data Management) verfügbar
    • Die Basis: EPM-Cloud-Standard muss für mindestens 10 Named User lizensiert werden,
    • ab 25 Named User kann die EPM-Cloud-Enterprise lizensiert werden.
      Der „Profitability & Cost Management Cloud Service“ ist in der EPM-Enterprise-Cloud enthalten. Merken Sie sich bitte ab sofort das Kürzel PCMCS, die neue Bezeichnung für das bisherige HPCM.
    • Jeder Benutzer erhält vollen Zugriff auf alle im jeweiligen Paket enthaltenen Anwendungen.

Produkte in der EPM-Standard-Cloud

  • PBCS / EPBCS –  Planning
  • FCCS – Financial Close
  • ARCS – Account Reconciliation
  • EPRCS – Narrative Reporting

Zusätzlich enthält die EPM-Enterprise-Cloud

  • PCMCS – Profitability & Cost Management
  • TRCS – Tax Reporting
  • EDMCS – Enterprise Data Management (5.000 Regeln)

Damit ist für alle Kunden mit mindestens 25 Benutzern (Oracle „Hosted Named User“) ist PCMCS (+ TRCS, + EDMCS) ohne zusätzliche Kosten verfügbar.

Selbstredend bleibt Essbase wesentlicher Bestandteil jeder EPM-Cloud, auf den bisher gewohnten On-Premise-Zugang via EAS u.ä. müssen wir jedoch leider verzichten. Schauen Sie sich gerne dazu die Erkenntnisse von Philip an, der bereits in mehreren Beiträgen tief in das EPM-Cloud-Thema eingetaucht ist.

Financial Reporting und Smart View gehören ebenfalls zum Standard-Setup, letzteres wird jedoch nach wie vor lokal installiert und verbindet sich über die Cloud-URL mit den dortigen Datenquellen.

Weitere in den Cloud-Paketen verfügbare Funktionalitäten sind Groovy, Advanced Consolidations, XBRL Reporting und Transaction Matching.

Gibt es sonst noch etwas zu sagen? ABER JA:

Die in Deutschland ansässige Dependance eines internationalen Finanz-Konzerns hat sich Controlling-Tools namhafter Anbieter angesehen.

Gesucht wurde eine Software, mit der die Excel-basierte Kosten- & Leistungsrechnung mit einer Standard-Software abgelöst werden sollte.

Die Funktionalität der Oracle EPM-Cloud hat im direkten Vergleich so überzeugt, dass man sich für PCMCS entschieden hat.

Und das Beste? Wir durften den Kunden bei der Einführung von PCMCS in der Oracle-EPM-Cloud unterstützen!

  • Erstes Oracle EPM-Cloud-Projekt für uns
  • unseres Wissens der erste PCMCS-Einsatz in Deutschland
  • Outline ohne EAS erstellen
  • Allokationen in einer ASO-Datenbank ohne CalcScripte
  • EPM Automate in der Praxis
  • …….,

Wir haben viel gelernt! Interessante Informationen aus diesem Projekt werden wir demnächst veröffentlichen.

Ihr Michael Schmidt

Veröffentlicht unter EPM Cloud, Essbase Getagged mit: , ,

Neue Benutzeroberfläche in der EPM Cloud

Sie war schon seit Monaten angekündigt, doch jetzt kommt sie – die R13 Benutzeroberfläche in der EPM Cloud. In diesem Beitrag zeige ich ihnen was uns als Oracle Partner gezeigt wurde.

Auffallende Änderung

Monatlich kommt die Email mit dem “What’s new” in der Oracle Enterprise Performance Management Cloud und seit langem gab es in der Rubrik “Upcoming Changes” den Punkt “New EPM Cloud Interface”. In dem Release für April (3. April 2020 auf Test) kommt er dann doch und hier gibt es einen ersten Eindruck, was sich ändert.

Nichts gibt einem Benutzer ein größeres Gefühl mit etwas Neuem zu arbeiten als die Anpassung an die Benutzeroberfläche. Sie sehen hier unten die neue und bisherige “Dunkelblau” Ansicht mit der Form “Quadrat”.

Neue Ansicht.

Abbildung 1: Neue “Dunkelblau” Ansicht.

Bisherige Ansicht

Abbildung 2: Bisherige “Dunkelblau” Ansicht.

Die zuerst ins Auge springenden Unterschiede sind die Kacheln und der Hintergrund. Beides kann auch weiterhin nach Bedarf angepasst werden, aber hier beschreibe ich die Standardkonfiguration.

Einige Kacheln haben die Farbe gewechselt und selbst empfinde ich das als verwirrend, denn beim  Testen merkte ich, dass ich sehr stark auf Farben fokussiert bin und weniger auf Position. Die “Aufgaben” (Tasks) hatten einen grünen und haben jetzt einen lila Hintergrund. Auch der so oft verwendetet Knopf “Daten” ist jetzt orangefarben geworden, wie auch die Infolets.

Was man auch direkt merkt, ist was im Aufbau von Webseiten “responsive design” heißt. Die Objekte auf der Seite verteilen sich besser auf der Breite von dem Webbrowserfenster. Hierdurch bekommt man das Gefühl, mehr Platz zu haben.

Geschmackssache

In der Benutzeroberfläche gibt es auch vieles was unter dem Nenner “Geschmackssache” fällt. Dieses sieht man, wenn man durch die verschiedenen neuen Themen durchblättert. Unter “Extras” (Tools) – “Darstellung” (Appearance) kann man sich was schönes aussuchen.

Wie auch in der Abbildung 3 sichtbar, die selektierte Kachel wird hervorgehoben und die anderen gehen optisch mehr in den Hintergrund. Dieses wird bestimmt in der Navigation helfen.  Die Aktivitäten-liste rückt dann auch etwas weiter nach rechts und bietet mehr Platz. Wenn viele Module aktiviert sind, gibt es entsprechend viele Kacheln und dann ist ein wenig extra Platz kein Luxus.

Das neue Thema “Autumn Red”.

Abbildung 3: Das neue Thema “Autumn Red”.

Auf der Rechten Seite sehen sie jetzt einen Pfeil nach rechts. Hier kann man dann die Dashboards besser anzeigen.

Fazit

Es gibt funktional keinen Unterschied, aber die Benutzer werden sich doch etwas gewöhnen müssen. Ich glaube, die Neuerungen kommen der Navigation doch zur Hilfe.

Ihr Philip Hulsebosch

Veröffentlicht unter Essbase Getagged mit: , , ,

In eigener Sache: Oracle ACE Associate

Zu meiner Freude hat Oracle mir die Oracle ACE Associate Auszeichnung gegeben. Ich fühle mich sehr geehrt.

Was ist das Oracle ACE Program?

Das “Oracle ACE Program” besteht aus engagierten Mitgliedern der Oracle Community. Sie zeichnen sich aus durch ihre Erfahrung und technische Expertise in Oracle Produkten. Die Mitglieder fördern und helfen anderen mit Wissen durch u.a. Artikel, Blogs, Bücher und Tweets. Auf diese Weise gibt Oracle ihnen eine Anerkennung für ihr Engagement. Oracle unterstützt sowie vernetzt die Oracle ACE’s untereinander. Es gibt 3 levels:

  • ACE Associate
  • Oracle ACE
  • ACE Director

Oracle-Mitarbeiter sind nicht zugelassen.

Das Level “ACE Associate” ist ein Startpunkt und mein Ziel ist es, um mich zu einem “Oracle ACE” zu entwickeln. Dieses Blog war in der Beurteilung ein wichtiger Punkt und ich werde dieses unvermindert weiter führen in diesem Bestreben.  

Abbildung 1: Logo von “Oracle ACE Associates“

Ihr Philip Hulsebosch

Veröffentlicht unter Essbase

Anpassen der Kalender Dimension mit Halbjahres-Elementen

Es kommt in einer Planungsanwendung selten vor, dass die Dimension Periode einen Anpassungsbedarf hat. In diesem Fall wurde in dem Konzern die Veröffentlichungen für die Anleger von Quartal auf Halbjahr umgestellt. Dieses hatte zur Folge, das ein Level in die Periode eingefügt werden musste, welches doch anders geht als in anderen Dimensionen.

Ausgangssituation

Wir haben eine monatliche Planungshäufigkeit. Die Kalender Dimension bekommt standardmäßig den Namen “Period”, wird aber oft umbenannt in Monate oder Zeitperioden. Diese hatte hier einen einfachen Aufbau mit Monate als Basiszeitperiode aggregierend in Quartale und diese in ein Summenelement “YearTotal”. Das Element BegBalance als Anfangsbestand steht separat.

Dimension Periode in Detail.

Abbildung 1: Ausgangssituation.

Die beiden Halbjahres Elemente sollten H1 und H2 heißen. Wenn man die Elemente in der Hierarchie anklickt, sieht man schon schnell, dass das Einfügen von Übersichtszeitperioden beschränkt ist. Beim Erstellen von Übersichtszeitperioden müssen Sie von oben nach unten in der Hierarchie arbeiten, denn dieser Teil der Dimension muss eine symmetrische Rollup-Struktur haben. Nun, der Trick wie man dieses Level einfügt wird hiernach beschrieben.

Halbjahres Elemente einfügen.

Das Q1 Element wird selektiert und mit der Option Summenelement oder Übersichtszeitperiode einfügen (Add Summary Time Period) kann dann das Element H1 angelegt werden.

Summenelement einfuegen

Abbildung 2: Summenelement Option auswählen.

Das Element H1 wird angelegt. Automatisch bekommt dieses die Startperiode Q1 und Endperiode Q4. Dieses kann nicht geändert werden und sieht erst einmal komisch aus.

Elementdetails.

Abbildung 3: Das Summenelement hat die Startperiode Q1 und Endperiode Q4.

Entsprechend sieht dann auch der Zwischenstand aus. Das H1 Element hängt richtig hat aber alle Quartale unter sich.

Summenelement hangt falsch

Abbildung 4: Das Summenelement H1 hängt zwar richtig, hat aber die falschen Kinder.

Als nächstes sollte Q4 selektiert und erneut die Option “Summenelemente hinzuzufügen” betätigt werden.

Zweites SUmmenelement

Abbildung 5: Q4 auswählen, um das Summenelement H2 einzufügen.

Auch hier gibt es wieder nur das Q4 zur Auswahl.

H2 member

Abbildung 6: Das H2 Element einfügen.

Nun ist die Struktur fast richtig….

Korrekt einhaengen

Abbildung 7: Das H2 Element hat nur ein Quartal.

Als letztes wird das H2 Element editiert. Hier gibt es für die Startperiode die Auswahl zwischen den Quartalen 2 bis 4. Abhängig von der Auswahl der Startperiode, gibt es dann auch die Auswahl in der Endperiode.

Selektion der Endperiode

Abbildung 8: Auswahl der Start und End Periode.

Jetzt steht alles richtig und kann die Anwendung aktualisiert werden.

Refresh database

Abbildung 9: Die Struktur ist jetzt richtig und wird nach Essbase aktualisiert.

Was wird der Impact weiter auf die Anwendung sein?

Die Zeitsaldoeigenschaft der Accounts braucht nicht angepasst zu werden. Auch die Zeiteinstellung in den Szenarien braucht weiter keine Aufmerksamkeit.

Bei den Berichten und Formularen kann es anders aussehen. Hier liegt es natürlich daran was die Anforderungen sind, ob und welcher Anpassungsbedarf besteht. Bei dem @IDESCENDANTS auf das YearTotal werden jetzt die beiden neuen Elemente angezeigt. Dort wo mit GEN2 die Quartale selektiert wurden, sind jetzt die Halbjahreselemente gemeint. Dieses ist vorallem bei MDX wichtig zu beachten.

Abhängig von dem, ob die Dimension Dense oder Sparse ist, gibt es noch Arbeit. Bei dem doch seltenen Fall, dass diese Sparse ist, muss eine Aggregation der Daten erfolgen. Auch ist dann Sorge zu tragen, dass dieses auch in Skripte geschieht.

Bei den anderen Berechnungen ist es von Anwendung zu Anwendung unterschiedlich. Normalerweise rechnen wir ja immer auf Level0 (oder???) und dann gibt es meistens in anderen Berechnungen auch nichts zu tun.

Sie sollten aber achtgeben, wenn sie @PARENT, @ANCEST oder @GEN in Skripte haben, wo Datenwerte in Zeitperioden abgeholt werden.

Wenn diese Dimension Dense ist, haben wir ein weiteres dynamisch berechnetes Element, welches bei den Abfragen zu einer minimalen Verzögerung führen kann, aber meistens fallen diese innerhalb der Messgenauigkeit der natürlichen Variation.

Fazit

Die Dimension Periode hat so seine Eigenheiten in dem Anpassen der Struktur. Nicht nur, dass es keine weiteren Level 0 Elemente geben kann, sondern auch wie die Summenelemente angelegt werden müssen.

Veröffentlicht unter Planung & Berichtswesen Getagged mit: ,