Erscheinungsbild
TimePicker
Eingabefeld zur Auswahl einer Uhrzeit über ein Uhr-Icon mit Auswahl-Dialog oder per direkter Eingabe. Unterstützt ValueState-Markierung und Validatoren.
Designer-Attribute
| Attribut | Beschreibung | Default |
|---|---|---|
controlId | Eindeutige ID | automatisch generiert |
value | Aktuelle Uhrzeit | – |
placeholder | Platzhaltertext bei leerem Feld | – |
displayFormat | Anzeigeformat der Uhrzeit | HH:mm |
valueFormat | Internes Wertformat | HH:mm |
valueStateText | Tooltip-Text zum valueState | – |
valueState | Status-Hervorhebung. Werte: Error, Warning, Success, Information, None | None |
width | Breite (CSS-Wert) | – |
visible | Sichtbar | true |
editable | Bearbeitbar | true |
valueHelpField | Feld der Wertehilfe, das diese Komponente führt — darüber wird sie als Filter gefüllt und als Ergebnis beschrieben | – |
fontSize | Schriftgröße (CSS-Wert) | – |
color | Vordergrundfarbe (Hex) | – |
backgroundColor | Hintergrundfarbe (Hex) | – |
spanS / spanM / spanL / spanXL | Breite im Grid-Layout | 12 |
ABAP-API
Zugriff über den typisierten Getter me->get_time_picker( '<controlId>' ) (liefert eine /mobbuild/cl_time_picker-Referenz):
| Methode | Zweck |
|---|---|
GET_DISPLAY_FORMAT / SET_DISPLAY_FORMAT | Anzeigeformat |
GET_PLACEHOLDER / SET_PLACEHOLDER | Platzhalter |
GET_VALUE_FORMAT / SET_VALUE_FORMAT | Internes Wertformat |
abap
DATA(lo_time) = me->get_time_picker( 'tpStart' ).
DATA(lv_value) = lo_time->get_value( ).
lo_time->set_value( '08:30' ).cl_time_picker erbt von cl_input_base — verfügbar sind daher get_value/set_value, set_value_state, set_value_state_text, set_editable, get_width/set_width sowie die eigenen set_placeholder, set_display_format, set_value_format. get_value liefert stets das valueFormat (Standard HH:mm), unabhängig vom angezeigten displayFormat.
Beispiel: /mobbuild/cl_ex_time_picker
Das Beispiel belegt den ersten TimePicker im PBO mit der aktuellen Uhrzeit vor – aber nur, solange er leer ist, sonst würde jeder PBO die Eingabe des Anwenders überschreiben. Beim Submit liest es beide Picker und zeigt die Werte als Toast; get_value liefert dabei immer das valueFormat (HH:mm), unabhängig vom displayFormat:
abap
CLASS /mobbuild/cl_ex_time_picker DEFINITION
PUBLIC
INHERITING FROM /mobbuild/cl_request_base
FINAL
CREATE PUBLIC.
PUBLIC SECTION.
CONSTANTS mc_mb_timepicker1 TYPE string VALUE 'timePicker1'.
CONSTANTS mc_mb_timepicker2 TYPE string VALUE 'timePicker2'.
CONSTANTS mc_mb_onpress_btnsubmit TYPE string VALUE 'Submit'.
METHODS on_pai REDEFINITION.
METHODS on_pbo REDEFINITION.
ENDCLASS.
CLASS /mobbuild/cl_ex_time_picker IMPLEMENTATION.
METHOD on_pbo.
" Vorbelegung nur beim ersten Aufbau: sonst wuerde jeder PBO
" eine Nutzereingabe wieder ueberschreiben.
DATA(lv_now) = |{ sy-uzeit(2) }:{ sy-uzeit+2(2) }|.
DATA(lo_time_picker) = me->get_time_picker( mc_mb_timepicker1 ).
IF lo_time_picker->get_value( ) IS INITIAL.
lo_time_picker->set_value( lv_now ).
ENDIF.
ENDMETHOD.
METHOD on_pai.
IF me->get_event( )->get_event_key( ) NE mc_mb_onpress_btnsubmit.
RETURN.
ENDIF.
DATA(lv_value_1) = me->get_time_picker( mc_mb_timepicker1 )->get_value( ).
DATA(lv_value_2) = me->get_time_picker( mc_mb_timepicker2 )->get_value( ).
" get_value liefert immer das valueFormat (HH:mm), unabhaengig vom displayFormat.
DATA(lv_message) = |timePicker1={ lv_value_1 } / timePicker2={ lv_value_2 }|.
me->set_message_toast( me->create_message_toast( iv_text = lv_message ) ).
ENDMETHOD.
ENDCLASS.Events im Designer
| Event | Auslöser |
|---|---|
onChange | Uhrzeit geändert |
Nächste Schritte
- Input – freie Texteingabe
- StepInput – numerische Eingabe mit Plus/Minus
- Validatoren – Eingabeprüfung ohne ABAP-Code