BW/4HANA Delta

Neue Features des HANA CompositeProviders (HCPR)

(C) Brandeis Consulting

Agenda - Neue Features des HCPR

  • Joins
    • Neue Join-Typen (Full, Right Outer, Referential)
    • Non-Equi Joins
  • Projektions und Aggregationsknoten
  • Willkürliche Einschränkungen wurden entfernt
  • SQL Ausdrücke zum Filtern
  • Berechnete Spalten mit SQL Ausdrücken
(C) Brandeis Consulting

Neue Features

Mit dem SPS04 für BW/4HANA 2.0 hat die SAP einige nützliche Features in den Composite Provider eingebaut:

  • Neue Join-Typen sind möglich: Full Outer-, Referential-, Right Outer Join
  • Die Einschränkungen bezüglich der Reihenfolge von JOIN und UNION Knoten entfallen
  • Mit den Operatoren <, >, <= , >=, != werden jetzt auch non-Equi Joins ermöglicht
  • Projektions- und Aggregationsknoten können angelegt werden
  • Es können mit SQL Ausdrücken berechnete Spalten definiert werden
  • Die Daten können mit SQL Prädikaten die Daten gefiltert werden

Die Unterschiede zu den Calculation Views (CV) der SAP HANA verschwinden zusehends. Nur die Modellierungsoberfläche für die CVs ist wesentlich komfortabler, gerade in der WebIDE. Auf diese auffällige Ähnlichkeit zu den CVs werde ich später noch mal eingehen.

(C) Brandeis Consulting

Filtern in BW/4HANA Composite Providern mit SQL Ausdrücken

In jedem Knotentypen, außer den Part-Providern selber, ist es möglich einen SQL-Filter festzulegen. Dazu muss man über das Kontextmenü des jeweiligen Knoten gehen.

Kontextmenu

Kontextmenü auf einem Knoten im Composite Provider
(C) Brandeis Consulting

Ausdruck-Editor zum Filtern

SQL Ausdrücke zum Filtern in der Eclipse Oberfläche

Formeleditor für das Filtern mit SQL-Prädikaten im HCPR

Hier werden Prädikate erfasst, die die Ergebnismenge einschränken. Also eine klassische WHERE-Bedingung. Fehler in den SQL-Ausdrücken werden erst beim Aktivieren des BW/4HANA Composite Providers angezeigt.

(C) Brandeis Consulting

Syntax im Ausdruck-Editor

Die Felder/InfoObjects haben die gleiche Bezeichnungen wie im Target des HCPR. Sie werden in Gänsefüsschen (spezielle Notation) angegeben.

Prädikate

  • Vergleichsprädikate aus der Auswahlliste
  • Vergleich mit BETWEEN, z.B. "0CO_AREA" BETWEEN 'A' AND 'B'
  • Mengenvergleich mit IN, z.B. "0CO_AREA" IN ( 'A' , 'B')
  • LIKE zum Filtern mit einfachen Mustern
  • LIKE_REGEXPR zum Filtern mit regulären Ausdrücken. Vorsicht: Der in der Auswahlbox vorgeschlagene Wert "like_regex" funktioniert nicht.
  • IS (NOT) NULL - Das könnte praktisch sein, um die Daten von OUTER JOINs zu filtern und so das EXISTS Prädikat zu simulieren.
  • CASE-Ausdrücke in Vergleichen
"0CO_AREA" = CASE "GXXMSSID" 
                  WHEN 'P01100' THEN 'ABC'
                  WHEN 'Q01100' THEN 'CDE'
                  WHEN 'D01100' THEN 'DEF'
                  ELSE ''
             END
(C) Brandeis Consulting

Nicht erlaubt sind

Damit fehlen leider alle Möglichkeiten zum Filtern mit Unterabfragen. Aber viele Dinge, die man mit EXISTS und IN/ANY/ALL/SOME mit Unterabfrage anstellen kann, lassen sich jetzt auch mit den erweiterten JOIN Bedingungen und Aggregationsknoten realisieren.

(C) Brandeis Consulting

Mit SQL-Ausdrücken berechnete Felder im HCPR

Das Vorgehen bei den berechneten Feldern ist ganz ähnlich wie bei den Filtern. Über das Kontextmenü in dem rechten Target Bereich kann man das berechnete Feld anlegen. Ein modales Fenster wird angezeigt, in dem dieses Mal zusätzlich noch die Feldeigenschaften erfasst werden sollen:

  • Gruppe
  • Typ
  • Name
  • Beschreibung
  • Assoziation mit
  • Eindeutiger Name
  • Checkbox Force Group By
  • Datentyp & Länge

Popup Fenster zum Anlegen eines berechneten Feldes
(C) Brandeis Consulting

Ausdrücke für berechneten Feldern

  • SQL-Funktionen aus der Auswahlbox
  • Weitere SQL-Funktionen, die hier nicht gelistet sind. Beispiel hierfür wäre die SQL-Funktion WEEKDAY(), die sich ohne Weiters verwenden lässt, aber nicht zur Auswahl angeboten wird.
  • Einfache und komplexe CASE Ausdrücke
  • Literale, auch typisierte
  • Felder aus der Target-Liste in spezieller Notation mit Gänsefüsschen und in Großbuchstaben

Und auch alle Kombinationen dieser Ausdrücke zu komplexeren Ausdrücken sind erlaubt.

Nicht erlaubte SQL Ausdrücke sind:

  • Andere SQL-Funktionen, die in der SAP HANA bekannt sind, führen zu Fehlern beim Aktivieren des HCPR. Beispielsweise die RAND() Funktion.
  • Aggregatfunktionen, auch nicht in Aggregationsknoten :-(
  • Window Functions
  • Sub-Queries
(C) Brandeis Consulting