HANA und Eclipse

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Siehe Basis.

Dieses Kapitel über HANA ist Stand April 2024 noch wenig gefüllt. Es wird aber schnell erweitert werden, da ich im aktuellen SAP-Projekt an einer HANA-Einführung arbeite und daher das HANA-Know-how im realen Kundenprojekt getestet und entwickelt werden kann.

HANA (High Performance Analytic Appliance) ist eine Datenbanktechnologie von SAP, die u. a. den Arbeitsspeicher für die Speicherung und Datenzugriff der Datenbank nutzt, um schnellere Zugriffe auf Daten zu ermöglichen.

Die Daten werden in HANA zeilen- und spaltenorientiert gespeichert. HANA ist eine Kombination von Hardware und Software.

HANA ist einer der Hoffnungsträger von SAP für zukünftiges Wachstum.

Umstellung der SAP-Entwickler zur HANA-Programmierung

  • Ein HANA-Release ist neben dem schnellen Arbeitsspeicherzugriff auch in vielen anderen Hinsichten moderner.
  • Es erfordert allerdings auch vom Programmierer das Erlernen neuer Möglichkeiten von ABAP-Schlüsselbefehlen und der Beherrschung der IDE von Eclipse.
  • SAP SE konzentriert die Weiterentwicklung des Entwicklungsframeworks auf Eclipse. Die leistungsfähige Transaktion SE80 und (die meisten) klassischen Entwicklungstransaktionen aus dem SAP-GUI werden nicht mehr weiter entwickelt.
  • Jeder SAP-Entwickler muss sich früher oder später mit Eclipse, bzw. dem HANA-Studio beschäftigen. Kenntnisse über HANA, die neuen ABAP-Befehle (ab Release 7.40) und die IDE Eclipse werden eine zunehmend bedeutende Qualifikation für SAP-Entwickler sein.
  • Das alte ABAP-Coding wird wie von SAP gewohnt weiterhin funktionsfähig sein.
  • Das alte Coding mag langsamer sein oder Einschränkungen in anderer Hinsicht haben, aber altes Coding wird weiterhin lauffähig sein und daher ist das Wissen über die alten Befehle und die Entwicklung im klassischen SAP-GUI weiterhin wertvoll. Es wird auch noch lang dauern, bis alle Entwicklungstransaktionen aus dem SAP-GUI auch nativ in Eclipse lauffähig sind und nicht lediglich in Eclipse eingebettet sind.
  • Neue Entwickler können sich vielleicht auf Eclipse konzentrieren. Aber dann braucht es auch weiterhin die etablierten SAP-Entwickler, die das alte Coding weiter betreuen. Je mehr ein SAP-Entwickler sowohl die die klassische SAP-Entwicklung als auch die neuen Möglichkeiten unter Eclipse beherrscht, umso wertvoller ist dieser SAP-Entwickler bei einem SAP-Kunden.

Neues ABAP (ab Release 7.40)

  • Neues ABAP (ab Release 7.40)
  • Im ABAP-Release 7.40 sind viele neue Befehle hinzugekommen, die häufig auch die Möglichkeiten von HANA besser ausnutzen und oft im Vergleich zu alternativen klassischen ABAP-Befehlen performanter sein werden.
  • Es ist jedoch immer die zusätzliche Performance von den neuen Befehlen mit der Lesbarkeit des Codings und der Debuggingmöglichkeiten abzuwägen. Oftmals stellen die neuen Befehle hohe Anforderungen an das Know-how der ABAP-Entwickler/Berater und das Coding ist schwer zu verstehen, wenn man sich noch nicht intensiv mit den neuen ABAP-Befehlen beschäftigt hat. Viele neue Befehle fassen eine Reihe von klassischen Einzelschritten in einem Befehl zusammen. Daher ist das schrittweise debuggen und verstehen des Codings oftmals nicht mehr möglich.
  • Die neuen ABAP-Befehle sollten ausführlicher kommentiert werden, um das Verständnis zu erleichtern.

Schlüsselbefehl Select und Umstellung der Programmierung

  • Schlüsselbefehl Select
  • Der Datenbank-Select nimmt unter HANA eine noch höhere Bedeutung ein als bereits in vorherigen ABAP-Releases. und die Möglichkeiten vom Schlüsselbefehl SELECT sind mit den letzten ABAP-Releases deutlich gewachsen.
  • Es lohnt sich, sich mit den verschiedenen Möglichkeiten dieses Befehls zu beschäftigen.
  • Vor HANA war es oft empfehlenswert mit internen Tabellen zu arbeiten und über die internen Tabellen die Daten zu verdichten.
  • Mit HANA wird die Verarbeitung möglichst auf die Datenbank verlegt.
  • Es ist mit HANA empfehlenswert intensiv mit Datenbankselects zu arbeiten, um die Datenverdichtung der Datenbank zu überlassen und dann möglichst weit verarbeitete Daten an das Programm/den Applikationsserver zu übergeben.

