Skip to content

View an ABAP-Klasse binden ​

Jede View einer Mobile-Builder-App kann an eine ABAP-Klasse im SAP-Backend gebunden werden. Diese Klasse trägt die Anwendungslogik – Datenermittlung, Validierungen, Speichervorgänge, externe Aufrufe.

Üblich ist eine eigene Klasse pro View, sodass Logik und Bedienoberfläche eng verbunden bleiben und sich Apps modular weiterentwickeln lassen.

Klasse zuordnen ​

Selektieren Sie im Reiter App-Baum (View-Tree (App)) die View und wechseln Sie im Eigenschaften-Panel auf den Reiter Bindung. Dort tragen Sie in die View-Eigenschaft class den Namen der ABAP-Klasse ein – dieser Eintrag ist die Bindung.

Im Reiter Bindung stehen dazu drei Aktionen bereit:

AktionWirkung
Backend Klasse generieren Generieren-ButtonLegt eine neue ABAP-Klasse mit dem in class eingetragenen Namen im Paket der Applikation an, inklusive der Standard-Methoden für die Mobile-Builder-Anbindung
Verbindung zur Backend-Klasse prüfen Verbinden-ButtonPrüft, ob die in class eingetragene Klasse existiert und die Mobile-Builder-Anbindung erfüllt – die Bindung selbst bleibt unverändert
Backend Konstanten-Attribute generieren Konstanten-Attribute-ButtonSchreibt Konstanten-Attribute in die gebundene View-Klasse (siehe Konstanten-Attribute)

Klasse generieren ​

Wenn Sie noch keine Klasse haben, lassen Sie eine erzeugen:

  1. Tragen Sie den gewünschten Klassennamen in die View-Eigenschaft class ein (z.B. ZCL_DEMO_LOGIN_VIEW)
  2. Klicken Sie im Reiter Bindung auf Backend Klasse generieren
  3. Die Klasse wird im Paket der App angelegt; die View ist über class bereits an sie gebunden

Die generierte Klasse erbt von der abstrakten Basisklasse /mobbuild/cl_request_base (Cloud: zmobbuild_cl_request_base) und redefiniert bereits on_pbo und on_pai.

Naming-Konvention

Empfohlen: Z<KUNDE>_<APP>_<VIEW> – z.B. ZHPC_ORDERS_DETAIL. So bleiben Klassen pro App eindeutig und im Repository übersichtlich gruppiert. In der S/4HANA Cloud muss der Name mit Z oder Y beginnen (max. 30 Zeichen).

Bestehende Klasse verbinden ​

Wenn die Klasse bereits existiert (etwa aus einem Template oder einer früheren App):

  1. Tragen Sie den Klassennamen in die View-Eigenschaft class ein
  2. Klicken Sie im Reiter Bindung auf Verbindung zur Backend-Klasse prüfen
  3. Der Designer prüft, ob die Klasse existiert und von der Mobile-Builder-Basisklasse erbt

Schlägt die Prüfung fehl, prüfen Sie:

  • Existiert die Klasse im System und ist sie aktiv?
  • Erbt sie von /mobbuild/cl_request_base (Cloud: zmobbuild_cl_request_base) und redefiniert sie on_pbo und on_pai?

Klassenstruktur ​

Eine an eine View gebundene ABAP-Klasse enthält typischerweise:

BereichInhalt
Lifecycle-Methodenon_pbo (Process Before Output – initialer Render der View), on_pai (Process After Input – Event-Verarbeitung)
Ereignis-Auswertungon_pai wertet die Event-Schlüssel aus, die Sie im Reiter Ereignisse einer Komponente hinterlegen
HilfsmethodenEigene private Methoden für interne Logik
AttributeInstanzdaten, die zwischen Methoden geteilt werden

Den Zugriff auf Frontend-Komponenten erhalten Sie über die Mobile-Builder-API (On-Prem / Cloud).

Mehrere Views, eine Klasse ​

Es ist möglich, eine ABAP-Klasse an mehrere Views zu binden – z.B. wenn ein gemeinsames Datenmodell oder gemeinsame Helper-Methoden geteilt werden. Empfohlen wird das nur für kleine Apps – sonst leiden Übersichtlichkeit und Trennung der Verantwortlichkeiten.

Klasse wechseln ​

Eine bereits zugeordnete Klasse tauschen Sie aus, indem Sie in der View-Eigenschaft class einen anderen Klassennamen eintragen – die Bindung gilt damit sofort. Mit Verbindung zur Backend-Klasse prüfen stellen Sie sicher, dass die neue Klasse existiert. Die Event-Schlüssel der Komponenten bleiben dabei erhalten – stellen Sie sicher, dass on_pai der neuen Klasse sie behandelt.

Nächste Schritte ​