Erscheinungsbild
Event-Methoden
Events sind der Mechanismus, mit dem eine App auf Benutzeraktionen reagiert. Im Mobile Builder tragen Sie an einer Komponente je Event einen Event-Schlüssel ein. Löst der Benutzer das Event aus, schickt die Runtime den Schlüssel an das Backend; dort ruft die Mobile-Builder-Basisklasse bei jedem Ereignis die Methode on_pai der gebundenen ABAP-Klasse auf, in der Sie den Schlüssel auswerten.
Voraussetzungen
| Voraussetzung | Hinweis |
|---|---|
| Die View ist an eine ABAP-Klasse gebunden | Siehe View an ABAP-Klasse binden |
Die Klasse redefiniert on_pai | Die Basisklasse ruft on_pai bei jedem Ereignis auf – unabhängig davon, welche Komponente es ausgelöst hat |
Der Event-Schlüssel wird in on_pai behandelt | Ein Schlüssel ohne passenden Zweig bleibt zur Laufzeit ohne Wirkung |
Event in der Komponente eintragen
Selektieren Sie eine Komponente und wechseln Sie im Eigenschaften-Panel auf den Reiter Ereignisse. Sie sehen pro unterstütztem Event ein Eingabefeld – tragen Sie dort den Event-Schlüssel ein.

Beispiel: Bei einem Button geben Sie unter onPress den Schlüssel login ein. Beim Klick auf den Button ruft die Runtime das Backend auf; in on_pai der gebundenen Klasse liefert me->get_event( )->get_event_key( ) den Wert login.
Verfügbare Event-Arten
Welche Events eine Komponente unterstützt, hängt vom Typ ab:
| Event | Komponenten | Auslöser |
|---|---|---|
onPress | Button, Link, Icon, Image, GenericTag, Tile (inkl. Tile-Inhalte), SegmentedButtonItem | Klick / Tap |
onSelect | CheckBox, RadioButtonGroup, IconTabBar | Auswahl |
onChange | Input, TextArea, ComboBox, Switch, StepInput, TimePicker, List | Wert geändert |
onSubmit | Input | Drücken der Entertaste |
onSelectionChange | Table, UITable (Grid Table), SegmentedButton | Auswahländerung |
onScanSuccess | BarcodeScannerButton | Barcode erkannt |
onScanFail | BarcodeScannerButton | Scan abgebrochen |
onClose | MessageStrip | Schließen-Klick |
onSave | SignaturePad | Signatur gespeichert |
onNavButtonPress | View (Header) | Klick auf Zurück-Button |
Ereignis im Backend auswerten
In on_pai liefert me->get_event( ) das ausgelöste Ereignis:
| Methode | Liefert |
|---|---|
get_event_key( ) | Den im Designer eingetragenen Event-Schlüssel |
get_sender( ) | Die controlId der auslösenden Komponente |
get_parameters( ) | Event-spezifische Zusatzdaten als Schlüssel-Wert-Liste |
Typisch ist eine CASE-Verzweigung über den Schlüssel. Die vom Designer erzeugten Konstanten-Attribute (mc_mb_onpress_<controlId> usw.) liefern die Schlüssel, ohne dass Sie String-Literale tippen:
abap
METHOD on_pai.
CASE me->get_event( )->get_event_key( ).
WHEN mc_mb_onpress_btnlogin.
" Anmeldung prüfen, anschließend in die Listen-View wechseln
me->set_nav_to( 'mainList' ).
WHEN mc_mb_onchange_inputuser.
" Eingabe prüfen
ENDCASE.
ENDMETHOD.Beim Generieren einer neuen Klasse legt der Mobile Builder on_pbo und on_pai bereits als Redefinitionen an.
Aktionen in on_pai
Innerhalb von on_pai greifen Sie über die Mobile-Builder-API (On-Prem / Cloud) auf Frontend-Komponenten zu, lesen und setzen Werte, navigieren zwischen Views, zeigen Meldungen und rufen Backend-Logik auf.
Typische Muster:
| Anwendungsfall | Aktion |
|---|---|
| Aktuellen Wert eines Eingabefelds lesen | Komponente über ihre controlId beziehen und die Property value lesen |
| Ergebnis im Detail-Feld anzeigen | Property text der Anzeige-Komponente setzen |
| Liste neu laden | Daten ermitteln, anschließend als Items der Liste setzen |
| Meldung an den Benutzer | set_message_toast (Toast) bzw. set_message_box (Dialog) |
| Navigation in eine andere View | set_nav_to mit der controlId der Ziel-View |
| Fokus auf eine Komponente setzen | set_focus mit der controlId der Komponente |
| Vor dem Speichern validieren | Eingabe lesen, prüfen, ggf. Wertzustand Error setzen |
Mehrere Komponenten, ein Schlüssel
Sie können denselben Event-Schlüssel bei mehreren Komponenten eintragen, sofern die Logik identisch ist – das spart Redundanz. Über get_sender( ) unterscheiden Sie in on_pai, welche Komponente das Ereignis ausgelöst hat.
Fehlerbild: Ereignis ohne Wirkung
Passiert beim Auslösen eines Events nichts, wird der Schlüssel in on_pai nicht behandelt – ein unbekannter Schlüssel erzeugt keine Fehlermeldung. Lösung:
- Prüfen Sie, ob die View an die richtige Klasse gebunden ist (View-Eigenschaft
class) - Prüfen Sie, ob der Schlüssel in
on_paiexakt so verglichen wird, wie er im Designer eingetragen ist – am sichersten über die generierten Konstanten-Attribute - Prüfen Sie, ob die Komponente das Event überhaupt anbietet (siehe Tabelle oben)
Nächste Schritte
- Mobile-Builder-API (On-Prem / Cloud) – wie Sie Frontend-Komponenten ansprechen
- Konstanten-Attribute –
controlId-Werte und Event-Schlüssel typsicher referenzieren - Logic Flow – Alternative zur ABAP-Auswertung für einfache Logik