Tobias Feldherr
13. September 2016

Die Neptune Application Class

NAD Application Class

Bei der Application Class handelt es sich um eine ABAP Objects Klasse, welche die Logik der Applikation implementiert. Diese wird in den Application Settings des Neptune Application Designers festgelegt und repräsentiert das Model des Model - View - Control Patterns.

Unser E-Book zum Thema Neptune User Experience Platform

E-Book: Neptune Platform

Was ist Neptune? Welche Vorteile es Ihnen bringt und wie Sie es in Ihrer Systemlandschaft einführen.

Voraussetzungen

Damit eine ABAP Objects Klasse als Neptune Application fungieren kann, muss sie das Interface /NEPTUNE/IF_NAD_SERVER implementieren. Gibt es Strukturen oder interne Tabellen, die später an UI Controls gebunden werden sollen, so müssen diese als public Attribute der Application Class deklariert sein. Die Datentypen, die für diese public Attribute verwendet werden, müssen entweder aus dem Dictionary Stammen oder lokal in der Klasse definiert werden.

Definieren der Application Class

Um eine Application Class zu definieren, öffnen Sie aus dem Neptune  Application Designer den Class Builder oder rufen Sie die Transaktion SE24 auf. Wie oben beschrieben, muss hier das Interface /NEPTUNE/IF_NAD_SERVER implementiert werden.

Application Class

Sobald Sie die Klasse aktiviert haben, sind die  Methoden des Interfaces im Methodenreiter verfügbar.  Welche Sie davon implementieren hängt von Ihrer Anwendung ab. Im Normalfall werden sie die SAPUI5 Bibliothek verwenden, weshalb es notwendig ist, mindestens die Methode /NEPTUNE/IF_NAD_SERVER~HANDLE_ON_AJAX zu implementieren. Diese ist dafür verantwortlich die Interaktions-Events des Nutzers zu verarbeiten, die von den UI Controls zur Laufzeit der Applikation ausgesandt werden.

Hintergrund

Zur Designzeit wird jedem User Interface (UI) Control im Application Designers eine AJAX ID zugewiesen. Wird zur Laufzeit eine Datenbindung getriggert, so werden die AJAX ID und sämtliche konfigurierte Attribute, die zum Backend geschickt werden sollen, an die implementierte HANDLE_ON_AJAX Methode der Application Class übergeben. Dementsprechend muss die Implementierung in der Lage sein relevante Attribute der Application Class zu verändern. Der Neptune HTTP-Request Handler wird anschließend automatisch die angeforderten Daten an die UI Controls schicken, die an die zugehörigen Klassenattribute gebunden sind.

Application Class

Um die Ergebnisse von HANDLE_ON_AJAX  zu verarbeiten sollte ihre Applikation die Eventhandler ajaxSuccess und ajaxError des UI Controls verwenden, dass den AJAX Request abgesetzt hat.

Haben Sie bereits eigene Neptune Anwendungen im Betrieb, welche die Application Class auf diese Weise implementiert haben oder interessieren Sie sich weiterführend für das Thema? In den Kommentaren freue ich mich auf Ihre Gedanken und Fragen.

Tobias Feldherr

Tobias Feldherr

Als Management & Technologieberater im Bereich Mobility verbinde ich tiefgehende fachliche Expertise mit langjährigem Projektleitungs-Know-How. Diese Kombination liefert mir die Grundlage, meine Kunden-Projekte zum Erfolg zu führen. Gerne unterstütze ich Sie bei den Themen mobile Infrastrukturen und App-Entwicklung mit SAPUI5 oder Low-Code.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

Sie möchten den Schritt gehen und sichere mobile SAP UI5 Apps mit Neptune in Ihrem Unternehmen einführen? Sie oder Ihre Kollegen plagen jedoch einige Sicherheitsbedenken? Wie können wir den Zugriff […]

weiterlesen

Seit der Version 7.4 bietet das SAP NetWeaver Portal das sogenannte Fiori Launchpad an. Dahinter verbirgt sich eine neue Framework-Page, die sich zum einen näher an den W3C-Richtlinien orientiert als […]

weiterlesen

Die Neptune User Experience Platform (auch Neptune UXP oder Neptune) ist ein zertifiziertes SAP AddOn, das die Erstellung von mobilen Anwendungen über Drag & Drop ermöglicht.

weiterlesen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Sophie Weber
Sophie Weber Kundenservice