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 in EPM & BI, Essbase Verwendete Schlagwörter: , , , , , ,

Schreibe einen Kommentar