Rico Magnucki
 - 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.

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.

Rico Magnucki

Meine Schwerpunkte liegen im Bereich der mobilen Strategie, der Konzeption und Umsetzung von Offline-Scenarien und der Entwicklung von Apps auf der Neptune UX Platform. Zusätzlich zu diesen technischen Themen verfüge ich über Erfahrungen im Bereich User Experience Design.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren


Schreiben Sie einen Kommentar

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





Angebot anfordern
Preisliste herunterladen
Expert Session
Support