Performancevorteile von HANA

SAP in Eclipse

  • Eclipse wurde von IBM ursprünglich allein für die Programmiersprache Java entwickelt und 2001 als Open-Source freigegeben.
  • Eclipse kann durch mit Erweiterungen um zusätzliche Funktionen ergänzt werden. Auch die Firma SAP hat das Potential von Eclipse erkannt und mehrere Erweiterungen für SAP geschrieben. Neue Funktionen im Framework werden von SAP zuerst immer in Eclipse geschrieben und nur z. T. im SAP-GUI ebenfalls implementiert.
  • Eclipse muss lokal auf dem PC installiert werden. Eclipse kommuniziert über ein Webservices-API mit den Backendsystemen. Die Objekte liegen also weiterhin auf dem Applikationsserver.

Vorteile von ABAP in Eclipse im Vergleich zur ABAP-Entwicklung im SAP-GUI

  • keine Beschränkung auf 6 Modi pro SAP-System
  • Alle nötigen SAP-Systeme (ABAP-Projekte) sind in Eclipse unter einer Oberfläche sichtbar und offene SAP-Systeme mit ihren Modi sind übersichtlich über Registerkarten im Zugriff
  • farbliche Hervorhebung aller Verwendungen einer Variablen in Eclipse
  • Umbenennung von Variablen inklusive aller Verwendungen im lokalen Kontext
  • Ständige Weiterentwicklung der ADT in Eclipse
  • Sehr viele Shortcuts zur schnellen Bedienung von Funktionen in Eclipse
  • Die Benutzeroberfläche von Eclipse ist extrem flexibel und lässt sich mit allen benötigten Fenstern sehr individuell gestalten
  • Wird innerhalb eines Entwicklungsobjektes ein anderes Entwicklungsobjekt aufgerufen (z. B. ein Funktionsbaustein innerhalb eines Programms), dann wird dieses andere Entwicklungsobjekt auf einer separaten Registerkarte in Eclipse dargestellt. So ist z. B. der Vergleich von Parametern vom Aufrufer und vom Funktionsbaustein deutlich einfacher als wenn beide Entwicklungsobjekte im gleichen Modus dargestellt werden und man dann öfters hin und her gehen muss, um die Details zu vergleichen. Es öffnen sich dadurch in Eclipse schnell viele Fenster. Aber die lassen sich auch sehr schnell wieder schließen (Rechtsklick auf eine Registerkarte und z. B. "Close all" oder "Close others").
  • Es lässt sich ein Fenster "ABAP Element Info" einblenden, wo man sofort bei einer Markierung einer Variablen deren Typisierung sieht.
  • Über ein Suchfeld lassen sich sehr schnell Objekte mit einem beliebigen Objekttyp finden (Tastenkürzel: strg+umschalt+F2). Man muss nicht erst wie in SE80 den passenden Objekttyp (Programm, Funktionsgruppe, Funktionsbaustein etc.) vorselektieren.
  • Mit einem Suchfeld "Quick Access", bzw. "Find Actions" (Tastenkürzel: strg + 3) kann man nach Befehlen suchen, wie z. B. nach "Project". Das ist hilfreich, wenn man nicht weiß wo im Menü eine Funktion sich befindet
  • Wenn in Eclipse eine Variable umbenannt wird über das Menü "Source Code - Rename", werden die Verwendungen dieser Variable auch umbenannt

Unterschied HANA-Studio, ABAP Devopment Studio (ADT) und Eclipse

  • Das HANA-Studio basiert auf Eclipse. Es ist die Entwicklungsumgebung (IDE) für SAP HANA und die Administrationsoberfläche für HANA.
  • Die Erweiterung in Eclipse für ABAP heißt "ABAP Developer Studio (ADT)". Diese SAP-Erweiterung in Eclipse kann auch mit Nicht-HANA-Systemen bereits genutzt werden.

Format (Pretty-Printer)

  • Ähnlich wie in ABAP der "Pretty-Printer" funktioniert der Menübefehl "Format". Er formatiert den Quelltext und macht ihn leichter lesbarer.

Tastenkombinationen in Eclipse

