Skip to content

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 ​

AttributBeschreibungDefault
controlIdEindeutige IDautomatisch generiert
valueAktuelle Uhrzeit–
placeholderPlatzhaltertext bei leerem Feld–
displayFormatAnzeigeformat der UhrzeitHH:mm
valueFormatInternes WertformatHH:mm
valueStateTextTooltip-Text zum valueState–
valueStateStatus-Hervorhebung. Werte: Error, Warning, Success, Information, NoneNone
widthBreite (CSS-Wert)–
visibleSichtbartrue
editableBearbeitbartrue
valueHelpFieldFeld der Wertehilfe, das diese Komponente führt — darüber wird sie als Filter gefüllt und als Ergebnis beschrieben–
fontSizeSchriftgröße (CSS-Wert)–
colorVordergrundfarbe (Hex)–
backgroundColorHintergrundfarbe (Hex)–
spanS / spanM / spanL / spanXLBreite im Grid-Layout12

ABAP-API ​

Zugriff über den typisierten Getter me->get_time_picker( '<controlId>' ) (liefert eine /mobbuild/cl_time_picker-Referenz):

MethodeZweck
GET_DISPLAY_FORMAT / SET_DISPLAY_FORMATAnzeigeformat
GET_PLACEHOLDER / SET_PLACEHOLDERPlatzhalter
GET_VALUE_FORMAT / SET_VALUE_FORMATInternes 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 ​

EventAuslöser
onChangeUhrzeit geändert

Nächste Schritte ​