Skip to content

Komponenten

Dieser Bereich dokumentiert alle Komponenten, die der Mobile Builder im Designer und in der ABAP-API zur Verfügung stellt. Pro Komponente finden Sie:

  • Beschreibung – wofür die Komponente gedacht ist
  • Designer-Attribute – Properties, die im Eigenschaften-Panel verfügbar sind
  • ABAP-API – Methoden zum Lesen und Setzen aus der gebundenen Klasse heraus
  • Beispiel – ABAP-Code aus dem ausgelieferten Beispiel-Paket /mobbuild/example

ABAP-Klassen-Pattern

Jede an eine View gebundene Klasse erbt von /mobbuild/cl_request_base und redefiniert die zwei Lifecycle-Methoden:

abap
CLASS /<NAMESPACE>/cl_my_view DEFINITION
  PUBLIC
  INHERITING FROM /mobbuild/cl_request_base
  FINAL
  CREATE PUBLIC.

  PUBLIC SECTION.
    METHODS on_pai REDEFINITION.
    METHODS on_pbo REDEFINITION.
ENDCLASS.
MethodeAuslöserZweck
on_pboProcess Before Output – Aufruf vor dem Anzeigen der ViewDaten ermitteln, Komponenten initialisieren, Listen befüllen
on_paiProcess After Input – Aufruf nach BenutzeraktionEingaben auswerten, Backend-Logik aufrufen, navigieren

Komponenten-Zugriff aus ABAP

Über me->get_<typ>( '<controlId>' ) erhalten Sie eine Referenz auf eine konkrete Komponente:

abap
DATA(lo_button)    = me->get_button( 'btnSave' ).
DATA(lo_input)     = me->get_input( 'txtName' ).
DATA(lo_label)     = me->get_label( 'lblMessage' ).
DATA(lo_combo_box) = me->get_combo_box( 'cbCountry' ).
DATA(lo_table)     = me->get_table( 'tblItems' ).

Die getypte Referenz erlaubt anschließend Methodenverkettung und Code-Vervollständigung:

abap
me->get_input( 'txtName' )->set_value( 'Hallo' ).
me->get_button( 'btnSave' )->set_enabled( abap_false ).

Event auswerten

In on_pai ermitteln Sie über me->get_event( ), welche Aktion den Aufruf ausgelöst hat:

abap
DATA(lo_event)   = me->get_event( ).
DATA(lv_key)     = lo_event->get_event_key( ).      " z.B. 'Submit', 'Change'
DATA(lv_sender)  = lo_event->get_sender( ).         " controlId der auslösenden Komponente

CASE lv_key.
  WHEN 'Submit'. " ...
  WHEN 'Change'. " ...
ENDCASE.

Der event_key entspricht dem im Designer hinterlegten Event-Methodennamen oder einem reservierten Wert wie 'Change', 'Submit', 'Press', 'Select'.

Globale Hilfen

Eine kleine Auswahl an Helfern, die direkt auf me verfügbar sind:

MethodeZweck
me->set_focus( '<controlId>' )Setzt den Tastatur-Fokus auf eine Komponente
me->init_controls( )Setzt alle Komponenten-Eingaben zurück
me->set_message_toast( me->create_message_toast( iv_text = '...' ) )Zeigt einen MessageToast
me->set_message_box( lo_message_box )Zeigt eine modale MessageBox
me->get_controls_by_type( iv_control_type = ... )Liefert alle Komponenten eines Typs der View

Geerbte Methoden

Alle Komponenten-Klassen erben von Control. Dort sind die generischen Methoden wie set_visible, set_property_value, get_control_id dokumentiert. In den einzelnen Komponenten-Seiten wiederholen wir diese Methoden nicht.

ValueState-Konstanten

Eingabe-Komponenten unterstützen Status-Hervorhebungen über die Konstanten in /mobbuild/cl_value_state:

KonstanteWirkung
co_noneStandard, keine Markierung
co_informationBlau
co_successGrün
co_warningGelb
co_errorRot
abap
me->get_input( 'txtEmail' )->set_value_state( /mobbuild/cl_value_state=>co_error ).
me->get_input( 'txtEmail' )->set_value_state_text( 'Bitte gültige E-Mail eingeben' ).

Übersicht aller Komponenten

BereichKomponenten
EingabeInput, TextArea, StepInput, TimePicker, CheckBox, ComboBox, RadioGroup, SegmentedButton, Switch
AnzeigeLabel, Title, Text, Link, Icon, Image, InfoLabel, ObjectStatus, ObjectIdentifier, GenericTag, ProgressIndicator, MessageStrip
InteraktionButton, Barcode-Scanner, SignaturePad, Upload
Listen & TabellenList, Table
ContainerFlexBox, Panel, IconTabBar
TilesTile
DialogeMessageToast, MessageBox

Nächste Schritte