Die Benutzeroberfläche ist die Kommunikation mit der Software und ist die Bedienung der Funktionalität. Daher ist diese auch sehr wichtig, um zufriedene Benutzer zu bekommen. Es reicht da nicht aus, das diese „schick“ aussieht, sondern muss im vielfältigen, ja oft tagelangem Einsatz noch immer die Lust auf das Arbeiten nicht vertreiben. In diesem Beitrag zeige ich ihnen die Benutzeroberfläche der Planning Cloud.
Der erste Eindruck
In meinem Beitrag „Neue Benutzeroberfläche in der EPM Cloud“ hatte ich schon einmal über die Oberfläche berichtet. Das erste was auffällt sind die Farben der verschiedenen Menüknöpfe. Hier finden sie:
Aufgaben – die Aufgabenliste und Steuerung durch die Prozesse, wenn diese erstellt sind.
Dashboards – wie der Name schon sagt, Darstellung der Daten in Grafischer Form.
Infolets – relativ neu und eine Erweiterung der Dashboards.
Daten – hier sind die Formulare in den Formularordnern zu finden.
Berichte – was früher in Financial Reporting erstellt wurde kann jetzt hier dargestellt werden.
Regeln – das Ausführen von Calculation Manager Rules (nicht das Erstellen).
Genehmigungen – Eingang in die optionale Weiterreichen von Planungseinheiten
Anwendung – die Administrator Werkzeuge
Extras – einige Administrator und Benutzer Einstellungen.
Infocenter – das Portal mit einige Videos zur Selbstschulung.
Abbildung 1: Die Homepage der Planning Cloud
Auf der linken Seite sehen sie einen grauen Bereich, wo die fälligen Aktivitäten aufgelistet werden, wenn sie in der Aufgabenliste mit Fälligkeitsdatum arbeiten. Man kann dort auch Umschalten auf die letzen verwendeten Knöpfe oder in die Favoriten.
Oben links sehen sie den „Hamburger“ der Navigator heisst. Hier kommt man in ein ziemlich altmodisches Menü, welches aber sehr wichtige Funktionalität enthält (Abbildung . Denn hier unter „Create and Manage“ geht es unter Rules in den Calculation Manager. Unter Dimensions geht es in den bekannten Dimensionseditor. Nun, seit es das Planning Plugin für Smart View gibt, benutze ich diese Menüoption nur zum Nachsehen und das geht auch unter Anwendung > Dimensionen.
Um die Berichte unter dem grünen Menüknopf zu erstellen gibt es hier das Reporting Web Studio. Dort öffnet sich ein Report Editor. Dieser ist gewöhnungsbedürfig, aber mit vielen Gestaltungsmöglichkeiten. Genau wie beim Calculation Manager auch, öffnet sich ein neues Fenster und wird man also nicht blockiert bei anderen Tätigkeiten.
Abbildung 2: Die Navigator Seite
Wenn eine Menü-Option selektiert wird, werden die anderen auf derselben Ebene etwas dunkler und das Sub-Menü erscheint. Am Anfang war es suchen, aber jetzt finde ich mich gut zurecht, denn es ist logisch aufgebaut.
Je nachdem welche Rollen/Rechte man hat, sieht man mehr oder weniger Menü-Flächen.
Abbildung 3: Extras Menü mit den darunter befindlichen Optionen.
Abbildung 4 zeigt eine typische Seite, wo man Anpassungen machen kann. Diese sind oft übersichtlich mit Selektionsfenster und einem Speichern-Knopf oben rechts.
Abbildung 4: Oberfläche der Benutzervoreinstellungen.
Dort wo mit Listen gearbeitet wird, gibt es viele Hilfsmittel um das zu finden, was man sucht. In der Abbildung 5 ist die Liste der Formulare wo es neben dem Suchen auch Filter-Möglichkeiten und Darstellungsformen gibt.
Abbildung 5: Oberfläche mit einer Übersichtsliste
Fazit
In der letzten Zeit habe ich viel mit der Planning Cloud gearbeitet und konnte mich schnell „anfreunden“ mit der Benutzeroberfläche. Für Oracle gibt es noch was zu tun, um die Funktionalität im Navigator auf ein besseres Level zu bringen, aber ich kann hiermit schon produktiv arbeiten.
Unsere EPM Systeme befinden sich in einer komplexen technischen Umgebung, wo verschiedene Software ineinander greift. So kommt es auch vor, dass Software Hersteller Entscheidungen treffen, die direkt Einfluss haben auf unser installiertes EPM. So auch mit dem End Of Life von Adobe Flash Player.
Als einer der Administratoren im Calculation Manager ein Template anpassen wollte, gab es folgende Situation auf dem Bildschirm und das Template ließ sich nicht öffnen.
Abbildung 1: Das Template lässt sich nicht öffnen
Nun gibt es ein großes „i“ auf mit dem man dann auf eine Adobe Informationsseite kommt. Dort wird einem dann mitgeteilt, dass der Betrieb von Flash Player eingestellt wurde. ☹
Abbildung 2: Informationsseite von Adobe www.adobe.com/nl/products/flashplayer/end-of-life.html
Da hatte ich also etwas verschlafen…
Wie jetzt weiter vorgehen?
Ein Weg ist Patches aufzuspielen und der andere Weg ist die Templates in Skripte umzuwandeln.
Oracle Patches
Für Hyperion Planning 11.1.2.4 gibt es den Patch 31365862 – 11.1.2.4.010 und für den Hyperion Calculation Manager 11.1.2.4 gibt es den Patch patch 28557058 welches die Version auf 11.1.2.4.014 bringt.
Wenn sie viele Templates verwenden, dann ist dieses der bessere Weg. Und ein Patch-Update ist ja selten verkehrt.
Umwandeln der Templates in Skripte
Jede Anwendung kann seine eigenen Templates haben. Diese stehen auf Plantyp level wie in Abbildung 3 zu sehen ist.
Abbildung 3: Die Templates von dem Plantyp.
Wie wir in Abbildung 2 gesehen haben, lassen sich die Templates nicht mehr öffnen, und somit kann man den Code nicht direkt einsehen. Dieses ist aber möglich in einem Skript, wo dieses Template verwendet wird. Hierzu öffnet man die Calculation Manager Rule und selektiert den Reiter „Script“. Dann wird der Code sichtbar zwischen den Template Kommentaren.
Abbildung 4: Code von dem Template wird sichtbar.
Man kopiert den Code dann in ein Skript welches man dann logischerweise den selben Namen gibt.
Abbildung 5: Skript mit demselben Code als das Template.
Wenn so alle Templates in Skripte umgewandelt sind, dann schaut man nach, wo die verschiedenen Templates verwendet werden.
Abbildung 6: Anzeigen wo ein Template verwendet wird.
Diese Calculation Manager Rules kann man dann öffnen und das Template für das Skript austauschen.
Abbildung 7: Skript für Template austauschen.
Nicht vergessen diese Calculation Manager Rules auch wieder zu „deployen“ in die Planungsanwendung.
Fazit
Es kann immer wieder zu Überraschungen kommen und in diesem Fall gab es 2 Wege, um das EOL von Adobe Flash zu korrigieren.
Dieses ist ein mehr generischer Beitrag um Verknüpfungen (Links) mit voreingestellten Browser Settings zu öffnen. So kann direkt in Vollbildmodus und ohne Menüleiste in das Oracle Planning eingestiegen werden.
Wie geht das genau?
Der Trick liegt in dem Anpassen der der Verknüpfung. Hier verbinden wir eine Visual Basic Skriptdatei welches die gewünschten Parameter an den Browser überreicht. In der Abbildung 1 wird diese vbs Datei in dem Link aufgerufen.
Abbildung 1: Verknüpfungsdetails.
Das Visual Basic Script kann natürlich auf ihre Wünsche angepasst werden. Hierunten ist nur ein Beispiel dargestellt, welches ihnen Anregungen und eine Hilfe geben kann.
Inhalt dieses vbs Visual Basic Script
‚ launch_planning.vbs, 26.08.2019
‚ Skript zum Starten von der Planning Seite im Vollbild Modus und ohne Controls o.ä.
So ab und zu muss auch mal eine Planunganwendung entfernt werden. Es ist schon wichtig, um hier richtig vorzugehen, denn sonst besteht die Gefahr das Reste einer Anwendung bleiben und für Probleme sorgen. Wie eine Planungsanwendung gelöscht wird, beschreibe ich in diesem Beitrag.
Bevor sie loslegen
Es ist immer Ratsam, um einen guten Backup zu haben. Auch vor dem Löschen einer Anwendung, denn auch hier kann es notwendig sein, um bestimmte Teile wieder herzustellen, um sie dann richtig (in der richtigen Reihenfolge) wieder zu entfernen.
Eine Planungsanwendung steht nie allein auf weiter Flur. Innerhalb vom EPM gibt es immer eine Essbase Anwendung, in den meisten Fällen Calculation Manager Rules, Financial Reporting Berichte, Data Management Objekte, ODI Integrationen, MaxL Skripte und vieles mehr.
Das Löschen
Mein Vorgehen ist meistens “von aussen nach innen” denn so sind meistens auch die Abhängigkeiten. Ich beginne mit Software ausserhalb des EPM wie ODI. Hier entferne ich die Objekte, die einen Bezug auf die zu löschende Anwendung haben. Danach nehme ich mir die EPM Teile vor: Calculation Manager Rules, Financial Reporting Berichte und Data Management Objekte. Diese Objekte lösche ich im Allgemeinen manuell.
Der Hauptteil ist das Entfernen der Planning Anwendung, die ich hierunten näher beschreibe. Diese entfernt mir dann auch direkt die Essbase Anwendung und alles was darin liegt wie Substitution Variablen, Essbase Rules, Calc Skripte und die Daten.
Auch wird das Repository leer gemacht. Das bedeutet, alle Tabellen die mit HSP beginnen werden entfernt. Die Datenbank selbst bleibt bestehen. Die Registrierung bei Shared Services wird entfernt und alle Benutzerrechte sind auch weg.
Es ist natürlich sollten sie sich die Zeit nehmen und kontrollieren, ob alles richtig entfernt wurde.
Planning Anwendung
Um eine Planning Anwendung zu entfernen müssen sie Rechte auf die Planungsadministration haben.
Abbildung 1. Planning Administration
Wenn sie dieses nicht haben, sollten sie sich die folgenden Rechte geben lassen:
Abbildung 2. Rollen von Shared Services.
Unter Shared Services die Rollen Administrator, Calculation Manager Administrator, EPMA Administrator und Financial Management Manager.
TIPP: Sie sollten Eigentümer der Anwendung sein. Es kann eine Herausforderung sein, um zu erfahren welche UserID der Eigentümer einer Anwendung ist. Es empfiehlt sich daher alle Anwendungen mit einem speziellen Admin Account zu erstellen.
Abbildung 3. Ich bin also nicht der Eigentümer.
Der Eigentümer sieht in den Application Settings einen weiteren Eintrag wie in Abbildung 4 zu sehen ist. Application Maintenance Mode – selektierbar.
Abbildung 4: Dieser Benutzer ist Eigentümer.
Abbildung 5: Die Anwendung auswählen und den roten Knopf drücken.
Abbildung 6: die letzte Chance, um sich zu bedenken.
Hiermit ist die Planungsanwendung dann weg. Die relationale Datenbank ist auch entfernt worden und alles ist sauber entfernt worden.
Fazit
Das entfernen einer Planungsanwendung (on premise) ist schnell gemacht, jedoch sollte man einige Versorgemaßnahmen treffen wie ein Backup und die richtigen Rechte.
Vielleicht haben sie es ja schon gehört – Oracle hat sein Vertriebsmodell auf den Kopf gestellt. Dabei hat die Marketing Abteilung auch viel zu tun gehabt, denn viele Namen haben sich geändert und wir werden uns wieder an vieles gewöhnen müssen. In diesem Beitrag werde ich diese Veränderung aus der Perspektive von Planning-Interessierten heraus beschreiben.
Kurz und bündig ändert sich die Namensgebung von
Planning and Budgeting Cloud Service >>> EPM Standard Cloud
Enterprise Planning and Budgeting Cloud Service >>> EPM Enterprise Cloud
Was fehlt auf der rechten Seite? Ja, die Wörter Planning, Budgeting und Service! Dafür bekommt man EPM zurück.
Bestehende Verträge
Schon in Mai, während einer Partner-Schulung, gab das Produktmanagement bekannt, dass das Cloud Angebot umgestellt werden würde. Diese Umstellung gilt nur für neue Verträge. Das Produktmanagement versicherte uns das bestehende Verträge auch über die darin vereinbarte Laufzeit hinweg, Bestandschutz haben. Aber das Produktmanagement hat ja fast das Safe Harbour auf der Stirn tätowiert.
Ich glaube, Oracle wird viel daran tun, um bestehende Kunden rasch auf die neue Lizenzstruktur zu bekommen, denn unter der Motorhaube (in dem Cloudnebel) gibt es ja jetzt zwei Betriebstypen. Das gilt nicht nur für den Planning-Teil sondern auch für die Cloud Infrastruktur!
Das Nächste, was auffällt ist, das in der Standard Version die ganzen Module enthalten sind, und in der Enterprise Version das Custom Planning. Ich glaube, dass ist meine größte Enttäuschung. Europäische Kunden setzen diese Module nicht so oft ein und bestehende Kunden würden schneller ihre eigene Anwendung mit in die Cloud nehmen, als diese in ein oder mehrere Module umzubauen.
Abbildung 2: Übersicht der neuen Produktstruktur.
Der Groovy Support ist auch nur in der Enterprise Version vorhanden, und auch das tut weh. Denn dieses ermöglicht Vieles und Gutes, was nicht als Standard geliefert wird.
Was sie hier auch nicht lesen ist, die Anzahl der Anwendungen. In Standard ist das ein (1) Business Prozess pro Lizenz. Also eine Anwendung Planning, eine in Konsolidierung, eine in Account Reconciliation und eine Narrative Reporting Anwendung.
Die Anzahl der Anwendungen wird vor allem interessant, wenn es auf die Hybrid BSO Cubes und ASO Reporting Cubes ankommt. Ich hatte vernommen, dass man hier eine unbeschränkte Anzahl erstellen könnte. Dies wäre für alle gut, die jährlich einige Cubes als Kopie wegspeichern und als Referenz “einfrieren”.
Free Form Planning
Auf der Schulung wurde ich ganz begeistert von der Aussicht auf “Free Form Planning”. Dieses ist eine Essbase Anwendung mit Formulare. Ja, so einfach kann man einen Berater begeistern.
Sobald ich die Möglichkeit habe, werde ich dieses mal ausprobieren und dann bestimmt einen Blogbeitrag darüber schreiben. Es wird wohl nicht so gut wie Dodeca werden, denn Applied Olap ist diesem einige Jahre voraus.
EPM gibt es dazu
In der Enterprise Lizenz gibt es auch alles was das EPM zu bieten hat. Hier fällt das “Enterprise Data Management” auf, welches zwar auf 5.000 hosted Records beschränkt ist, aber doch eine gute Basis für ein professionelles Datamanagement bietet.
Ich bin sehr gespannt, wie die Kunden in dem Ausrollen der Funktionalität vorgehen werden. Bei den Anbietern von Gesamtpaket Lösungen sieht man oft, dass die erste Funktionalität schnell geht, aber dann der nächste Business Prozess nimmt dann mehr Zeit in Anspruch.
Einen ersten Eindruck von der Standard EPM Cloud.
Abbildung 3: Startseite von der Standard EPM Cloud
Und einen ersten Eindruck von der Enterprise EPM Cloud.
Abbildung 4: Startseite von der Enterprise EPM Cloud
Fazit
Es hat sich einiges getan in der Lizenzstruktur und dabei gewinnt die Enterprise Version sehr stark an Vorteilen. Eine kleine Planning Instanz für den Mittelstand ist aber schwieriger geworden, denn nicht immer können die Module eingesetzt werden.
Generell, werden in Essbase Anwendungen viele Daten importiert. Weil Essbase diese Daten weiterverarbeitet, besteht oft auch die Anforderung, diese Daten auch in andere Systeme zu übertragen. Hierzu gibt es verschiedene Wege und in diesem Beitrag möchte ich den Export mit MDX zeigen.
MDX steht für MultiDimensional eXpressions
MDX ist eine herstellerunabhängige Sprache für Abfragen (Query Language) auf OLAP Systeme. Seit der Version 7 kann dieses MDX auch für Essbase verwendet werden. Mit der Einführung von Aggregate Storage (ASO) brauchte man eine Sprache, um Formeln während der Datenabfrage zu berechnen. Dieses wurde dann MDX.
Neben der Funktion um Berechnungen zu machen, kann diese auch für Daten Extrakte gut eingesetzt werden. Eine Erweiterung war dann die Entwicklung von „XML for Analysis“ womit MDX generierte Daten in SOAP Berichte an andere Systeme geschickt werden können.
MDX ist in seiner Struktur vergleichbar mit SQL, denn es hat auch ein SELECT, FROM, WHERE. Es hat aber zusätzlich viele weitere Funktionen die auf Dimensionen von OLAP Systeme Bezug haben, wie z.B. .PrevMember, .Parent und .FirstChild. Zudem gibt es auch die Konzepte von Tuple und Set.
Exportfunktion
Das MDX hat immer schon eine gute Performance gehabt und wird breit eingesetzt. Zum Exportieren von Daten in Dateien gab es eine große Verbesserung in der Version 11.1.2.4 die allerlei Zwischenschritte nicht mehr erforderlich machte, wenn das MDX mit MaxL ausgeführt wird.
Jetzt wurde es möglich um den Output zu formatieren – etwas was essentiell ist in automatisierte Systeme. In MaxL gibt es verschiedene SET Kommando’s die den Extrakt so aufbereiten, das andere Systeme diesen weiter verarbeiten können. Dieses waren die wichtigsten
set column_separator definiert das Trennzeichen, z.B. „|“
set column_header definiert die Spaltenüberschrift
set echo_mode schaltet den Export in eine Datei ein oder aus.
In dem nachfolgenden Beispiel sieht man wie diese eingesetzt werden können. Es ist ein MaxL Skript mit darin eine MDX-Abfrage in rot:
login ‚Benutzername‘ ‚Password‘ on ‚Servername‘;
set message level all;
set column_separator „|“;
set column_header on;
set echo_mode off;
alter session set dml_output alias off;
alter session set dml_output cell_status on;
alter session set dml_output numerical_display fixed_decimal;
alter session set dml_output precision 2;
spool on to ‚C:\Export\Ergebnis.txt‘;
select {[May],[Jun]} on AXIS(0),
{[100],[200]} on AXIS(1)
from [Sample].[Basic];
spool off;
logout;
exit;
Das Ergebnis ist eine Datei mit dem Namen Ergebnis.txt und dem Inhalt:
Die Befehle können unterschieden werden in SET und ALTER.
set message level definiert welche Botschaften in die Logdatei geschrieben werden sollen.
set column_separator definiert das Trennzeichen, z.B. „|“
set column_header TRUE gibt den Dimensionsnamen als Spaltenüberschrift, FALSE nicht.
set echo_mode schaltet den Export in eine Datei ein oder aus.
alter session set dml_output…
Beschreibt die Formattierung der Daten in dem Export. Hierin aufgenommen sind die Anzahl der Dezimalstellen, ob ein Alias angezeigt werden soll und was mit fehlende Werte geschehen soll.
In rot ist dann das MDX mit der Selektion der Daten eingefügt. Dieser Teil kann als variable genommen werden, und damit gibt es das MaxL als Vorlage welches dann mit Variablen für MDX und Export Datei verbunden werden kann.
Fazit
MDX kann sehr gut im Zusammenspiel mit MaxL zum Daten Export verwendet werden. Einige Konfigurationsoptionen die ab der Version 11.1.2.4 zur Verfügung stehen, verbessern in einem Sprung die Formatierung, sodass das Ergebnis in der Datei direkt zum Import in andere Systeme verwendet werden kann.
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.
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:
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.
Fazit
In der Cloud ist es noch einfacher um von aussen auf Formulare zu zugreifen.
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.
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.
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.
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:
Korrekt
Schnell
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.
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.
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.
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.
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).
Abbildung 1: Planning Cloud hat eine Option für Attribute Dimensions.
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.
…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:
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.
Die Planning Anwendungseigenschaft ENABLE_ASO_APP_FOR_PROVISIONING_IN_SHARED_SERVICES Eintragen.
Abbildung 3: Die Properties von Planning.
Abbildung 4: Der Eintrag wird auf true gesetzt.
In EAS die Planning ASO Anwendung entfernen. Hierdurch wird die Registrierung in Shared Services auch entfernt.
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.
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.
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.
Abbildung 8: Die Planning-Verbindung.
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.
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.
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.
Abbildung 2: Encoding auf UTF-8-BOM
Diese habe ich dann umgestellt auf UTF-8 und die Datei gepeichert.
Abbildung 3: Encoding auf UTF-8
Danach einen neuen Dimension Build gemacht und alles lief gut.
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.
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.
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.
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.
Abbildung 3: XML code mit der gewünschten Information.
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:
@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.
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.
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.
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.
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.
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:
Abbildung 5: Oracle Base Konfiguration.
Und zur Kontrolle noch einen Login 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.
Abbildung 7: Performance Options auf System Managed Size setzen.
Einen Admin Benutzer anlegen zur Installation.
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.
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.
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.
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.
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.
Abbildung 13: Verbindung mit der Oracle Datenbank legen.
Abbildung 14: Die ausgewählten Komponenten.
Den ODI habe ich nicht mitgenommen. FDM hat sein eigenes ODI, die Abbildung zeigt das separate ODI.
Abbildung 15: Die Übersicht der angelegten Schema.
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!
Abbildung 17: Originaldatei vor der Anpassung.
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.
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.
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.
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
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
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….
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.
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.
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.
Ein Neustart und dann EPM starten. Danach manuell den Oracle HTTP Server und wir bekommen unsere Anmeldemaske.
Abbildung 29: Login war erfolgreich.
Auch die Diagnostics sehen gut aus.
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!
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.