Skip to content

Tile ​

Klickbare Kachel im Fiori-Stil zur Anzeige eines Kennwerts (KPI, Status, Aufgabenanzahl). Tiles werden meist in einer DynamicFlexBox angeordnet und können statisch im Designer oder dynamisch über die ABAP-API erzeugt werden.

Designer-Attribute ​

AttributBeschreibungDefault
controlIdEindeutige IDautomatisch generiert
widthBreite der Kachel (CSS-Wert)–
headerHauptzeile (KPI-Titel)–
subheaderUnterzeile–
backgroundImageHintergrundbild-URL–
sizeBehaviorGrößenverhalten der Kachel. Werte: Responsive, SmallResponsive
modeDarstellungsmodus. Werte: ContentMode, HeaderMode, LineModeContentMode
frameTypeRahmenformat. Werte: OneByOne, TwoByOne, TwoThirds, Auto, TwoByHalf, OneByHalf, StretchOneByOne
visibleSichtbartrue
footerFußzeile–
footerColorIndikationsfarbe für den Footer. Werte: Neutral, Good, Critical, Error, NoneNeutral
unitEinheit (z.B. €, %)–
spanS / spanM / spanL / spanXLBreite im Grid-Layout12

GenericTileNumericContent ​

AttributBeschreibungDefault
controlIdEindeutige ID der Komponenteautomatisch generiert
widthBreite (CSS-Wert)–
headerHauptzeile (KPI-Titel)–
subheaderUnterzeile–
backgroundImageHintergrundbild-URL–
sizeBehaviorGrößenverhalten der Kachel. Werte: Responsive, SmallResponsive
modeDarstellungsmodus. Werte: ContentMode, HeaderMode, LineModeContentMode
frameTypeRahmenformat. Werte: OneByOne, TwoByOne, TwoThirds, Auto, TwoByHalf, OneByHalf, StretchOneByOne
visibleKomponente sichtbartrue
footerFußzeile–
footerColorIndikationsfarbe für den Footer. Werte: Neutral, Good, Critical, Error, NoneNeutral
unitEinheit (z.B. €, %)–
spanS / spanM / spanL / spanXLBreite im Grid-Layout12
formatterValueWert nicht formatieren, sondern wie geliefert anzeigenfalse
iconSAP-Icon-URL (z.B. sap-icon://home)–
iconDescriptionBeschreibung des Icons–
indicatorTrendpfeil. Werte: Up, Down, NoneNone
nullifyValueLeeren Wert als 0 anzeigentrue
scaleSkalierungszusatz (z.B. k, %)–
truncateValueToWert auf diese Zeichenanzahl kürzen4
valueAktueller Wert–
valueColorFarbe des Werts. Werte: Neutral, Good, Critical, Error, NoneNeutral
visibleKomponente sichtbartrue

Events des GenericTileNumericContent:

EventAuslöser
onPressKlick / Tap

GenericTileImage ​

AttributBeschreibungDefault
controlIdEindeutige ID der Komponenteautomatisch generiert
widthBreite (CSS-Wert)–
headerHauptzeile (KPI-Titel)–
subheaderUnterzeile–
backgroundImageHintergrundbild-URL–
sizeBehaviorGrößenverhalten der Kachel. Werte: Responsive, SmallResponsive
modeDarstellungsmodus. Werte: ContentMode, HeaderMode, LineModeContentMode
frameTypeRahmenformat. Werte: OneByOne, TwoByOne, TwoThirds, Auto, TwoByHalf, OneByHalf, StretchOneByOne
visibleKomponente sichtbartrue
footerFußzeile–
footerColorIndikationsfarbe für den Footer. Werte: Neutral, Good, Critical, Error, NoneNeutral
unitEinheit (z.B. €, %)–
spanS / spanM / spanL / spanXLBreite im Grid-Layout12
srcBild-URL–

Events des GenericTileImage:

EventAuslöser
onPressKlick / Tap

GenericTileFeedContent ​

AttributBeschreibungDefault
controlIdEindeutige ID der Komponenteautomatisch generiert
widthBreite (CSS-Wert)–
headerHauptzeile (KPI-Titel)–
subheaderUnterzeile–
backgroundImageHintergrundbild-URL–
sizeBehaviorGrößenverhalten der Kachel. Werte: Responsive, SmallResponsive
modeDarstellungsmodus. Werte: ContentMode, HeaderMode, LineModeContentMode
frameTypeRahmenformat. Werte: OneByOne, TwoByOne, TwoThirds, Auto, TwoByHalf, OneByHalf, StretchOneByOne
visibleKomponente sichtbartrue
footerFußzeile–
footerColorIndikationsfarbe für den Footer. Werte: Neutral, Good, Critical, Error, NoneNeutral
unitEinheit (z.B. €, %)–
spanS / spanM / spanL / spanXLBreite im Grid-Layout12
contentTextInhaltstext–
subContentTextUnterzeile des Inhalts–
truncateValueToWert auf diese Zeichenanzahl kürzen4
valueAktueller Wert–
valueColorFarbe des Werts. Werte: Neutral, Good, Critical, Error, NoneNeutral

Events des GenericTileFeedContent:

EventAuslöser
onPressKlick / Tap

ABAP-API ​

Zugriff über me->get_tile( '<controlId>' ).

MethodeZweck
GET_HEADER / SET_HEADERHauptzeile
GET_SUBHEADER / SET_SUBHEADERUnterzeile
GET_FOOTER / SET_FOOTERFußzeile
SET_FOOTERCOLORIndikationsfarbe
GET_UNIT / SET_UNITEinheit
SET_FRAMETYPERahmenformat
GET_BACKGROUND / SET_BACKGROUNDHintergrundbild-URL
GET_FOOTERCOLORIndikationsfarbe des Footers
GET_FRAMETYPERahmenformat
GET_MODE / SET_MODEAuswahlmodus bzw. Darstellungsmodus
GET_SIZEBEHAVIOR / SET_SIZEBEHAVIORGrößenverhalten
GET_WIDTH / SET_WIDTHBreite

Konstruktor für dynamische Tiles: /mobbuild/cl_tile=>create( ).

Die set_*-Methoden der Basis-Attribute geben die Basisreferenz (cl_tile_base) zurück und lassen sich untereinander verketten (Fluent-API).

Geerbte Methoden: siehe Control.

Tile-Varianten mit Inhalt ​

GenericTile ist die schlichte Kachel. Für eine Kachel mit typisiertem Inhalt gibt es drei Varianten — je ein eigener Getter und eine eigene Klasse, alle mit denselben Basis-Attributen (Header, Footer, …):

VarianteGetterKlasseZusätzliche Methoden
Kennzahlme->get_tile_numeric( '…' )cl_tile_numericset_value, set_value_color, set_indicator, set_scale, set_icon, …
Bildme->get_tile_image( '…' )cl_tile_imageset_src, set_description
Feed/Textme->get_tile_feed( '…' )cl_tile_feedset_content_text, set_sub_content_text, set_value, set_value_color

Basis- und Varianten-Setter lassen sich nicht in einer Kette mischen (die Basis-Setter geben cl_tile_base zurück) — je Ebene ein Aufruf:

abap
DATA(lo_tile) = me->get_tile_numeric( 'tileNumeric1' ).
lo_tile->set_header( 'Umsatz' )->set_subheader( 'Q3' ).          " Basis
lo_tile->set_value( '1847' )->set_value_color( 'Good' )->set_indicator( 'Up' ).  " Variante

Beispiel: /mobbuild/cl_ex_tile (Auszug) ​

Das Beispiel erzeugt bei jedem Klick auf btnAdd eine neue Tile mit zufälliger Footer-Farbe und hängt sie in eine DynamicFlexBox. Über btnClear werden alle Tiles wieder entfernt.

abap
METHOD on_pai.

  DATA(lv_event_key) = me->get_event( )->get_event_key( ).

  IF lv_event_key EQ 'Add'.

    DATA(lo_container) = me->get_dynamic_flex_box( 'dynamicFlexBox' ).

    DATA(lv_index)       = lines( lo_container->get_items( ) ).
    DATA(lv_control_id)  = |tileDynamic{ lv_index }|.
    DATA(lv_header)      = |Tile { lv_index }|.
    DATA(lv_subheader)   = |Subtext { lv_index }|.
    DATA(lv_footer)      = |Footer { lv_index }|.
    DATA(lv_unit)        = |€|.

    DATA lt_colors TYPE STANDARD TABLE OF string WITH DEFAULT KEY.
    lt_colors = VALUE #(
      ( |Neutral| ) ( |Good| ) ( |Error| )
      ( |Critical| ) ( |None| ) ).

    DATA(lv_color_index) = cl_abap_random_int=>create(
      seed = CONV i( sy-uzeit ) min = 1 max = 5 )->get_next( ).

    READ TABLE lt_colors INDEX lv_color_index INTO DATA(lv_color).

    DATA(lo_tile) = /mobbuild/cl_tile=>create( ).

    lo_tile->set_control_id( lv_control_id ).
    lo_tile->set_header( lv_header
      )->set_subheader( lv_subheader
      )->set_footer( lv_footer
      )->set_footercolor( lv_color
      )->set_unit( lv_unit
      )->set_frametype( 'OneByOne' ).

    " Event-Key auf den Komponenten-Namen setzen
    lo_tile->set_property_value(
      iv_key   = 'onPress'
      iv_value = lv_control_id ).

    lo_container->add_item( lo_tile ).

  ELSEIF lv_event_key EQ 'Clear'.

    me->get_dynamic_flex_box( 'dynamicFlexBox' )->remove_items( ).

  ENDIF.

ENDMETHOD.

Footer-Farben

Die Footer-Farbe folgt der Fiori-Indikationspalette: Neutral (grau), Good (grün), Critical (orange), Error (rot).

Events im Designer ​

EventAuslöser
onPressKlick auf die Kachel

Nächste Schritte ​

  • DynamicFlexBox – Container für dynamisch erzeugte Tiles
  • Button – einfache Aktion ohne KPI-Charakter