by ABRACON GmbH

SAP BO Design Studio: Data Source-Geheimnisse offen gelegt

Die Design Studio-Skriptsprache BIAL ermöglicht es dem Dashboard-Entwickler, Zusatzinformationen über eine Data Source zu erhalten. Hier werden auch einige Methoden angeboten, die über das Auslesen der reinen Ergebnismenge hinaus gehen. Für einige Szenarien ist jedoch leider entweder keine passende Methode vorhanden, oder aber das Ergebnis einer vorhandenen Methode lässt sich in BIAL nicht wie gewünscht verarbeiten.

Ein Beispiel für ersteres wäre die relativ banal erscheinende Aufgabe, die Größe der Ergebnismenge auszugeben. Benutzt man z.B. einen Chart, um die Top 10 einer Abfrage anzuzeigen, ist für den Benutzer vemutlich auch interessant, wieviele Datensätze denn insgesamt vorhanden sind. Ein anderer Anwendungsfall wäre die initiale Filterung eines Dashboards entsprechend des aktuellen Monats, wobei die zur Auswahl stehenden Monate ebenfalls über eine Data Source geliefert werden.

Schon bei solch einfachen Problemstellungen stößt man leider an die Grenzen der BIAL. Als Entwickler würde man sich hier beispielhaft folgende Zugrifssmöglichkeiten wünschen:

var size = DS_1.getMemberList("MTL_GRP").length;
var period = DS_1.getMemberList("CALMONTH")[0].internalKey

Grundsätzlich ist zu erwarten, dass hierzu analoge Eigenschaften in BIAL mit der Zeit nachgereicht werden, um die Bedürfnisse der Design Studio-Community zu befriedigen. Aus technischer Sicht sollte dies kein Problem darstellen. Aus „politischer“ Sicht scheint es aktuell jedoch so zu sein, dass nur „100%ig zukunftssichere Eigenschaften“ freigegeben werden.

Um die genannten Eigenschaften mit Design Studio-Standardmitteln nachzubilden, kommt man aktuell nicht darum herum, zusätzliche Data Sources zu definieren bzw. Customer Exit Variablen oder ähnliches zu verwenden.

Darüberhinaus gibt es seit Design Studio-Version 1.2 die Möglichkeit mit Hilfe eines SDK programmatisch weitergehende Funktionalitäten nachzureichen. Momentan ist das SDK allerdings im Wesentlichen dazu gedacht, fehlende Visualisierungskomponenten zu implementieren.

Die oben beschriebenen Anwendungsfälle lassen sich hierüber aber auch lösen. Die von ABRACON entwickelte DSInfo-Extension wird hierzu mit einer Data Source konfiguriert und stellt anschließend folgende BIAL-Eigenschaften zur Verfügung:

  • getNumberOfRows()
  • getMemberKey(dimension, index)
  • getMemberText(dimension, index)
  • getMemberTextByKey(dimension, key)
  • getMembers(dimension, separator)

Für jede Data Source, über die man weitergehende Informationen benötigt, wird einfach eine separate DSInfo-Komponente in das Dashboard gezogen. Da die Extension selber keine Visualisierungen bereit stellt, ist sie zur Design Time nur über die "Dashboard Outline" zugreifbar. Diese befindet sich normalerweise in der linken unteren Ecke in Design Studio.

Design Studio SDK Extension: DSInfo

Der Quellcode der Erweiterung ist über unsere Github-Seite verfügbar.

Zu beachten ist, dass für die Komponente dieselbe Einschränkung gilt wie für „normale“ SDK-Extensions: Die Ergebnismenge einer Data Source wird der Extension nur innerhalb des Javascript-Kontextes im Browser zur Verfügung gestellt. Normalerweise ist dies ideal, um eine Visualisierung im Browser zu generieren. BIAL-Methoden werden jedoch von der Design Studio-Runtime auf dem Server ausgeführt. Um die oben genannten Eigenschaften via BIAL zur Verfügung zu stellen, müssen dementsprechend Teile der Ergebnismenge von der SDK Extension wieder zurück zum Server übertragen werden, was aus Performance-Gesichtspunkten natürlich nicht ideal ist.

Trotzdem liefert die Extension uns im Design Studio-Alltag momentan deutliche Produktivitätsvorteile. Vielleicht wird sie ja in einer der zukünftigen Design Studio-Versionen nicht mehr nötig sein.

Frohe Ostern wünscht das ABRACON-Team!

 

Bernd Keppel

ABRACON GmbH

Ihr Ansprechpartner

ist seit der Firmengründung Geschäftsführer der ABRACON GmbH. Er ist verantwortlich für die strategische Entwicklung des Unternehmens sowie die übergreifende Kundenbetreuung und Akquisition von Großkunden. Er ist seit mehr als 25 Jahren in Kundenprojekten im Schwerpunktberatungsbereich Business Intelligence als direkter Kundenansprechpartner und Projektleiter tätig.

back to overview

x