Aus einer BusinessRule ein MaxL Skript starten

Sie fragen sich vielleicht, wie soll das gehen, ein MaxL starten mit dem ausführen von einer Business Rule? Nun, es geht und es ist gar nicht so schwierig.

Die Einsatzmöglichkeiten sind vielfach, denn mit dem Starten von einer BusinessRule kann jetzt eine Kette an Prozesse angestartet werden. Vorallem, wenn Eingabeaufforderungen, oder wie im Planning, automatisch Parameter mitgegeben werden, können sehr gezielt bestimmte Daten bearbeitet werden.

In meinem kontrekten Fall möchte ich einen Datenexport in eine relationale Tabelle machen und dann mit einer View diese Daten wieder in die Essbase Datenbank ziehen. Nein, nicht 1:1 – in der RDBMS werden diese Daten angereichert. Dieser Export ist abhängig von dem Datenbereich, den der Benutzer berechnet.

Wie geht das technisch?

Zuerst musste ich einen Upgrade machen, denn diese Funktionalität ist erst ab 11.1.2.3.503 verfügbar. Hierüber habe ich in diesem <link> Beitrag berichtet..

Dann muss ich einen verschlüsseltem Benutzernamen und Passwort haben. Hierüber habe ich schon in diesem Link> Beitrag berichtet, aber ich zeige hier unten nochmals wie dieses geht. Auch brauche ich ein MaxLskript, welches dann ausgeführt wird. Im Calculation Manager erstelle ich eine Business Rule in der ich dieses MaxL Skript aufrufe.

Hier die Schritte in Detail:

Ich erstelle eine Textdatei mit einige MaxL Kommandos. Ein Login auf der ersten Zeile.

Abbildung 1:  MaxL Skript mit einem Login.

In der Abbildung 2 sehen sie wie ein öffentlicher und ein geheimer Schlüssel erzeugt werden. Hierzu rufe ich MaxL mit dem Parameter –gk auf.

Abbildung 2: Erzeugen von einem privaten und öffentlichen Schlüssel

Der öffentliche Schlüssel verwende ich dann um das MaxL Skript aus Abbildung 1 aufzurufen. Dieses bewirkt dann, dass eine neue Datei erstellt wird, wo die Login Parameter verschlüsselt sind.

Abbildung 3: Erstellen der Logindetails mit dem öffentlichen Schlüssel

Abbildung 4: Eine neue Datei mit dem Namen startMaxL.txts

Wenn diese dann geöffnet wird, sieht man die Schlüssel

Abbildung 5: Datei mit verschlüsseltem Benutzernamen und Passwort.

So, jetzt diese Datei mal testen, ob diese auch funktioniert. Das Ergebnis ist sichtbar in Abbildung 6.

Abbildung 6: Das Skript mit den verschlüsselten Benutzernamen und Passwort funktioniert.

Ich ändere das Skript. Es soll das Calc Skript mit dem Namen Test auf der Sample Basic Datenbank gestartet werden. Dieser Prozess ist in der Logdatei sichtbar.

Abbildung 7:  Eine Zeile im Skript wird angepasst.

Ich gehe in den Calculation Manager und unter Essbase, Demo Basic lege ich eine neue Business Rule an. Diese nenne ich ExecMaxL.

Abbildung 8: Erstellen einer neuen Business Rule.

Ich verwende für den Aufruf das Kommando RUNJAVA. Hierzu wird der Parameter com.hyperion.calcmgr.common.cdf.MaxLFunctions verwendet. In der Abbildung 9 sehen sie die Syntax.

Abbildung 9: Syntax für die custom defined function (CDF) cdf.MaxLFunctions

Abbildung 10:  Komplette Syntax mit meinem Beispiel.

Danach validieren und deployen.

Abbildung 11:  Die Validierung und das speichern klappt.

Die Regel kann direkt aus dem Calculation Manger gestartet werden. Rechte Maustaste auf die Regel und Starten.

Abbildung 12:  Starten der Business Rule.

Jetzt wird es spannend…. klappt es? Schon nach einigen Sekunden sieht das Ergebnis gut aus.

Abbildung 13:  Ergebnis mit Details.

Jetzt eine Kontrolle in der Logdatei von der Sample Basic Applikation. Ja auch hier gibt es den Eintrag dass das Calc Script gelaufen ist.

Abbildung 14:  Auszug aus dem Application Log von der Sample Applikation.

 

Wir haben also mit einer Business Rule auf der Applikation Demo ein MaxL Skript gestartet, welche in der Applikation Sample eine Berechnung ausgeführt hat.

Diese Funktionalität öffnet eine Vielfalt an neuen Einsatzmöglichkeiten.

Ihr Philip Hulsebosch.

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

Schreibe einen Kommentar

  • Ein Fehler ist aufgetreten – der Feed funktioniert zur Zeit nicht. Versuche es später noch einmal.