best of
F2 Informationen zum Codeelement
F3 Navigieren zu Objekt unter Cursor. Die aus dem SAP-GUI bekannte Vorwärtsnavigation gibt es in Eclipse nicht. Ein Doppelklick in Eclipse markiert eine Zeile.
F5 Einzelschritt ausführen im Debugger (Unterroutinen werden schrittweise ausgeführt)
F6 Einzelschritt ausführen im Debugger (Unterroutinen werden als Ganzes ausgeführt)
F7 Unterroutine wird im Debugger weiter ausgeführt und Cursor steht nach Ausführung der Unterroutine
F8 Ausführen Report (wie im SAP-GUI). Im Debugger komplett oder bis zum nächsten Breakpoint
F11 Startet den Debugger
UMSCHALT + F1 Pretty-Printer
STRG + F Suche im Quelltext
STRG + H Suche nach ABAP-Objekten oder im Quelltext
STRG + F2 Syntaxprüfung
STRG + F3 Aktivieren Report/Objekt
STRG + S Speichern auf der aktuellen Registerkarte
STRG + 7 Kommentar ein/aus
ALT+LINKS/RECHTS Registerkarte links/rechts wird aktiv
sonstige
STRG + N Neues Entwicklungsobjekt
STRG + UMSCHALT + B Alle Breakpoints werden deaktiviert, bzw. wieder aktiviert
STRG + UMSCHALT + A Finden beliebiger Entwicklungsobjekte
STRG + UMSCHALT + S Alle Änderungen in allen Registerkarten werden gespeichert
STRG + F6 In einer neuen Registerkarte kann SAP-GUI ausgeführt werden
STRG + UMSCHALT + F3 Alle inaktiven Projekte werden in einer Liste zur Aktivierung angeboten
STRG + SPACE Quellcode vervollständigen
STRG + UMSCHALT + L Liste aller Tastenkürzel in Eclipse
ALT + F8 Beliebige SAP-Anwendung kann ausgeführt werden

SAP-GUI in Eclipse

  • Es sind bisher noch relativ wenige Funktionen in Eclipse implementiert, die man für die SAP-Entwicklung braucht.
  • Man muss jedoch nicht immer zum SAP-GUI wechseln und die in Eclipse fehlende Funktion im SAP-GUI ausführen. Ist eine Funktion in Eclipse nicht implementiert, wird das SAP-GUI in Eclipse eingebettet angezeigt.
  • Ähnlich wie beim Adobe LiveCycle Designer, der ein Windows-Programm ist und nicht im SAP-GUI implementiert ist, aber im SAP-GUI eingebettet angezeigt wird, möchte Adobe Forms-Formulare editieren.

Zeichenkettenfunktionen im CDS-View

"ABAP Projekt" in Eclipse

  • Wenn Eclipse erfolgreich eingerichtet wurde, sieht man noch keine Entwicklungsobjekte aus dem eigenen SAP-System.
  • Es muss zunächst ein "ABAP Projekt" eingerichtet werden. Das ist keine SAP-Entwicklung, wie man es vielleicht vermuten würde, sondern eine Verbindung zu einem SAP-System. Erzeugt man ein "ABAP Projekt" erscheint (bei erfolgreicher Konfiguration von Eclipse) eine Liste der verfügbaren SAP-Systeme im Kundensystem. Ggf. muss dann bei einer Auswahl eines SAP-Systems noch Mandant, User und Passwort eingetragen werden. Ist die Verbindung zu einem SAP-System über das ABAP Projekt erfolgreich hergestellt, kann man aus diesem SAP-System Entwicklungsobjekte aufrufen oder neu anlegen.

HANA-Entwicklungsobjekte

Attribute-View

  • Attribute-Views sind in Eclipse/HANA sehr ähnlich zu den Views in ABAP.
  • Hier werden 2 Tabellen miteinander verknüpft.

Analytic View

  • Der Analytic View baut auf dem Attribute-View auf, kann aber um zusätzliche Tabellen erweitert werden.

Calculation-View

  • Der komplexeste View im Vergleich mit Attribute View und dem Analytic View.
  • Mehrere Views können hier zusammengeführt werden (UNION)
  • SQLScript kann zur Datenaufbereitung eingesetzt werden

CDS-Views und DDL SQL View

Stored Procedures (AMDP, ABAP Managed Database Procedures)

SQLScript

Weitere Themen im Umfeld HANA

Extensibility - Erweiterbarkeit

Bei der Erweiterbarkeit (Extensibility) im HANA Umfeld unterscheidet man zwischen In-App Extensibility und side-by-side Extensibility.

Die Extensibility kann UI-Layer, Anwendungslogik und/oder Datenbank betreffen.

Die Extensibility ist abhängig vom HANA Produkt (Essential Edition, Extended Edition, Enterprise Cloud, On-Premise).

Essential Edition und Extended Edition nutzen die Public Cloud. Enterprise Cloud (inzwischen "Rise ...") nützt die Private Cloud. On-Premise benötigt kundenseitig Infrastruktur oder via IaaS durch einen Hyperscaler (Amazon Web Services, Google Cloud, Microsoft Azure).

Die Erweiterungsmöglichkeiten sind bei Essential Edition eingeschränkt und vergrößern sich bei der Extended Edition und weiter auf die HANA Enterprise Cloud und HANA on Premise.

Details sind vielfältig, daher hier einige Links:

Weiterbildungskurse HANA

  • Vom Hasso-Plattner-Institutut (HPI) gibt es in regelmäßigen Abständen Weiterbildungskurse, die über das Internet zu absolvieren sind. Hier gibt es auch einen kostenlosen Kurs über HANA, der auf der Cebit 2013 von den HPI-Mitarbeitern empfohlen wurde.
  • SAP-Hana-Kurse

Web-Links

Literatur