abap2UI5

Shell Bar with Split App

Example of Shell Bar in combination with Split App.

Z2UI5_CL_SMPC_APP_585

Controls sap.f UI5 1.121

The facts

Repository
abap2UI5/samples-controls
Class
Z2UI5_CL_SMPC_APP_585
Source file
z2ui5_cl_smpc_app_585.clas.abap
Library
sap.f
UI5 entity
sap.f.ShellBar
Demo kit sample
sap.f.sample.ShellBarWithSplitApp
SAP's own sample
running at sdk.openui5.org ↗
Minimum UI5
1.121
In the playground
runs in the browser, with no system and nothing installed

Keywords: shellbar, shell, bar, sap.f, shellbarwithsplitapp, toolpage, menu, menuitem, avatar, searchmanager, sidenavigation, navcontainer

Controls it builds

Read out of the builder chain by the abap2UI5 linter, not from the category this sample is filed under — which is what makes “which samples build one of these” a question the catalogue can answer at all.

Libraries

Run it here

The sample running, in this page — the app on its own, with no editor over it. Switch to Playground with this code

Nothing is installed and nothing is sent anywhere: the ABAP is compiled to JavaScript in this browser and runs against abap2UI5 itself.

The ABAP

z2ui5_cl_smpc_app_585.clas.abap — 375 lines Read it on GitHub ↗
" @keywords shellbar shell bar sap.f shellbarwithsplitapp toolpage menu menuitem avatar searchmanager sidenavigation navcontainer
" @summary Example of Shell Bar in combination with Split App.
CLASS z2ui5_cl_smpc_app_585 DEFINITION PUBLIC.

  PUBLIC SECTION.
    INTERFACES z2ui5_if_app.

    " the navigation model: one row per NavigationListItem, its children in a
    " nested table, exactly as model.json nests them
    TYPES: BEGIN OF ty_s_child,
             title   TYPE string,
             key     TYPE string,
             enabled TYPE abap_bool,
           END OF ty_s_child.
    TYPES ty_t_child TYPE STANDARD TABLE OF ty_s_child WITH EMPTY KEY.
    TYPES: BEGIN OF ty_s_nav,
             title    TYPE string,
             icon     TYPE string,
             key      TYPE string,
             enabled  TYPE abap_bool,
             expanded TYPE abap_bool,
             t_items  TYPE ty_t_child,
           END OF ty_s_nav.
    TYPES ty_t_nav TYPE STANDARD TABLE OF ty_s_nav WITH EMPTY KEY.

    DATA t_navigation       TYPE ty_t_nav.
    DATA t_fixed_navigation TYPE ty_t_nav.
    DATA selected_key       TYPE string VALUE `page2`.
    DATA side_expanded      TYPE abap_bool VALUE abap_true.
    DATA page2_text         TYPE string.

  PROTECTED SECTION.
    DATA client TYPE REF TO z2ui5_if_client.

    METHODS view_display.
    METHODS on_event.
    METHODS nav_list IMPORTING node  TYPE REF TO z2ui5_cl_ui5_view_builder
                               items TYPE string.
    METHODS model_init.

  PRIVATE SECTION.
ENDCLASS.


