Benutzeroberfläche der Planning and Budgeting Cloud

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.

Ihr Philip Hulsebosch

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

Probleme rund um Adobe Flash Player EOL

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.

Ihr Philip Hulsebosch

Veröffentlicht unter Installation, Konfiguration & Tuning Getagged mit: , , ,

URL zum Starten von einer Anwendung mit voreingestellten Browser Settings.

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.ä.

Dim objExplorer, url

url = „https://server/workspace/index.jsp

Set objExplorer = WScript.CreateObject(„InternetExplorer.Application“)

‚ Den Internet Explorer kurz anhalten…

Do While (objExplorer.Busy)

    Wscript.Sleep 200

Loop

‚ Internet Explorer Optionen festlegen

objExplorer.Fullscreen = False

objExplorer.TheaterMode = False

objExplorer.AddressBar = False

objExplorer.MenuBar = False

objExplorer.StatusBar = False

objExplorer.ToolBar = False

objExplorer.Resizable = True

objExplorer.Silent = False

objExplorer.Visible = True

‚ Fenstergröße festlegen 960×1024 pixels

objExplorer.Width = 960

objExplorer.Height = 1024

‚Die URL aufrufen

objExplorer.Navigate url

    Wscript.Sleep 150

‚Das Fenster wird nun maximiert

Set oShell = CreateObject(„WScript.Shell“)

‚Send ALT + SPACE + X

oShell.SendKeys „% „

    Wscript.Sleep 150

oShell.SendKeys „X“

    Wscript.Sleep 150

Set objExplorer = nothing

WScript.Quit

Dieses einfache Skript kann sehr zur Benutzerfreundlichkeit von Anwendungen beitragen.

Ihr Philip Hulsebosch.

Veröffentlicht unter Essbase

Löschen einer Planungsanwendung

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.

Ihr Philip Hulsebosch

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

PBCS wird EPM Standard Cloud

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!

Doch was ist das Neue und wird das besser?

Neues Angebot

In der Abbildung 2, welche von der Oracle Webseite (https://docs.oracle.com/en/cloud/saas/enterprise-performance-management-common/cgsad/1_about_epm_cloud_new_sku_changes.html) kommt, sieht man in einem Blick, dass man direkt die gesamte EPM Plattform mietet, und nicht mehr “nur Planning”. Es gibt wohl einige Konkurrenten, die mit Komplettlösungen stark im Markt stehen.

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.

Ihr Philip Hulsebosch

Veröffentlicht unter EPM & BI Getagged mit: , ,

Daten Export mit MDX

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:

Product|May|Jun
100|2571.00|2859.00
200|2302.00|2445.00

In Detail

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.

Ihr Philip Hulsebosch

Veröffentlicht unter Bewirtschaftung & Automatisierung, Essbase Getagged mit: , ,

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: , , , , , , , ,