EPM 11.1.2.3 – Neue Funktionen Essbase

Oracle Essbase hat umfangreiche Änderungen erfahren, hervorzuheben sind u.a. die Möglichkeit,

  • neue Laufzeit-Variable fĂŒr Kalkulations-Skripte,
  • sowie die obligatorische Erweiterung der Befehls-Referenz fĂŒr MaxL, essbase.cfg und Kalkulation
  • und, und, und….


      Laufzeit-Variablen in Kalkulationen (nur BSO)
      Optimierter Zugriff bei Outline- und Dimensionsaufbau
      Eindeutige Namen fĂŒr SharedMember
      Konfiguration der Teradata TPT-API
      Neue Kalkulations-Funktionen
      GeÀnderte Kalkulations-Funktionen
      Neue Parameter in der Essbase-Konfiguration (essbase.cfg)
      Neuer MaxL-Befehl
      Neue Funktionen in der Essbase-API
      Dokumentation fĂŒr Apple Mobil-GerĂ€te optimiert

      Laufzeit-Variablen in Kalkulationen (nur BSO)

      Neben den bekannten Substitutions-Variablen erlaubt Version 11.1.2.3 die Verwendung von Laufzeit-Variablen, sie werden nicht ĂŒber den bekannten Dialog „Substitutions-Variablen“ administriert, sondern zunĂ€chst mit Befehl „SET RUNTIMESUBVARS“ im Kalkulations-Skript deklariert.

      Beispiel:
      SET RUNTIMESUBVARS (Kalkulations-Befehl im Berechnungs-Skript)
      {
      AktuellerMonat = „September“;
      };

      Die Variablen selbst werden in geschweifte Klammern „{ }“ gesetzt, beendet mit einem Semikolon.

      AktuellerMonat ist der Name der Variable (erforderlich), September ist ein Standardwert (optional). Ist ein Standardwert vorhanden, kann er bei AusfĂŒhrung des Skriptes per MaxL oder Essbase API ĂŒberschrieben werden.

      Ist kein Standardwert vorhanden, muss er zur Laufzeit angegeben werden, das ist ĂŒber die EssGetRuntimeSubVars-API möglich. Weitere Details hierzu sind in Kapitel Neue Funktionen in der Essbase-API zu finden.

      Vorteil fĂŒr den Anwender
      Die Arbeit mit Variablen erleichtert Pflege und Erstellung von Kalkulations-Skripten, als Entwickler habe ich auf dem Kundensystem oft nicht die Möglichkeit, Substitutions-Variablen zu erstellen. Hier schaffen die neuen Laufzeit-Variablen Abhilfe, innerhalb des CalcScriptes deklariert, erfĂŒllen sie den gleichen Zweck. Werden die Standardwerte angegeben, profitiere ich direkt von den Vorteilen.

      Beispiele Sample.Basic
      Laufzeitvariable

      11123_Neue_Funktion_ESS_RTSV_1

      11123_Neue_Funktion_ESS_RTSV_2

      11123_Neue_Funktion_ESS_RTSV_3
      nach oben

      Optimierter Zugriff bei Outline- und Dimensionsaufbau

      Besonders schnell passiert es bei ASO-Outlines, aber auch bei sehr großen BSO-Outlines wird die Arbeit im Outline-Editor zĂ€her, speziell Öffnen und Speichern erfordern dann deutlich mehr Geduld als man es eigentlich erwartet. Abhilfe kann ein neuer Essbase-Konfigurations-Parameter schaffen, der die Performance wĂ€hrend Dimensions-Aufbau und Outline-Änderungen optimiert, dafĂŒr sorgt eine neue Hash-Tabellen-Logik, die im Wesentlichen den fĂŒr Outline-Operationen verfĂŒgbaren Speicherbereich vergrĂ¶ĂŸert. Die GrĂ¶ĂŸe der Hash-Tabelle wird als Essbase-Konfigurations-Parameter ESTIMATEDHASHSIZE in der Essbase.cfg konfiguriert und kann fĂŒr ASO- und BSO-Datenbanken verwendet werden, jeweils fĂŒr jede Datenbank auf dem Server oder fĂŒr eine bestimmte Applikation / Datenbank.

      Die erwartete Anzahl Elementnamen und Aliase wird in Millionen angegeben, Standardwert ist 5, d.h. 5 Millionen Strings können gleichzeitig in den Speicher geladen werden. Höchster möglicher Wert ist 256. Wird der Wert zu niedrig angesetzt, sind Performance-Einbußen bei der Modell-Bearbeitung zu erwarten, ein zu hoher Wert kann die Systemleistung insgesamt beeintrĂ€chtigen.

      Beispiel:
      ESTIMATEDHASHSIZE 5
      Parameter gilt fĂŒr alle Applikationen / Datenbanken auf dem Server.

      ESTIMATEDHASHSIZE Sample.Basic 2
      Parameter gilt nur fĂŒr Datenbank Sample.Basic

      Vorteil fĂŒr den Admin
      ASO ermöglicht sehr große Outlines, wenn fĂŒr viele Elemente gleichzeitig viele Aliase existieren, kann dieser Parameter individuell den passenden Speicher bereitstellen und die Outline-Bearbeitung beschleunigen.
      nach oben

      Eindeutige Namen fĂŒr SharedMember

      Mit der Funktion „Doppelte Namen zulĂ€ssig“ (Allow duplicate names) ist es möglich, unterschiedliche Elementnamen fĂŒr Basis- und Shared-Member zu vergeben, diese Funktion muss vom Administrator innerhalb der Datenbank-Struktur aktiviert werden.

      Nun kann man von dieser Einstellung profitieren, auch wenn die Datenbank keine doppelten Namen erlaubt. Im Front-End, z.B. SmartView, können SharedMember eindeutig identifiziert werden, indem man dafĂŒr einen qualifizierten Namen angibt.

      Beispiel:
      [East-State].[New York]
      11123_Neue_Funktion_ESS_SharedMember_1

      Vorteil fĂŒr den Anwender
      Anwender können die Auswahl von Elementen bzgl. SharedMember gezielt steuern, d.h. man kann entscheiden, ob ein Element der Haupt-Hierarchie oder der alternativen Hierarchie angezeigt werden soll. Das ist vor allem fĂŒr Berechnungen, z.B. Verteilungs-Logiken sinnvoll, die sich gezielt auf Geschwister-Elemente dieser Elemente beschrĂ€nken sollen.
      nach oben

      Konfiguration der Teradata TPT-API

      Wenn Sie die Teradata TPT-API zum Laden von Daten verwenden, können Sie die Schnittstelle nun konfiguriert werden, sie bietet dadurch grĂ¶ĂŸere FlexibilitĂ€t fĂŒr individuelle Anpassungen.

      Weitere (englischsprachige) Informationen finden Sie in Anhang A im Oracle Essbase SQL Interface Guide’s Guide.
      nach oben

      Neue Kalkulations-Funktionen

      Wir begrĂŒĂŸen neue Kalkulations-Skript-Funktionen:

      @CREATEBLOCK (Erstellt einen Block fĂŒr Sparse-Elemente oder -Element-Kombinationen)
      @INTERSECT (Gibt die Schnittmenge zweier Element-Listen zurĂŒck)
      @ISMBRUDA (Gibt WAHR zurĂŒck, wenn das UDA fĂŒr ein bestimmtes Element existiert)
      @ISRANGENONEMPTY (Gibt WAHR zurĂŒck, wenn der gesuchte Element-Bereich Werte enthĂ€lt)
      @MEMBERAT (Gibt das Element aus einer Element-Liste zurĂŒck)
      @RANGEFIRSTVAL / @RANGELASTVAL (Gibt den ersten / letzten Wert einer Element-Liste zurĂŒck)

      @CREATEBLOCK

      Erstellt einen Block fĂŒr Sparse-Elemente oder Sparse-Element-Kombinationen, Dense-Elemente erhalten den Werte #MISSING.

      Syntax @CREATEBLOCK(Elementname|Element-Liste (natĂŒrlich nur aus Sparse-Dimensionen!))

      Fehlerhafte Ergebnisse, weil Datenblöcke nicht automatisch per Kalkulation erzeugt werden, sind eine große Herausforderung bei der Erstellung von Berechnungs-Skripten. Hilfreiche Informationen zur bekannten Thematik „Block-Erstellung“ finden Sie hier.

      Aufgabe von @CREATEBLOCK ist, im Bottom-Up-Modus (ErlÀuterung im weiteren Text) schnell und zuverlÀssig alle benötigten Blöcke zu erstellen, dies geschieht ohne Lesen oder Schreiben von Daten. Darin liegt auch der Unterschied zum Erzeugen von Blöcken per DATACOPY-Befehl.

      Beachte:

      • Existiert ein mit dieser Funktion angesprochener Datenblock bereits, hat das keine Auswirkungen auf den existierenden Block.
      • EnthĂ€lt die Element-Liste ein Cross-Dimension-Element, z.B. [„100-10″->“New York“], wird ein Block fĂŒr diese Kombination erzeugt.
      • @CREATEBLOCK kann auch in Outline-Formeln verwendet werden.
      • In einer leeren Datenbank werden keine Blöcke erzeugt.
      • Auf Sparse-Elementen wird die Kalkulation im Top-Down-Modus ausgefĂŒhrt, es werden alle theoretisch möglichen Blöcke geprĂŒft, nur die benötigten Blöcke werden erzeugt.

      Beispiel Sample.Basic (Annahme: Market „New York“ ist ein Element einer Sparse-Dimension):

      „New York“ (
      @CREATEBLOCK („100“);
      )

      Auf Dense-Elementen wird die Kalkulation im Bottom-Up-Modus ausgefĂŒhrt, basierend auf den bereits vorhandenen Blöcken werden nur die benötigten Blöcke erzeugt.

      Beispiel Sample.Basic (Annahme: Account „Sales“ ist dense, Blöcke bestehen fĂŒr [100-10] und [New York])

      FIX(„100-10“, „New York“)
      „Sales“ (
      @CREATEBLOCK („100“);
      )
      ENDFIX

      Nur Block „100“->“New York“ wird erstellt.

      Das gleiche Ergebnis bringt folgender Befehl:
      Beispiel Sample.Basic (Annahme: Account „Sales“ ist dense, Blöcke bestehen fĂŒr [100-10] und [New York])

      „Sales“ (
      @CREATEBLOCK („100″->“New York“);
      )

      Beispiel Sample.Basic (Annahme: Blöcke bestehen fĂŒr [100] und [Budget])
      Budget = @CREATEBLOCK („100“);

      Der bestehende Block fĂŒr Element „Budget” wird nicht bearbeitet / verĂ€ndert.

      Auf einem Sparse-Element ausgefĂŒhrt, werden mit @CREATEBLOCK möglicherweise mehr Blöcke erstellt, als benötigt, die unerwĂŒnschten Auswirkungen bezĂŒglich Kalkulations-Dauer und Speichbedarf kennen wir. Es empfiehlt sich, diese Funktion innerhalb eines möglichst eng gefassten FIX-Bereichs und auf einem Dense-Element auszufĂŒhren, dann erstellt @CREATEBLOCK leere Datenblöcke als Ziel / Speicherort einer spĂ€teren Bottom-up-Kalkulation.

      Unglaublich! Nach all den Jahren und von Generation zu Generation weitergereichten Tricks und Tips zum Erstellen von Datenblöcken, gibt es nun eine eigens dazu erstellt Funktion @CREATEBLOCK. Wir freuen uns!

      zur Übersicht Kalkulationsfunktionen

      nach oben

      @INTERSECT

      Syntax: @INTERSECT(list1, list2)
      Gibt die Schnittmenge zweier Element-Listen zurĂŒck

      Beachte:
      Diese Funktion behandelt Elemente und evtl. vorhandene SharedMember als ein Element, deshalb gibt es zwischen diesen Elementen keine Schnittmenge.

      Beispiel Sample.Basic
      @INTERSECT(@CHILDREN(„100“), @ATTRIBUTE(Can))
      Die Schnittmenge enthÀlt die Elemente 100-10 und 100-20.

      @INTERSECT(@CHILDREN(„Colas“), @CHILDREN(„Diet Drinks“);
      Die Schnittmenge ist leer, weil Basis-Element und SharedMember nur gemeinsam betrachtet werden können, beide gelten als ein Element.


      FIX (@INTERSECT(@CHILDREN(„100-10“), @CHILDREN(„Diet Drinks“)))
      Sales = 500;
      ENDFIX;

      Die Schnittmenge ist leer (wg. SharedMember), dadurch gibt es keinen funktionierenden FIX auf Produkte, alle Produkte erhalten auf Kennzahl Sales den Wert 500.
       

      zur Übersicht Kalkulationsfunktionen

      nach oben

      @ISMBRUDA

      Syntax: @ISMBRUDA(mbrName, UDAStr)
      Gibt WAHR zurĂŒck, wenn das gesuchte UDA fĂŒr ein bestimmtes Element existiert.

      Beachte:
      Wird ein unbekannter Elementname angegeben, gibt die Validierung einen Fehler zurĂŒck.

      Beispiel Sample.Basic
      @ISMBRUDA („New York“, „Major Market“) and @ISMBRUDA([Market].[New York], „Major Market“)
      Funktion gibt WAHR zurĂŒck.

      @ISMBRUDA(„New York“, „Small Market“) AND @ISCHILD(„Market“)
      “New York” ist kein „Small Market” die erste Bedingung gibt FALSCH zurĂŒck.

      IF(@ISMBRUDA(„New York“)
      Ohne UDAString schlÀgt die Validierung fehl, es fehlt ein erforderlicher Parameter

      zur Übersicht Kalkulationsfunktionen

      nach oben

      @ISRANGENONEMPTY

      Syntax: @ISRANGENONEMPTY(ZEROASDATA|ZEROASMISSG, mbrList)
      PrĂŒft, ob ein bestimmter Element-Bereich Werte enthĂ€lt, gibt WAHR zurĂŒck, wenn Werte vorhanden sind, gibt FALSCH zurĂŒck, wenn der Bereich leer ist. Rechenintensive Operationen können so auf Bereiche beschrĂ€nkt werden, in denen auch tatsĂ€chlich Werte vorhanden sind.

      Beachte:
      Der Anwender definiert, wann ein Bereich leer ist. Was heißt das?

      Ein Bereich mit #MISSING ist immer ein leerer Bereich, “0” kann wahlweise als #MISSING (Parameter ZEROASMISSG) oder als Wert “0” (Parameter ZEROASDATA) interpretiert werden:

      Beispiel Sample.Basic
      @ISRANGENONEMPTY(ZEROASDATA, Sales->Cola)
      Die Bedingung gibt WAHR zurĂŒck, da die Kombination von Cola und Sales kein #MISSING enthĂ€lt.

      FIX (Budget)
      Sales (IF(@ISRANGENONEMPTY(ZEROASMISSG, Jan:Mar))
      Sales = 500;
      ENDIF;);
      ENDFIX

      Die Bedingung gibt WAHR zurĂŒck, wenn der Bereich Januar bis MĂ€rz keinen Wert enthĂ€lt, dann werden alle Werte der Kombination von Budget und Sales auf 500 geĂ€ndert.

      zur Übersicht Kalkulationsfunktionen

      nach oben

      @MEMBERAT

      Syntax: @MEMBERAT(mbrList, mbrIndex)
      Gibt das Element aus einer Element-Liste zurĂŒck

      Beachte:
      FĂŒr Parameter mbrIndex wird eine Ganzzahl erwartet. Ein positiver Memberindex beginnt am Anfang der Liste („1” gibt das erste Element einer Liste zurĂŒck), ein negativer Memberindex beginnt am Ende der Liste („-1” gibt das letzte Element einer Liste zurĂŒck).
      Bei allen anderen Zahlen gibt die Validierung einen Fehler zurĂŒck.

      Beispiel Sample.Basic
      @MEMBERAT(@CHILDREN(„Colas“), 1);
      Gibt Element 100-20 (Diet Cola) zurĂŒck.

      Sales = @ MEMBERAT(@CHILDREN(„Total Expenses“), -1);
      Gibt Element Misc zurĂŒck, da es das letzte Kind-Element von Total Expenses ist.

      @MEMBERAT(@CHILDREN(„100-10“), 1);
      Gibt einen Fehler zurĂŒck, da es kein Kind-Element fĂŒr „100-10“ gibt.

      zur Übersicht Kalkulationsfunktionen

      nach oben

      @RANGEFIRSTVAL

      Syntax: @RANGEFIRSTVAL(SKIPNONE | SKIPMISSING | SKIPZERO | SKIPBOTH, mbrList)
      Gibt den ersten Wert aus einer Element-Liste zurĂŒck, der die Kriterien des ersten Funktions-Parameters erfĂŒllt.

      Zentrale Kriterien sind die Parameter SKIPNONE | SKIPMISSING | SKIPZERO | SKIPBOTH.
      Das heißt, es wird der erste Wert eines Element-Bereiches zurĂŒckgegeben, gleichgĂŒltig, ob dies ein Wert, eine „0“ oder #MISSING ist (SKIPNONE),

      • der nicht leer ist (SKIPMISSING),
      • der keine „0“ enthĂ€lt (SKIPZERO) oder
      • der keine „0“ und kein #MISSING enthĂ€lt (SKIPBOTH )

      Beachte:
      Die Funktion gibt #MISSING zurĂŒck, wenn kein Element der Liste dem Suchkriterium entspricht.

      Beispiel Sample.Basic
      @RANGEFIRSTVAL(SKIPMISSING, @CHILDREN(„Qtr1“)); oder
      @RANGEFIRSTVAL(SKIPMISSING, „Jan“:“Mar“); oder
      @RANGEFIRSTVAL(SKIPMISSING, („Jan“,“Feb“,“Mar“))

      Alle 3 Statements geben den ersten vorhandenen Wert (= Nicht #MISSING) zurĂŒck, dabei werden die Elemente in der Reihenfolge der Outline durchsucht.

      @RANGEFIRSTVAL(SKIPZERO, @CHILDREN(„Jan“));
      Gibt #MISSING zurĂŒck, da es kein Kind-Element fĂŒr Jan gibt.

      @RANGEFIRSTVAL(SKIPBOTH, @CHILDREN(„Qtr1“));
      Gibt den ersten vorhandenen Wert (= Nicht #MISSING und Nicht 0) gem. Reihenfolge in der Outline zurĂŒck. Wenn alle Monate Werte enthalten, wird Jan zurĂŒckgegeben.

      @RANGEFIRSTVAL (SKIPBOTH, (Actual->Feb, Actual->Mar, Actual->Jan))
      Gibt den ersten vorhandenen Wert (= Nicht #MISSING und Nicht 0) in der Reihenfolge der Liste zurĂŒck. Wenn alle Monate Werte enthalten, wird Feb zurĂŒckgegeben.

      zur Übersicht Kalkulationsfunktionen

      nach oben

      @RANGELASTVAL

      Syntax: @RANGELASTVAL(SKIPNONE | SKIPMISSING | SKIPZERO | SKIPBOTH, mbrList)
      Gibt den letzten Wert aus einer Element-Liste zurĂŒck, der die Kriterien des ersten Funktions-Parameters erfĂŒllt.

      Zentrale Kriterien sind die Parameter SKIPNONE | SKIPMISSING | SKIPZERO | SKIPBOTH.
      Das heißt, es wird der letzte Wert eines Element-Bereiches zurĂŒckgegeben, gleichgĂŒltig, ob dies ein Wert, eine „0“ oder #MISSING ist (SKIPNONE),

      • der nicht leer ist (SKIPMISSING),
      • der keine „0“ enthĂ€lt (SKIPZERO) oder
      • der keine „0“ und kein #MISSING enthĂ€lt (SKIPBOTH )

      Beachte:
      Die Funktion gibt #MISSING zurĂŒck, wenn kein Element der Liste dem Suchkriterium entspricht.

      Beispiel Sample.Basic

      FIX(„100-10“, „New York“, „Sales“, „Jan“)
      „Budget“ = @RANGELASTVAL(SKIPBOTH, @CHILDREN(Qtr1)->“Actual“);
      ENDFIX

      Das Budget soll den Wert der Cola-VerkĂ€ufe im Januar vom letzten Actual-Wert in Quartal 1 ĂŒbernehmen.

      @RANGELASTVAL(SKIPMISSING, @CHILDREN(„Qtr1“)); oder
      @RANGELASTVAL(SKIPMISSING, „Jan“:“Mar“); oder
      @RANGELASTVAL(SKIPMISSING, („Jan“,“Feb“,“Mar“))

      Alle 3 Statements geben den letzten vorhandenen Wert (= Nicht #MISSING) zurĂŒck, dabei werden die Elemente in der Reihenfolge der Outline durchsucht.

      @RANGELASTVAL(SKIPZERO, @CHILDREN(„Jan“));
      Gibt #MISSING zurĂŒck, da es kein Kind-Element fĂŒr Jan gibt.

      zur Übersicht Kalkulationsfunktionen

      nach oben

      GeÀnderte Kalkulations-Funktionen

      Funktion @NAME hat ein weiteres, optionales Argument erhalten. Es kommt nur zur Anwendung, wenn die Datenbank-Option „Doppelte Elementnamen zulĂ€ssig“ (allow duplicate member names) aktiviert ist.

      Parameter UNIQUE zwingt @NAME, den qualifizierten, eindeutigen Elementnamen zurĂŒckzugeben, wenn der Elementname mehrfach vorhanden ist.

      Ist der Elementname bereits eindeutig oder ist „Doppelte Elementnamen zulĂ€ssig“ nicht aktiviert, wird Parameter UNIQUE ignoriert und der einfache Elementname wird zurĂŒckgegeben.

      Beispiel Sample.Basic:
      @MEMBER(@NAME(@CURRMBR(„Market“), UNIQUE))
      Dimension “Market” enthĂ€lt 2 Elemente “New York”, mit qualifiziertem Namen [State].[New York] und [City].[New York].
      Bei Berechnung von Element “New York State” gibt UNIQUE den qualifizierten Namen [State].[New York] an die @NAME-Funktion zurĂŒck.
      nach oben

      Neue Parameter in der Essbase-Konfiguration (essbase.cfg)

      Neue Konfigurations-Parameter

      • ENABLERTSVLOGGING: Protokolliert die neuen Laufzeit-Ersatzvariablen (Runtime-Substitution-Variables). Ist ebenfalls eine neue Funktion im Kalkulations-Manager
      • ESTIMATEDHASHSIZE: Definiert die GrĂ¶ĂŸe des Speicherbereichs der Hash-Tabelle
      • UNICODEENABLE: Ermöglicht die Erstellung von Unicode-Modus-Applikationen
      • ENABLERTSVLOGGING

      Definiert, ob die in Berechnungs-Skripten verwendeten Laufzeit-Variablen (s. EPM 11.1.2.3 – Neue Funktionen CalcManager) in der Oracle Essbase Log-Datei protokolliert werden, Standardwert ist FALSE.
      Der Parameter gilt wie ĂŒblich wahlweise fĂŒr jede Datenbank auf dem Server oder fĂŒr eine bestimmte Applikation / Datenbank.

      Beispiel
      ENABLERTSVLOGGING TRUE
      ENABLERTSVLOGGING Sample.Basic TRUE

      ESTIMATEDHASHSIZE
      Definiert die GrĂ¶ĂŸe des Speicherbereichs der Hash-Tabelle (erwartete Anzahl Elementnamen und Aliase in Millionen, die in den Speicher geladen werden).

      Der Parameter gilt fĂŒr jede Datenbank auf dem Server oder fĂŒr eine bestimmte Applikation / Datenbank.

      Beispiel: ESTIMATEDHASHSIZE Sample.Basic 5

      UNICODEENABLE
      Ermöglicht es, Unicode-Modus-Applikationen zu erstellen und Non-Unicode-Appliktionen zu Unicode-Applikationen zu migrieren, ohne dass der Essbase-Server per EAS, MaxL oder API in den Unicode-Modus gesetzt wird. Der Parameter gilt Server-weit.

      Beispiel: UNICODEENABLE.

      Nicht mehr vorhandene Konfigurations-Parameter
      Folgende Konfigurations-Parameter wurden gelöscht, belĂ€sst man sie in Datei essbase.cfg, werden sie ignoriert, sie mĂŒssen also nicht zwingend aus Datei essbase.cfg gelöscht werden.
      PRELOADALIASNAMESPACE
      PRELOADMEMBERNAMESPACE
      nach oben

      Neuer MaxL-Befehl

      Die Befehls-Erweiterung with runtimesubvars RTSV-LIST ermöglicht es, den neuen Essbase-Laufzeit-Variablen die benötigten Werte zur Laufzeit per MaxL mitzugeben.

      Beispiel:

      execute calculation Sample.Basic.Calc3 with runtimesubvars ‘AktuellerMonat=”Sep”;
      Preisanpassung=1.05;
      PlanBasis= „Actual“->“Sales“;’;

      In Sample.Basic wird Berechnungs-Skript Calc3 aufgerufen, die im Skript definierten Laufzeit-Variablen erhalten hier die benötigten Werte. Ist nur erforderlich, wenn im Berechnungs-Skript keine Standardwerte angegeben sind.
      nach oben

      Neue Funktionen in der Essbase-API

      Der VollstÀndigkeit halber sei hier ohne weitere ErlÀuterung auf die neuen API-Funktionen verwiesen:

      Neue C Haupt-API’s
      EssCalcFileWithRuntimeSubVars
      FĂŒhrt ein Berechnungs-Skript auf der aktiven Datenbank mit der angegebenen Laufzeit-Variablen aus. Die Variablen können in einer Text-Datei (mit Endung .rsv) als Text oder SchlĂŒssel/Wertpaar definiert werden.

      EssCalcWithRuntimeSubVars
      FĂŒhrt ein Berechnungs-Skript auf der aktiven Datenbank mit der angegebenen Laufzeit-Variablen aus. Die Variablen werden als Text oder SchlĂŒssel/Wertpaar zur Laufzeit definiert.

      EssGetRuntimeSubVars
      Diese Funktion ist die Schnittstelle zu einem Client, in dem das Berechnungs-Skript lÀuft. Sie fragt alle Informationen (Variablen-Name, Wert, Beschreibung) ab, die in der Deklaration SET RUNTIMESUBVARS der Variable im Berechnungs-Skript angegeben sind.

       

      Neue C Haupt-Strukturen
      ESS_RUNTIMESUBVARS_DESC_T
      Wird von der API-Funktion EssGetRuntimeSubVars verwendet, wird fĂŒr den Datentyp des RTSV-List-Argumentes benötigt, das Argument ist eine Liste der Laufzeit-Variablen im Berechnungs-Skript.
      nach oben

      Dokumentation fĂŒr Apple Mobil-GerĂ€te optimiert

      Fast die gesamte EPM-Dokumentation ist in einer fĂŒr Apple MobilgerĂ€te (iPad, iPhone, iPod) optimierten Darstellung verfĂŒgbar, zu finden unter „mobi“ und „ePub“.
      http://docs.oracle.com/cd/E40248_01/nav/portal_3.htm
      11123_Neue_Funktion_Planning_Doku_Apple
      nach oben

      Berater, entwickler und fan von Oracle Essbase und Planning.

Veröffentlicht in EPM - 11.1.2.3, Essbase Verwendete Schlagwörter: , , , , , ,

Schreibe einen Kommentar