CLASS z2ui5_cl_smpc_app_585 IMPLEMENTATION.

  METHOD z2ui5_if_app~main.

    me->client = client.
    IF client->check_on_init( ).
      model_init( ).
      view_display( ).
    ELSEIF client->check_on_navigated( ).
      view_display( ).
    ELSEIF client->check_on_event( ).
      on_event( ).
    ENDIF.

  ENDMETHOD.


  METHOD view_display.

    DATA(view) = z2ui5_cl_ui5_view_builder=>factory( ).

    DATA(tool_page) = view->ele( n = `View` ns = `mvc`
        )->a( n = `height`     v = `100%`
        )->a( n = `xmlns`      v = `sap.m`
        )->a( n = `xmlns:f`    v = `sap.f`
        )->a( n = `xmlns:core` v = `sap.ui.core`
        )->a( n = `xmlns:mvc`  v = `sap.ui.core.mvc`
        )->a( n = `xmlns:tnt`  v = `sap.tnt`

        )->ele( n = `ToolPage` ns = `tnt`
            )->a( n = `id`           v = `toolPage`
            " onMenuButtonPress toggles sideExpanded; the property is bindable
            )->a( n = `sideExpanded` v = client->_bind( side_expanded ) ).

    tool_page->ele( n = `header` ns = `tnt`
        )->ele( n = `ShellBar` ns = `f`
            )->a( n = `title`               v = `Application Title`
            )->a( n = `secondTitle`         v = `Short description`
            )->a( n = `showMenuButton`      v = `true`
            )->a( n = `homeIcon`            v = `https://sdk.openui5.org/resources/sap/ui/documentation/sdk/images/logo_sap.png`
            )->a( n = `showCopilot`         v = `true`
            )->a( n = `showNotifications`   v = `true`
            )->a( n = `notificationsNumber` v = `2`
            )->a( n = `menuButtonPressed`   v = client->_event( `MENU_BUTTON` )

            )->ele( n = `menu` ns = `f`
                )->ele( `Menu`
                    )->tag( `MenuItem`
                        )->a( n = `text` v = `Flight booking`
                        )->a( n = `icon` v = `sap-icon://flight`
                    )->tag( `MenuItem`
                        )->a( n = `text` v = `Car rental`
                        )->a( n = `icon` v = `sap-icon://car-rental`

                )->end(
            )->end(
            )->ele( n = `profile` ns = `f`
                )->tag( `Avatar`
                    )->a( n = `initials` v = `UI`

            )->end(
            )->ele( n = `searchManager` ns = `f`
                )->tag( n = `SearchManager` ns = `f`

            )->end(
        )->end(
    )->end( ).

    " SideNavigation.fragment.xml
    DATA(side) = tool_page->ele( n = `sideContent` ns = `tnt`
        )->ele( n = `SideNavigation` ns = `tnt`
            )->a( n = `expanded`    v = `true`
            )->a( n = `selectedKey` v = client->_bind( selected_key )
            )->a( n = `itemSelect`  v = client->_event( val = `ITEM_SELECT` arg = `${$parameters>/item}.getKey()` ) ).

    nav_list( node = side items = client->_bind( t_navigation ) ).

    DATA(fixed) = side->ele( n = `fixedItem` ns = `tnt` ).

    nav_list( node = fixed items = client->_bind( t_fixed_navigation ) ).

    DATA(pages) = tool_page->ele( n = `mainContents` ns = `tnt`
        )->ele( `NavContainer`
            )->a( n = `id`          v = `pageContainer`
            )->a( n = `initialPage` v = `page2`

            )->ele( `pages` ).

    pages->ele( `ScrollContainer`
        )->a( n = `id`         v = `root1`
        )->a( n = `horizontal` v = `false`
        )->a( n = `vertical`   v = `true`
        )->a( n = `height`     v = `100%`

        )->tag( `Text`
            )->a( n = `text` v = `This is the root page`

    )->end(
        )->ele( `ScrollContainer`
            )->a( n = `id`         v = `page1`
            )->a( n = `horizontal` v = `false`
            )->a( n = `vertical`   v = `true`
            )->a( n = `height`     v = `100%`

            )->tag( `Text`
                )->a( n = `text` v = `This is the first page`

        )->end(
        )->ele( `ScrollContainer`
            )->a( n = `id`         v = `page2`
            )->a( n = `horizontal` v = `false`
            )->a( n = `vertical`   v = `true`
            )->a( n = `height`     v = `100%`

            )->tag( `Text`
                )->a( n = `text` v = client->_bind( page2_text )

        )->end(
        )->ele( `ScrollContainer`
            )->a( n = `id`         v = `root2`
            )->a( n = `horizontal` v = `false`
            )->a( n = `vertical`   v = `true`
            )->a( n = `height`     v = `100%`

            )->tag( `Text`
                )->a( n = `text` v = `This is the root page of the second element`

        )->end( ).

    client->view_display( view->stringify( ) ).

    " The NavContainer's position is live control state: view_display( )
    " destroys the MAIN slot and XMLView.create builds a fresh tree, so
    " pageContainer comes back on its initialPage="page2" - while selected_key
    " is bound class state that survives, and the SideNavigation then
    " highlights root2 over a page2 the user never navigated back to.
    " Re-issuing the SAME key the ITEM_SELECT branch last sent is the app-000
    " idiom. Guarded twice: an untouched key (nothing selected yet) and the key
    " the initialPage already shows both need no action at all
    IF selected_key IS NOT INITIAL AND selected_key <> `page2`.
      client->follow_up_action( val   = client->cs_event-control_by_id
                                t_arg = VALUE #( ( `pageContainer` ) ( `to` ) ( selected_key ) ) ).
    ENDIF.

  ENDMETHOD.


  METHOD nav_list.

    " NavigationList.fragment.xml - one template, used for both lists
    node->ele( n = `NavigationList` ns = `tnt`
        )->a( n = `items` v = items

        )->ele( n = `NavigationListItem` ns = `tnt`
            )->a( n = `text`     v = `{TITLE}`
            )->a( n = `icon`     v = `{ICON}`
            )->a( n = `enabled`  v = `{ENABLED}`
            )->a( n = `expanded` v = `{EXPANDED}`
            )->a( n = `key`      v = `{KEY}`
            )->a( n = `items`    v = `{T_ITEMS}`

            )->tag( n = `NavigationListItem` ns = `tnt`
                )->a( n = `text`    v = `{TITLE}`
                )->a( n = `key`     v = `{KEY}`
                )->a( n = `enabled` v = `{ENABLED}`

        )->end(
    )->end( ).

  ENDMETHOD.


  METHOD on_event.

    CASE client->get_event( ).

      WHEN `MENU_BUTTON`.
        " onMenuButtonPress: toolPage.setSideExpanded( !sideExpanded )
        side_expanded = xsdbool( side_expanded = abap_false ).

      WHEN `ITEM_SELECT`.
        " onItemSelect: pageContainer.to( the item's key )
        DATA(key) = client->get_event_arg( ).
        IF key IS NOT INITIAL.
          selected_key = key.
          client->follow_up_action( val   = client->cs_event-control_by_id
                                    t_arg = VALUE #( ( `pageContainer` ) ( `to` ) ( key ) ) ).
        ENDIF.

    ENDCASE.

  ENDMETHOD.


  METHOD model_init.

    " model.json - the four navigation roots with their children, and the three
    " fixed items. The fragment binds enabled on every item; the mock never sets
    " it, so it is seeded true - the NavigationListItem default
    t_navigation = VALUE #(
      ( title = `Root Item` icon = `sap-icon://employee` key = `root1` enabled = abap_true expanded = abap_true
        t_items = VALUE #( ( title = `Child Item 1` key = `page1` enabled = abap_true )
                           ( title = `Child Item 2` key = `page2` enabled = abap_true ) ) )
      ( title = `Root Item` icon = `sap-icon://building` key = `root2` enabled = abap_true expanded = abap_true )
      ( title = `Root Item` icon = `sap-icon://card` enabled = abap_true expanded = abap_false
        t_items = VALUE #( ( title = `Child Item` enabled = abap_true )
                           ( title = `Child Item` enabled = abap_true )
                           ( title = `Child Item` enabled = abap_true )
                           ( title = `Child Item` enabled = abap_true )
                           ( title = `Child Item` enabled = abap_true )
                           ( title = `Child Item` enabled = abap_true )
                           ( title = `Child Item` enabled = abap_true ) ) )
      ( title = `Root Item` icon = `sap-icon://action` enabled = abap_true expanded = abap_false
        t_items = VALUE #( ( title = `Child Item 1` enabled = abap_true )
                           ( title = `Child Item 2` enabled = abap_true )
                           ( title = `Child Item 3` enabled = abap_true ) ) ) ).

    t_fixed_navigation = VALUE #(
      ( title = `Fixed Item 1` icon = `sap-icon://employee` enabled = abap_true expanded = abap_true )
      ( title = `Fixed Item 2` icon = `sap-icon://building` enabled = abap_true expanded = abap_true )
      ( title = `Fixed Item 3` icon = `sap-icon://card`     enabled = abap_true expanded = abap_true ) ).

    " the second page's text, the sample's own lorem ipsum. An XML attribute
    " normalizes its line breaks and indentation to single spaces, which is what
    " the browser gets and what is stored here
    page2_text = `Lorem ipsum dolor sit amet, consectetur adipisicing elit. A accusantium architecto autem dicta dolor dolores dolorum earum enim error esse eum ex ` &&
                 `exercitationem explicabo facilis fugit ipsum maiores, necessitatibus nemo nihil numquam odio officiis optio possimus quas qui quod quos, reiciendis ` &&
                 `similique sunt tempore tenetur ut vitae voluptate. Ab accusantium, aperiam, asperiores dolores fuga id incidunt itaque numquam placeat quidem ` &&
                 `recusandae veritatis voluptatibus. Delectus, dicta ea harum hic illo necessitatibus nisi odit quidem quo quod. Architecto at delectus error eum ` &&
                 `laborum modi, necessitatibus optio perspiciatis quaerat quam, quas quo recusandae repellat sed totam, veritatis voluptas voluptatem voluptates. ` &&
                 `Accusamus aliquid, asperiores assumenda consequuntur corporis cum debitis delectus doloremque earum esse explicabo fugiat id inventore iste laborum ` &&
                 `modi molestiae neque nihil obcaecati officia omnis porro quae quasi repellat sed sunt suscipit unde vel veritatis voluptatem! Dolor dolorum quis ` &&
                 `ratione. Aliquam consectetur eius facilis placeat quibusdam sint tenetur. Ab aliquid at, fuga qui quia soluta veritatis. Amet, eius est ` &&
                 `exercitationem incidunt magnam necessitatibus porro provident quas tempore velit. Aperiam architecto commodi deleniti dicta eius facere nemo possimus ` &&
                 `sit voluptate voluptatem. Accusamus ad, alias architecto autem blanditiis culpa cumque ea enim ex hic iste laboriosam laborum laudantium magni, ` &&
                 `maxime minus necessitatibus quibusdam quisquam repudiandae sapiente ullam vel velit. Adipisci aliquid amet, architecto at atque blanditiis corporis ` &&
                 `cupiditate dolorem ea enim esse ex, illum iste libero, magnam minus molestiae optio porro quaerat sed tempore vero voluptates! A ad alias aspernatur ` &&
                 `cumque cupiditate dicta doloremque eos ipsam maxime, molestias necessitatibus, nisi nulla quasi, qui quod sed sequi ut veritatis. Culpa et laboriosam ` &&
                 `maiores nemo nisi odit officiis praesentium. Animi cumque dolore eaque enim eveniet, hic neque omnis quae quo temporibus. Assumenda at aut dicta ` &&
                 `ducimus eius facere, laudantium maiores minima molestiae quis, quod saepe sint veniam? Ab ad animi architecto aut dolorem, earum ex exercitationem ` &&
                 `facere illum ipsum nisi officiis ratione repudiandae suscipit voluptas. Animi commodi dolores eveniet facere id nesciunt non provident vero. A ` &&
                 `adipisci aliquam architecto aspernatur assumenda atqu autem blanditiis consequuntur debitis dolorem dolorum ducimus, ea earum eos explicabo fuga iste ` &&
                 `itaque iure iusto labore laudantium modi nobis pariatur porro quam repellat tempore unde ut voluptatem voluptatum? Doloribus ea eius excepturi ` &&
                 `explicabo iure molestias odit omnis pariatur qui rem, similique sunt veniam voluptatum. Adipisci aliquam amet aspernatur commodi, corporis cum dolor ` &&
                 `doloribus dolorum eos eum facere labore magni minus natus nostrum perspiciatis, reiciendis rerum sit soluta tempora tenetur unde vitae voluptatem. ` &&
                 `Accusantium architecto, dolor earum fuga iure laboriosam natus officiis quod quos, repellendus, soluta ut velit veritatis. Adipisci amet asperiores ` &&
                 `assumenda blanditiis consectetur consequatur delectus distinctio dolores doloribus eius fugiat harum illum incidunt ipsa iusto labore laboriosam ` &&
                 `libero maxime minus modi nam nesciunt nobis nulla obcaecati, odio omnis provident quasi qui quidem quod quos repellat sed unde! Ducimus, harum, odio? ` &&
                 `Accusantium asperiores atque cum cumque dicta distinctio, doloremque doloribus eaque earum enim eveniet expedita facere fugit impedit iure iusto ` &&
                 `labore libero maiores non odit pariatur possimus quas quibusdam suscipit tempora vel voluptas. Alias asperiores aspernatur aut culpa delectus ` &&
                 `deserunt dolor dolore eligendi enim ex facils fugiat id ipsam iste libero modi perferendis placeat quas quisquam quod repudiandae saepe sequi ` &&
                 `similique tenetur, ut, veniam veritatis vero. Adipisci animi aut consectetur cumque cupiditate dignissimos, dolorem, error excepturi iure laudantium ` &&
                 `nihil officia porro qui quod sit temporibus voluptate. Ad adipisci aliquam ducimus ea eius eligendi error ipsam maiores natus nemo nesciunt officiis, ` &&
                 `repellat, soluta? Animi aspernatur autem blanditiis, culpa dolore ducimus eaque eius et exercitationem impedit ipsum magnam modi nostrum odio ` &&
                 `recusandae rem sint suscipit temporibus veniam vitae. Assumenda dolore illo illum incidunt ipsam modi molestiae necessitatibus odit omnis quam ` &&
                 `repellendus repudiandae sapiente soluta tempore, temporibus ullam unde vero! Aliquam aperiam aspernatur assumenda autem corporis, dolore doloribus, ` &&
                 `enim eum, incidunt nemo recusandae repellat unde. Ad aliquid architecto assumenda at beatae, culpa, dolore eaque earum enim excepturi impedit quas ` &&
                 `rerum, ut. Alias beatae cupiditate eum expedita explicabo harum impedit ipsum labore magni minus mollitia nemo, optio praesentium quod ut. Debitis ` &&
                 `dolor doloremque ducimus eos eveniet facere itaque minima minus modi ullam? Ad adipisci architecto beatae cum deserunt dolorum eaque ipsam itaque ` &&
                 `mollitia officia officiis pariatur reiciendis saepe, sint suscipit vero voluptas voluptates? Accusamus cumque debitis deleniti ducimus eum fuga fugit ` &&
                 `impedit inventore labore laborum laudantium, modi mollitia, numquam quod repudiandae rerum suscipit totam veritatis voluptas voluptatum? A et harum ` &&
                 `id impedit in, quasi quos saepe! Delectus deserunt eaque eligendi facere fugiat, harum id incidunt ipsum laborum magnam maiores maxime minus mollitia ` &&
                 `neque nihil nisi obcaecati officia provident qui rem, sequi, soluta tempore unde veniam veritatis vitae voluptate. Animi cum explicabo id molestias ` &&
                 `optio suscipit unde! Adipisci aperiam corporis cupiditate eligendi eveniet ex, in ipsum laboriosam maiores maxime modi nostrum perferendis ` &&
                 `perspiciatis porro quae recusandae repellat similique sit unde voluptatibus? Accusamus adipisci alias at autem consectetur dolor eaque facere illo, ` &&
                 `incidunt iste, itaque, iusto magnam maxime minima natus necessitatibus nesciunt nobis quam quasi quia rem repellat rerum temporibus ullam vel veniam ` &&
                 `voluptate? Animi, aperiam ea error eveniet inventore iure minima modi, nam obcaecati odit quam voluptatum! Accusantium, adipisci distinctio ducimus ` &&
                 `id laudantium minus rerum. Aliquam, itaque perferendis? Alias aperiam aut consequatur iste minus mollitia quasi suscipit! Asperiores aut blanditiis ` &&
                 `consequuntur dolor dolorem, doloremque dolores facere fuga, impedit itaque minus modi nostrum numquam odio perspiciatis quae qui quibusdam quisquam ` &&
                 `quod recusandae sapiente sint sit sunt tempora tenetur totam ut voluptas. Ab alias, at hic ipsa neque officia quisquam sequi sit sunt vitae voluptas, ` &&
                 `voluptatum. Amet delectus error explicabo non nulla, odio quae quas quos sint veniam. Ad aut cupiditate distinctio earum, expedita inventore quae ` &&
                 `quas repellat. Delectus, dicta esse est molestias perferendis sunt veniam. A, accusamus alias aliquam consectetur consequatur delectus dolore eaque ` &&
                 `exercitationem in incidunt laudantium nobis, quisquam recusandae rem repudiandae velit, vitae voluptates? Aliquam, aliquid corporis cum dolor, eius ` &&
                 `est eveniet excepturi impedit iusto laborum minus necessitatibus nisi nostrum officiis quidem rem repellat reprehenderit sit temporibus ullam unde ` &&
                 `veritatis vero voluptas voluptatibus voluptatum. Accusamus asperiores consectetur cumque iste magnam magni mollitia, nam porro quasi qui suscipit, ` &&
                 `voluptates voluptatum. Amet aspernatur, culpa cum debitis id itaque libero magni minus molestiae quae quas, quasi reprehenderit sit ut velit? Atque ` &&
                 `blanditiis dolorem et maxime nulla numquam obcaecati perspiciatis quam quisquam ratione reprehenderit sunt totam vel, voluptas voluptates? ` &&
                 `Accusantium adipisci aliquid assumenda ducimus eos error est exercitationem, ipsum iusto laudantium nisi porro quia, quos saepe sequi sint, vel ` &&
                 `voluptatum! Autem commodi consequuntur culpa dolore et fugit molestiae, nulla pariatur quae, quia rerum tempore vel. Aperiam, dicta doloribus ex nemo ` &&
                 `non quidem recusandae suscipit velit. Adipisci alias amet atque consequatur distinctio dolores dolorum iste itaque iure laborum magni minima ` &&
                 `molestiae nam nisi officia quibusdam, quis similique sint temporibus vitae? Cumque debitis dolore eligendi enim magnam natus quasi quos repudiandae? ` &&
                 `Ab architecto at atque corporis deleniti dignissimos ea eaque eius eligendi et ex fugiat, incidunt laborum natus necessitatibus obcaecati optio ` &&
                 `placeat porro quam quas quibusdam quis quod repellat saepe sapiente tempore ut velit. A accusamus assumenda at autem, beatae commodi deleniti ` &&
                 `doloremque ea fuga fugiat fugit inventore ipsum laborum libero maxime minima molestiae nobis obcaecati omnis optio porro quae, qui ratione ` &&
                 `repudiandae sapiente sed voluptas! Amet animi, consectetur consequuntur corporis eos error explicabo facere fugit impedit iste laudantium maiores ` &&
                 `perspiciatis possimus similique soluta. Ab accusamus alias aliquam amet atque cupiditate dignissimos distinctio ea earum et facilis iusto ` &&
                 `perspiciatis quibusdam quidem quod ratione, sapiente vitae? Assumenda culpa excepturi, facilis fugiat fugit hic, illum inventore libero nulla odit ` &&
                 `omnis perspiciatis quae quasi, ratione voluptatum! Aspernatur assumenda consectetur dolor dolorem doloribus eum, exercitationem, expedita facilis ` &&
                 `fugiat hic illo, iusto neque nulla omnis quas quidem quo vitae! Accusamus aspernatur autem dignissimos dolor, ex maxime necessitatibus nisi qui ` &&
                 `soluta? Ab adipisci consequuntur cupiditate deleniti dolore earum enim eos est facilis fuga fugiat hic illo impedit in ipsa ipsam iure iusto magnam ` &&
                 `modi nam nemo nobis nostrum odit officia optio quaerat quasi quibusdam, quo recusandae sed, sequi sit tempore tenetur velit veritatis voluptate ` &&
                 `voluptatibus! Aspernatur assumenda, dolore doloremque facere iure laudantium maxime minus obcaecati perspiciatis porro quaerat quos reiciendis ` &&
                 `repellendus sint voluptate voluptatem voluptatibus. Architecto, commodi consectetur consequatur cumque dolorem doloribus ducimus eligendi fugiat in ` &&
                 `inventore itaque iure laborum libero magnam minima minus nam nobis non nulla numquam odio pariatur quis sapiente sint vel. Accusantium ad aliquam ` &&
                 `autem distinctio dolores error est fugit harum nulla, odit officia pariatur quis ratione rem sunt, temporibus tenetur voluptas voluptate. Eveniet ` &&
                 `nesciunt quo rem! In molestias, vitae! Assumenda cum cupiditate dolores eveniet sunt! Adipisci eos mollitia non. Accusamus eaque ex illo, mollitia ` &&
                 `provident quos voluptatibus! Aliquid architecto esse est eum iusto nemo nobis odit rerum. Aliquam asperiores cumque dignissimos ea eos ipsa libero ` &&
                 `nisi sapiente sunt unde? Esse excepturi harum itaque perferendis quas, quis temporibus. Architecto commodi, debitis dignissimos dolorum eaque ` &&
                 `exercitationem fuga impedit in ipsam iusto magni maxime mollitia nam nostrum numquam odio perspiciatis quasi quia quidem, sunt suscipit totam vitae ` &&
                 `voluptate. Aspernatur assumenda beatae consectetur deserunt dolore eligendi est excepturi exercitationem facilis illo ipsum iusto laboriosam ` &&
                 `molestiae nam neque nobis obcaecati officiis provident quasi quibusdam quisquam ratione reiciendis rem repellendus repudiandae rerum sapiente ` &&
                 `tempora, velit vitae voluptatem! A amet atque aut consequuntur deserunt, dolores dolorum ducimus excepturi facere fugiat harum in itaque libero, ` &&
                 `magni minima minus modi necessitatibus officia praesentium quae quasi quo recusandae reiciendis rerum sint tempore totam voluptatum! Dolores earum ` &&
                 `eos error esse mollitia nam nobis quas voluptates. A id nisi quo reprehenderit similique? Ad, aperiam, architecto autem beatae cumque ex fugiat illum ` &&
                 `ipsa itaque libero magni, minus molestias mollitia nostrum officiis omnis saepe tenetur vel velit veniam! A accusantium assumenda consectetur ` &&
                 `consequuntur debitis deleniti deserunt, ducimus ea eaque eligendi est hic illum in incidunt iusto magni minima minus molestias nam, necessitatibus, ` &&
                 `nisi nobis numquam odio odit porro quaerat quibusdam quidem quos ratione repellat repellendus tenetur voluptate voluptatibus. Adipisci dignissimos ` &&
                 `molestiae possimus praesentium quo sed sint. Nobis quasi unde ut. Distinctio doloremque, molestias. Accusantium aliquid asperiores consectetur ` &&
                 `debitis dolorem dolores eaque error illo in inventore itaque iusto labore minima molestiae non numquam, perspiciatis quae qui, reiciendis repudiandae ` &&
                 `sed tenetur totam, veniam? Aliquid animi architecto consequatur deserunt distinctio maxime quas repellendus? At culpa dolores error exercitationem ` &&
                 `perspiciatis quo repellat rerum voluptatum. Esse, quas, similique. Aliquid aut deleniti dicta eligendi fugit hic in, inventore omnis perspiciatis ` &&
                 `quaerat quam voluptates, voluptatum? Aliquid est iusto ut vel! Debitis distinctio dolorum est hic, ipsa mollitia numquam quae recusandae totam vel! ` &&
                 `Ab aliquid animi blanditiis distinctio, eaque facere harum id officiis placeat quis reiciendis, sapiente tenetur voluptas. Animi atque aut id ` &&
                 `perspiciatis qui quis? Hic ipsa omnis quod sunt voluptatibus? Ducimus nulla placeat quibusdam? Accusantium aliquam beatae consequuntur dolorem enim ` &&
                 `expedita ipsum iure maxime minima minus nulla numquam, officia omnis pariatur perferendis possimus qui, sit soluta. Aspernatur beatae doloremque ` &&
                 `exercitationem facilis fugit nesciunt pariatur placeat provident quidem tempore. In laboriosam qui ullam ut. Accusantium consequatur debitis impedit ` &&
                 `molestiae officiis pariatur repudiandae velit voluptate? Assumenda autem, delectus fugiat inventore quos reprehenderit voluptate voluptatem. Commodi, ` &&
                 `eligendi eum inventore officiis qui saepe sit! Accusantium aliquam aperiam aut cum ea eius eveniet ex fugit hic iure minima modi qui quis repellat ` &&
                 `sequi, ullam voluptas, voluptate. Alias amet consequatur corporis dolor ducimus enim eos error eum excepturi exercitationem expedita harum id iure ` &&
                 `maxime molestiae necessitatibus nemo nesciunt nulla numquam odit officiis perspiciatis quam quas qui quo quod ratione recusandae reiciendis, saepe ` &&
                 `sed unde ut velit voluptatem! Architecto culpa cum dolore eveniet fuga libero nemo nihil porro qui, recusandae reprehenderit, tempora unde voluptas? ` &&
                 `Ab aspernatur consequuntur, dolore doloremque esse illum labore magnam, magni nisi nulla quae quia quos rerum tenetur totam ut voluptatem voluptates? ` &&
                 `A, aliquid aperiam corporis debitis dolorem et ex exercitationem ipsum molestiae nesciunt numquam quas, ullam voluptates. Distinctio, dolores dolorum ` &&
                 `ex fuga fugit quam reiciendis rem. Aliquam aliquid amet consequatur eos expedita facere hic itaque labore laboriosam, nobis omnis pariatur ` &&
                 `repudiandae, temporibus tenetur unde, veniam veritatis. Accusamus accusantium alias animi aperiam atque cum debitis dignissimos dolorem, dolorum ` &&
                 `eligendi ex explicabo facere inventore ipsum molestiae natus nemo odio optio provident, quam quas quibusdam recusandae repellat saepe tempora vel ` &&
                 `voluptate. Aliquam atque cum, dolor dolores ea expedita id in ipsa labore maiores nemo nobis pariatur perferendis perspiciatis sed. Expedita, unde?`.

  ENDMETHOD.

ENDCLASS.

More in sap.f

Search every abap2UI5 sample · the full list on one page

On this page