Skip to content

Event-Methoden

Events sind der Mechanismus, mit dem das Frontend des Designers auf Benutzeraktionen reagiert. Im Mobile Builder verknüpfen Sie eine Komponente mit einer Methode der gebundenen ABAP-Klasse, die beim Auslösen des Events aufgerufen wird.

Voraussetzungen

VoraussetzungHinweis
Die View ist an eine ABAP-Klasse gebundenSiehe View an Klasse binden
Die Methode existiert in der gebundenen KlasseSonst wird der Event zur Laufzeit ignoriert / Fehler geworfen
Die Methode hat eine Mobile-Builder-konforme SignaturPflicht-Importing-Parameter für den Designer-Kontext

Event in der Komponente eintragen

Selektieren Sie eine Komponente und wechseln Sie im Eigenschaften-Panel auf den Reiter Events. Sie sehen pro unterstütztem Event-Typ ein Eingabefeld – tragen Sie dort den Methodennamen ein.

Event-Methode eintragen

Beispiel: Bei einem Button-Control geben Sie unter onPress den Namen on_login_press ein. Beim Klick auf den Button wird zur Laufzeit die Methode on_login_press der gebundenen Klasse aufgerufen.

Verfügbare Event-Arten

Welche Events eine Komponente unterstützt, hängt vom Typ ab:

EventKomponentenAuslöser
onPressButton, Link, GenericTag, TileKlick / Tap
onSelectCheckBox, RadioButton, IconTabBarAuswahl
onChangeInput, TextArea, ComboBox, Switch, StepInput, TimePickerWert geändert
onSubmitInput, TextAreaDrücken der Entertaste
onSelectionChangeList, Table, ComboBox, RadioButtonGroup, SegmentedButtonAuswahländerung
onScanSuccessBarcodeScannerButtonBarcode erkannt
onScanFailBarcodeScannerButtonScan abgebrochen
onCloseMessageStripSchließen-Klick
onSaveSignaturePadSignatur gespeichert
onNavButtonPressView (Header)Klick auf Zurück-Button

Methoden-Signatur

Jede Event-Methode wird mit einem Standard-Parameter-Set aufgerufen. Beim Generieren einer neuen Klasse legt der Mobile Builder die korrekte Signatur automatisch an. Bei manueller Implementierung halten Sie sich an folgendes Schema:

ParameterTypBedeutung
iv_view_idStringDie controlId der View, in der das Event ausgelöst wurde
iv_control_idStringDie controlId der auslösenden Komponente
iv_event_typeStringEvent-Name (z.B. onPress)
it_event_dataTabelleEvent-spezifische Zusatzdaten (z.B. der gescannte Barcode bei onScanSuccess)

Die exakte Signatur entnehmen Sie dem von Generieren angelegten Methoden-Stub.

Aktionen in der Event-Methode

Innerhalb der Event-Methode greifen Sie über die Mobile-Builder-API auf Frontend-Komponenten zu, lesen und setzen Werte, navigieren zwischen Views, zeigen Meldungen und rufen Backend-Logik auf.

Typische Muster:

AnwendungsfallAktion
Aktuellen Wert eines Eingabefelds lesenget_property für value
Ergebnis im Detail-Feld anzeigenset_property für text
Liste neu ladenDaten ermitteln, anschließend set_items auf der Liste
Meldung an den Benutzershow_message (Toast oder Strip)
Navigation in eine andere Viewnavigate_to_view mit Ziel-controlId
Vor Eingabe-Speicherung validierenEingabe lesen, prüfen, ggf. set_value_state auf Error

Mehrere Events auf eine Methode

Sie können dieselbe Methode bei mehreren Komponenten eintragen, sofern die Logik identisch ist – das spart Redundanz. Über iv_control_id und iv_event_type unterscheiden Sie zur Laufzeit, woher der Aufruf kam.

Fehlerbild: Methode nicht gefunden

Wenn die hinterlegte Methode in der ABAP-Klasse nicht existiert, schlägt der Aufruf zur Laufzeit fehl. Im Lizenz-Monitor-Log und im Browser-Debug-Log erscheint ein entsprechender Hinweis. Lösung:

  1. Prüfen Sie, ob die Methode in der korrekten Klasse implementiert ist
  2. Prüfen Sie, ob der Methodenname exakt mit dem Eintrag im Designer übereinstimmt (Groß-/Kleinschreibung in ABAP irrelevant – Mobile Builder normalisiert intern)
  3. Prüfen Sie, ob die Methode public sichtbar ist

Nächste Schritte