abap2UI5

Table - IColumnHeaderMenu

This example demonstrates an implementation of the IColumnHeaderMenu interface with the sap.m.Menu as a breakout scenario.

Z2UI5_CL_SMPC_APP_571

Controls sap.m UI5 1.110

The facts

Repository
abap2UI5/samples-controls
Class
Z2UI5_CL_SMPC_APP_571
Source file
z2ui5_cl_smpc_app_571.clas.abap
Library
sap.m
UI5 entity
sap.m.Table
Demo kit sample
sap.m.sample.TableIColumnHeaderMenu
SAP's own sample
running at sdk.openui5.org ↗
Minimum UI5
1.110
In the playground
runs in the browser, with no system and nothing installed

Keywords: table, sap.m, tableicolumnheadermenu, menu, quicksort, quicksortitem, actionitem, quickaction, button, overflowtoolbar, title, column

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_571.clas.abap — 709 lines Read it on GitHub ↗
" @keywords table sap.m tableicolumnheadermenu menu quicksort quicksortitem actionitem quickaction button overflowtoolbar title column
" @summary This example demonstrates an implementation of the IColumnHeaderMenu interface with the sap.m.Menu as a breakout scenario.
CLASS z2ui5_cl_smpc_app_571 DEFINITION PUBLIC.

  PUBLIC SECTION.
    INTERFACES z2ui5_if_app.

    TYPES: BEGIN OF ty_s_product,
             productid     TYPE string,
             name          TYPE string,
             suppliername  TYPE string,
             width         TYPE string,
             depth         TYPE string,
             height        TYPE string,
             dimunit       TYPE string,
             weightmeasure TYPE string,
             weightunit    TYPE string,
             price         TYPE p LENGTH 9 DECIMALS 2,
             currencycode  TYPE string,
           END OF ty_s_product.
    TYPES ty_t_product TYPE STANDARD TABLE OF ty_s_product WITH EMPTY KEY.

    DATA t_products TYPE ty_t_product.

    " what the three setters of the sample keep: the two sort indicators, the
    " Dimensions column's alignment and the grouping toggle
    DATA product_indicator TYPE string VALUE `None`.
    DATA price_indicator   TYPE string VALUE `None`.
    DATA dimensions_align  TYPE string VALUE `End`.
    DATA grouped           TYPE abap_bool.

  PROTECTED SECTION.
    DATA client TYPE REF TO z2ui5_if_client.

    METHODS view_display.
    METHODS on_event.
    METHODS table_sort IMPORTING field      TYPE string
                                 descending TYPE abap_bool.
    METHODS model_init.

  PRIVATE SECTION.
ENDCLASS.


CLASS z2ui5_cl_smpc_app_571 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(root) = view->ele( n = `View` ns = `mvc`
        )->a( n = `xmlns`     v = `sap.m`
        )->a( n = `xmlns:mvc` v = `sap.ui.core.mvc`
        )->a( n = `xmlns:tcm` v = `sap.m.table.columnmenu` ).

    " the four header menus the controller builds. The Product column gets the
    " built-in column menu with a QuickSort; the other three get one too, with
    " the ActionItems that stand in for the sample's own MenuBase adapter
    root->ele( n = `dependents` ns = `mvc`

        )->ele( n = `Menu` ns = `tcm`
            )->a( n = `id` v = `productMenu`

            )->ele( n = `QuickSort` ns = `tcm`
                )->a( n = `change` v = client->_event( val = `SORT_PRODUCT` arg = `${$parameters>/item}.getSortOrder()` )

                )->ele( n = `items` ns = `tcm`
                    )->tag( n = `QuickSortItem` ns = `tcm`
                        )->a( n = `key`   v = `Product`
                        )->a( n = `label` v = `Product`

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

        )->ele( n = `Menu` ns = `tcm`
            )->a( n = `id` v = `supplierMenu`

            )->ele( n = `items` ns = `tcm`
                )->tag( n = `ActionItem` ns = `tcm`
                    )->a( n = `icon`  v = `sap-icon://group-2`
                    )->a( n = `label` v = `Toggle Grouping`
                    )->a( n = `press` v = client->_event( `TOGGLE_GROUPING` )

            )->end(
        )->end(

        )->ele( n = `Menu` ns = `tcm`
            )->a( n = `id` v = `priceMenu`

            " the two sort entries live in a QuickAction: the column menu's items
            " aggregation is metadata-single here, and a quick action is what the
            " built-in menu offers for exactly this (see sidecar)
            )->ele( n = `quickActions` ns = `tcm`
                )->ele( n = `QuickAction` ns = `tcm`
                    )->a( n = `label` v = `Sort`

                    )->ele( n = `content` ns = `tcm`
                        )->tag( `Button`
                            )->a( n = `icon`  v = `sap-icon://sort-ascending`
                            )->a( n = `text`  v = `Sort Ascending`
                            )->a( n = `press` v = client->_event( `SORT_PRICE_ASC` )
                        )->tag( `Button`
                            )->a( n = `icon`  v = `sap-icon://sort-descending`
                            )->a( n = `text`  v = `Sort Descending`
                            )->a( n = `press` v = client->_event( `SORT_PRICE_DESC` )

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

        )->ele( n = `Menu` ns = `tcm`
            )->a( n = `id` v = `dimensionsMenu`

            )->ele( n = `quickActions` ns = `tcm`
                )->ele( n = `QuickAction` ns = `tcm`
                    )->a( n = `label` v = `Align`

                    )->ele( n = `content` ns = `tcm`
                        )->tag( `Button`
                            )->a( n = `icon`  v = `sap-icon://text-align-left`
                            )->a( n = `text`  v = `Align Left`
                            )->a( n = `press` v = client->_event( val = `ALIGN` arg = `Left` )
                        )->tag( `Button`
                            )->a( n = `icon`  v = `sap-icon://text-align-center`
                            )->a( n = `text`  v = `Align Middle`
                            )->a( n = `press` v = client->_event( val = `ALIGN` arg = `Center` )
                        )->tag( `Button`
                            )->a( n = `icon`  v = `sap-icon://text-align-right`
                            )->a( n = `text`  v = `Align Right`
                            )->a( n = `press` v = client->_event( val = `ALIGN` arg = `Right` )

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

    " Toggle Grouping switches the items binding between a plain one and one that
    " groups on SupplierName - the declarative form of oBinding.sort( grouper )
    DATA(items) = COND string( WHEN grouped = abap_true
                               THEN |\{ path: '{ client->_bind_path( t_products ) }', sorter: \{ path: 'SUPPLIERNAME', group: true \} \}|
                               ELSE client->_bind( t_products ) ).

    root->ele( `Table`
        )->a( n = `id`    v = `productsTable`
        )->a( n = `inset` v = `false`
        )->a( n = `items` v = items

        )->ele( `headerToolbar`
            )->ele( `OverflowToolbar`
                )->tag( `Title`
                    )->a( n = `text`  v = `Products`
                    )->a( n = `level` v = `H2`

            )->end(
        )->end(
        )->ele( `columns`
            )->ele( `Column`
                )->a( n = `id`            v = `product`
                )->a( n = `width`         v = `12em`
                )->a( n = `headerMenu`    v = `productMenu`
                )->a( n = `sortIndicator` v = client->_bind( product_indicator )

                )->tag( `Text`
                    )->a( n = `text` v = `Product`

            )->end(
            )->ele( `Column`
                )->a( n = `minScreenWidth` v = `Tablet`
                )->a( n = `demandPopin`    v = `true`
                )->a( n = `headerMenu`     v = `supplierMenu`

                )->tag( `Text`
                    )->a( n = `text` v = `Supplier`

            )->end(
            )->ele( `Column`
                )->a( n = `minScreenWidth` v = `Tablet`
                )->a( n = `demandPopin`    v = `true`
                )->a( n = `hAlign`         v = client->_bind( dimensions_align )
                )->a( n = `headerMenu`     v = `dimensionsMenu`

                )->tag( `Text`
                    )->a( n = `text` v = `Dimensions`

            )->end(
            )->ele( `Column`
                )->a( n = `minScreenWidth` v = `Tablet`
                )->a( n = `demandPopin`    v = `true`
                )->a( n = `hAlign`         v = `Center`

                )->tag( `Text`
                    )->a( n = `text` v = `Weight`

            )->end(
            )->ele( `Column`
                )->a( n = `hAlign`        v = `End`
                )->a( n = `headerMenu`    v = `priceMenu`
                )->a( n = `sortIndicator` v = client->_bind( price_indicator )

                )->tag( `Text`
                    )->a( n = `text` v = `Price`

            )->end(
        )->end(
        )->ele( `items`
            )->ele( `ColumnListItem`
                )->a( n = `vAlign` v = `Middle`

                )->ele( `cells`
                    )->tag( `ObjectIdentifier`
                        )->a( n = `title` v = `{NAME}`
                        )->a( n = `text`  v = `{PRODUCTID}`
                    )->tag( `Text`
                        )->a( n = `text` v = `{SUPPLIERNAME}`
                    )->tag( `Text`
                        )->a( n = `text` v = `{WIDTH} x {DEPTH} x {HEIGHT} {DIMUNIT}`
                    )->tag( `ObjectNumber`
                        )->a( n = `number` v = `{WEIGHTMEASURE}`
                        )->a( n = `unit`   v = `{WEIGHTUNIT}`
                    )->tag( `ObjectNumber`
                        )->a( n = `number` v = |\{ parts:[\{path:'PRICE'\},\{path:'CURRENCYCODE'\}], type:'sap.ui.model.type.Currency', formatOptions:\{showMeasure:false\} \}|
                        )->a( n = `unit`   v = `{CURRENCYCODE}`

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

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

  ENDMETHOD.


  METHOD table_sort.

    " the sample sorts the items binding; a thin frontend sorts the data it sends.
    " The component is named STATICALLY per field rather than through SORT BY
    " (field): the dynamic form is a no-op in the transpiled backend, so the
    " table came back unsorted (**e2e-caught 2026-08-22**)
    CASE field.
      WHEN `PRICE`.
        IF descending = abap_true.
          SORT t_products BY price DESCENDING.
        ELSE.
          SORT t_products BY price ASCENDING.
        ENDIF.
      WHEN OTHERS.
        IF descending = abap_true.
          SORT t_products BY name AS TEXT DESCENDING.
        ELSE.
          SORT t_products BY name AS TEXT ASCENDING.
        ENDIF.
    ENDCASE.

  ENDMETHOD.


  METHOD on_event.

    CASE client->get_event( ).

      WHEN `SORT_PRODUCT`.
        " the QuickSort of the built-in column menu: Ascending, Descending or None
        DATA(order) = client->get_event_arg( ).
        price_indicator = `None`.
        IF order = `None`.
          product_indicator = `None`.
        ELSE.
          table_sort( field = `NAME` descending = xsdbool( order = `Descending` ) ).
          product_indicator = order.
          " the original passes a ONE-element sorter list to oBinding.sort( ),
          " which REPLACES the grouper - so sorting drops the grouping. Without
          " this the declared sorter comes back on the rebuilt binding and
          " JSONListBinding.update re-applies it as the primary key, leaving the
          " ABAP order as a mere tiebreak inside each supplier
          grouped = abap_false.
        ENDIF.
        view_display( ).

      WHEN `TOGGLE_GROUPING`.
        grouped = xsdbool( grouped = abap_false ).
        product_indicator = `None`.
        price_indicator = `None`.
        " ungrouping is oBinding.sort( [] ) upstream, which returns the table to
        " MODEL order - t_products would otherwise keep the last ABAP sort forever
        IF grouped = abap_false.
          model_init( ).
        ENDIF.
        view_display( ).

      WHEN `SORT_PRICE_ASC`.
        table_sort( field = `PRICE` descending = abap_false ).
        price_indicator = `Ascending`.
        product_indicator = `None`.
        " sort( [Sorter] ) replaces the grouper
        grouped = abap_false.
        view_display( ).

      WHEN `SORT_PRICE_DESC`.
        table_sort( field = `PRICE` descending = abap_true ).
        price_indicator = `Descending`.
        product_indicator = `None`.
        " sort( [Sorter] ) replaces the grouper
        grouped = abap_false.
        view_display( ).

      WHEN `ALIGN`.
        dimensions_align = client->get_event_arg( ).

    ENDCASE.

  ENDMETHOD.


  METHOD model_init.

    " the full mock /ProductCollection
    t_products = VALUE #(
      ( productid = `HT-1000` name = `Notebook Basic 15` suppliername = `Very Best Screens`
        width = `30` depth = `18` height = `3` dimunit = `cm`
        weightmeasure = `4.2` weightunit = `KG` price = `956` currencycode = `EUR` )
      ( productid = `HT-1001` name = `Notebook Basic 17` suppliername = `Very Best Screens`
        width = `29` depth = `17` height = `3.1` dimunit = `cm`
        weightmeasure = `4.5` weightunit = `KG` price = `1249` currencycode = `EUR` )
      ( productid = `HT-1002` name = `Notebook Basic 18` suppliername = `Very Best Screens`
        width = `28` depth = `19` height = `2.5` dimunit = `cm`
        weightmeasure = `4.2` weightunit = `KG` price = `1570` currencycode = `EUR` )
      ( productid = `HT-1003` name = `Notebook Basic 19` suppliername = `Smartcards`
        width = `32` depth = `21` height = `4` dimunit = `cm`
        weightmeasure = `4.2` weightunit = `KG` price = `1650` currencycode = `EUR` )
      ( productid = `HT-1007` name = `ITelO Vault` suppliername = `Technocom`
        width = `32` depth = `22` height = `3` dimunit = `cm`
        weightmeasure = `0.2` weightunit = `KG` price = `299` currencycode = `EUR` )
      ( productid = `HT-1010` name = `Notebook Professional 15` suppliername = `Very Best Screens`
        width = `33` depth = `20` height = `3` dimunit = `cm`
        weightmeasure = `4.3` weightunit = `KG` price = `1999` currencycode = `EUR` )
      ( productid = `HT-1011` name = `Notebook Professional 17` suppliername = `Very Best Screens`
        width = `33` depth = `23` height = `2` dimunit = `cm`
        weightmeasure = `4.1` weightunit = `KG` price = `2299` currencycode = `EUR` )
      ( productid = `HT-1020` name = `ITelO Vault Net` suppliername = `Technocom`
        width = `10` depth = `1.8` height = `17` dimunit = `cm`
        weightmeasure = `0.16` weightunit = `KG` price = `459` currencycode = `EUR` )
      ( productid = `HT-1021` name = `ITelO Vault SAT` suppliername = `Technocom`
        width = `11` depth = `1.7` height = `18` dimunit = `cm`
        weightmeasure = `0.18` weightunit = `KG` price = `149` currencycode = `EUR` )
      ( productid = `HT-1022` name = `Comfort Easy` suppliername = `Technocom`
        width = `84` depth = `1.5` height = `14` dimunit = `cm`
        weightmeasure = `0.2` weightunit = `KG` price = `1679` currencycode = `EUR` )
      ( productid = `HT-1023` name = `Comfort Senior` suppliername = `Technocom`
        width = `80` depth = `1.6` height = `13` dimunit = `cm`
        weightmeasure = `0.8` weightunit = `KG` price = `512` currencycode = `EUR` )
      ( productid = `HT-1030` name = `Ergo Screen E-I` suppliername = `Very Best Screens`
        width = `37` depth = `12` height = `36` dimunit = `cm`
        weightmeasure = `21` weightunit = `KG` price = `230` currencycode = `EUR` )
      ( productid = `HT-1031` name = `Ergo Screen E-II` suppliername = `Very Best Screens`
        width = `40.8` depth = `19` height = `43` dimunit = `cm`
        weightmeasure = `21` weightunit = `KG` price = `285` currencycode = `EUR` )
      ( productid = `HT-1032` name = `Ergo Screen E-III` suppliername = `Very Best Screens`
        width = `40.8` depth = `19` height = `43` dimunit = `cm`
        weightmeasure = `21` weightunit = `KG` price = `345` currencycode = `EUR` )
      ( productid = `HT-1035` name = `Flat Basic` suppliername = `Very Best Screens`
        width = `39` depth = `20` height = `41` dimunit = `cm`
        weightmeasure = `14` weightunit = `KG` price = `399` currencycode = `EUR` )
      ( productid = `HT-1036` name = `Flat Future` suppliername = `Very Best Screens`
        width = `45` depth = `26` height = `46` dimunit = `cm`
        weightmeasure = `15` weightunit = `KG` price = `430` currencycode = `EUR` )
      ( productid = `HT-1037` name = `Flat XL` suppliername = `Very Best Screens`
        width = `54.5` depth = `22.1` height = `39.1` dimunit = `cm`
        weightmeasure = `17` weightunit = `KG` price = `1230` currencycode = `EUR` )
      ( productid = `HT-1040` name = `Laser Professional Eco` suppliername = `Alpha Printers`
        width = `51` depth = `46` height = `30` dimunit = `cm`
        weightmeasure = `32` weightunit = `KG` price = `830` currencycode = `EUR` )
      ( productid = `HT-1041` name = `Laser Basic` suppliername = `Alpha Printers`
        width = `48` depth = `42` height = `26` dimunit = `cm`
        weightmeasure = `23` weightunit = `KG` price = `490` currencycode = `EUR` )
      ( productid = `HT-1042` name = `Laser Allround` suppliername = `Alpha Printers`
        width = `53` depth = `50` height = `65` dimunit = `cm`
        weightmeasure = `17` weightunit = `KG` price = `349` currencycode = `EUR` )
      ( productid = `HT-1050` name = `Ultra Jet Super Color` suppliername = `Alpha Printers`
        width = `41` depth = `41` height = `28` dimunit = `cm`
        weightmeasure = `3` weightunit = `KG` price = `139` currencycode = `EUR` )
      ( productid = `HT-1051` name = `Ultra Jet Mobile` suppliername = `Printer for All`
        width = `46` depth = `32` height = `25` dimunit = `cm`
        weightmeasure = `1.9` weightunit = `KG` price = `99` currencycode = `EUR` )
      ( productid = `HT-1052` name = `Ultra Jet Super Highspeed` suppliername = `Printer for All`
        width = `41` depth = `41` height = `28` dimunit = `cm`
        weightmeasure = `18` weightunit = `KG` price = `170` currencycode = `EUR` )
      ( productid = `HT-1055` name = `Multi Print` suppliername = `Printer for All`
        width = `55` depth = `45` height = `29` dimunit = `cm`
        weightmeasure = `6.3` weightunit = `KG` price = `99` currencycode = `EUR` )
      ( productid = `HT-1056` name = `Multi Color` suppliername = `Printer for All`
        width = `51` depth = `41.3` height = `22` dimunit = `cm`
        weightmeasure = `4.3` weightunit = `KG` price = `119` currencycode = `EUR` )
      ( productid = `HT-1060` name = `Cordless Mouse` suppliername = `Oxynum`
        width = `6` depth = `14.5` height = `3.5` dimunit = `cm`
        weightmeasure = `0.09` weightunit = `KG` price = `9` currencycode = `EUR` )
      ( productid = `HT-1061` name = `Speed Mouse` suppliername = `Oxynum`
        width = `7` depth = `15` height = `3.1` dimunit = `cm`
        weightmeasure = `0.09` weightunit = `KG` price = `7` currencycode = `EUR` )
      ( productid = `HT-1062` name = `Track Mouse` suppliername = `Oxynum`
        width = `3` depth = `7` height = `4` dimunit = `cm`
        weightmeasure = `0.03` weightunit = `KG` price = `11` currencycode = `EUR` )
      ( productid = `HT-1063` name = `Ergonomic Keyboard` suppliername = `Oxynum`
        width = `50` depth = `21` height = `3.5` dimunit = `cm`
        weightmeasure = `2.1` weightunit = `KG` price = `14` currencycode = `EUR` )
      ( productid = `HT-1064` name = `Internet Keyboard` suppliername = `Oxynum`
        width = `52` depth = `25` height = `3` dimunit = `cm`
        weightmeasure = `1.8` weightunit = `KG` price = `16` currencycode = `EUR` )
      ( productid = `HT-1065` name = `Media Keyboard` suppliername = `Oxynum`
        width = `51.4` depth = `23` height = `4` dimunit = `cm`
        weightmeasure = `2.3` weightunit = `KG` price = `26` currencycode = `EUR` )
      ( productid = `HT-1066` name = `Mousepad` suppliername = `Oxynum`
        width = `15` depth = `6` height = `0.2` dimunit = `cm`
        weightmeasure = `80` weightunit = `G` price = `6.99` currencycode = `EUR` )
      ( productid = `HT-1067` name = `Ergo Mousepad` suppliername = `Oxynum`
        width = `15` depth = `6` height = `0.2` dimunit = `cm`
        weightmeasure = `80` weightunit = `G` price = `8.99` currencycode = `EUR` )
      ( productid = `HT-1068` name = `Designer Mousepad` suppliername = `Fasttech`
        width = `24` depth = `24` height = `0.6` dimunit = `cm`
        weightmeasure = `90` weightunit = `G` price = `12.99` currencycode = `EUR` )
      ( productid = `HT-1069` name = `Universal card reader` suppliername = `Fasttech`
        width = `6` depth = `6` height = `3` dimunit = `cm`
        weightmeasure = `45` weightunit = `G` price = `14` currencycode = `EUR` )
      ( productid = `HT-1070` name = `Proctra X` suppliername = `Ultrasonic United`
        width = `22` depth = `35` height = `17` dimunit = `cm`
        weightmeasure = `0.255` weightunit = `KG` price = `70.9` currencycode = `EUR` )
      ( productid = `HT-1071` name = `Gladiator MX` suppliername = `Ultrasonic United`
        width = `22` depth = `35` height = `17` dimunit = `cm`
        weightmeasure = `0.3` weightunit = `KG` price = `81.7` currencycode = `EUR` )
      ( productid = `HT-1072` name = `Hurricane GX` suppliername = `Ultrasonic United`
        width = `22` depth = `35` height = `17` dimunit = `cm`
        weightmeasure = `0.4` weightunit = `KG` price = `101.2` currencycode = `EUR` )
      ( productid = `HT-1073` name = `Hurricane GX/LN` suppliername = `Smartcards`
        width = `22` depth = `35` height = `17` dimunit = `cm`
        weightmeasure = `0.4` weightunit = `KG` price = `139.99` currencycode = `EUR` )
      ( productid = `HT-1080` name = `Photo Scan` suppliername = `Printer for All`
        width = `34` depth = `48` height = `5` dimunit = `cm`
        weightmeasure = `2.3` weightunit = `KG` price = `129` currencycode = `EUR` )
      ( productid = `HT-1081` name = `Power Scan` suppliername = `Printer for All`
        width = `31` depth = `43` height = `7` dimunit = `cm`
        weightmeasure = `2.4` weightunit = `KG` price = `89` currencycode = `EUR` )
      ( productid = `HT-1082` name = `Jet Scan Professional` suppliername = `Printer for All`
        width = `33` depth = `41` height = `12` dimunit = `cm`
        weightmeasure = `3.2` weightunit = `KG` price = `169` currencycode = `EUR` )
      ( productid = `HT-1083` name = `Jet Scan Professional` suppliername = `Printer for All`
        width = `35` depth = `40` height = `10` dimunit = `cm`
        weightmeasure = `3.2` weightunit = `KG` price = `189` currencycode = `EUR` )
      ( productid = `HT-1085` name = `Copymaster` suppliername = `Alpha Printers`
        width = `45` depth = `42` height = `22` dimunit = `cm`
        weightmeasure = `23.2` weightunit = `KG` price = `1499` currencycode = `EUR` )
      ( productid = `HT-1090` name = `Surround Sound` suppliername = `Speaker Experts`
        width = `12` depth = `10` height = `16` dimunit = `cm`
        weightmeasure = `3` weightunit = `KG` price = `39` currencycode = `EUR` )
      ( productid = `HT-1091` name = `Blaster Extreme` suppliername = `Speaker Experts`
        width = `13` depth = `11` height = `17.5` dimunit = `cm`
        weightmeasure = `1.4` weightunit = `KG` price = `26` currencycode = `EUR` )
      ( productid = `HT-1092` name = `Sound Booster` suppliername = `Speaker Experts`
        width = `12.4` depth = `10.4` height = `18.1` dimunit = `cm`
        weightmeasure = `2.1` weightunit = `KG` price = `45` currencycode = `EUR` )
      ( productid = `HT-1095` name = `Lovely Sound 5.1 Wireless` suppliername = `Fasttech`
        width = `24` depth = `19` height = `23` dimunit = `cm`
        weightmeasure = `80` weightunit = `G` price = `49` currencycode = `EUR` )
      ( productid = `HT-1096` name = `Lovely Sound 5.1` suppliername = `Fasttech`
        width = `25` depth = `17` height = `19` dimunit = `cm`
        weightmeasure = `130` weightunit = `G` price = `39` currencycode = `EUR` )
      ( productid = `HT-1097` name = `Lovely Sound Stereo` suppliername = `Fasttech`
        width = `21.3` depth = `2.4` height = `19.7` dimunit = `cm`
        weightmeasure = `60` weightunit = `G` price = `29` currencycode = `EUR` )
      ( productid = `HT-1100` name = `Smart Office` suppliername = `Technocom`
        width = `15` depth = `6.5` height = `2.1` dimunit = `cm`
        weightmeasure = `1.2` weightunit = `KG` price = `89.9` currencycode = `EUR` )
      ( productid = `HT-1101` name = `Smart Design` suppliername = `Technocom`
        width = `14` depth = `6.7` height = `24` dimunit = `cm`
        weightmeasure = `0.8` weightunit = `KG` price = `79.9` currencycode = `EUR` )
      ( productid = `HT-1102` name = `Smart Network` suppliername = `Technocom`
        width = `16` depth = `6` height = `27` dimunit = `cm`
        weightmeasure = `0.8` weightunit = `KG` price = `69` currencycode = `EUR` )
      ( productid = `HT-1103` name = `Smart Multimedia` suppliername = `Technocom`
        width = `11` depth = `3.4` height = `22` dimunit = `cm`
        weightmeasure = `0.8` weightunit = `KG` price = `77` currencycode = `EUR` )
      ( productid = `HT-1104` name = `Smart Games` suppliername = `Technocom`
        width = `10` depth = `3` height = `30` dimunit = `cm`
        weightmeasure = `1.1` weightunit = `KG` price = `55` currencycode = `EUR` )
      ( productid = `HT-1105` name = `Smart Internet Antivirus` suppliername = `Brainsoft`
        width = `16` depth = `4` height = `21` dimunit = `cm`
        weightmeasure = `0.7` weightunit = `KG` price = `29` currencycode = `EUR` )
      ( productid = `HT-1106` name = `Smart Firewall` suppliername = `Brainsoft`
        width = `17.9` depth = `4.2` height = `23.1` dimunit = `cm`
        weightmeasure = `0.9` weightunit = `KG` price = `34` currencycode = `EUR` )
      ( productid = `HT-1107` name = `Smart Money` suppliername = `Brainsoft`
        width = `12` depth = `1.5` height = `19` dimunit = `cm`
        weightmeasure = `0.5` weightunit = `KG` price = `29.9` currencycode = `EUR` )
      ( productid = `HT-1110` name = `PC Lock` suppliername = `Red Point Stores`
        width = `20` depth = `8` height = `4.3` dimunit = `cm`
        weightmeasure = `0.03` weightunit = `KG` price = `8.9` currencycode = `EUR` )
      ( productid = `HT-1111` name = `Notebook Lock` suppliername = `Red Point Stores`
        width = `31` depth = `9` height = `7` dimunit = `cm`
        weightmeasure = `0.02` weightunit = `KG` price = `6.9` currencycode = `EUR` )
      ( productid = `HT-1112` name = `Web cam reality` suppliername = `Red Point Stores`
        width = `9` depth = `8.2` height = `1.3` dimunit = `cm`
        weightmeasure = `0.075` weightunit = `KG` price = `39` currencycode = `EUR` )
      ( productid = `HT-1113` name = `Screen clean` suppliername = `Red Point Stores`
        width = `2` depth = `2` height = `0.1` dimunit = `cm`
        weightmeasure = `0.05` weightunit = `KG` price = `2.3` currencycode = `EUR` )
      ( productid = `HT-1114` name = `Fabric bag professional` suppliername = `Red Point Stores`
        width = `42` depth = `32` height = `7` dimunit = `cm`
        weightmeasure = `1.8` weightunit = `KG` price = `31` currencycode = `EUR` )
      ( productid = `HT-1115` name = `Wireless DSL Router` suppliername = `Red Point Stores`
        width = `19.3` depth = `18` height = `5` dimunit = `cm`
        weightmeasure = `0.45` weightunit = `KG` price = `49` currencycode = `EUR` )
      ( productid = `HT-1116` name = `Wireless DSL Router / Repeater` suppliername = `Red Point Stores`
        width = `19.3` depth = `18` height = `5` dimunit = `cm`
        weightmeasure = `0.45` weightunit = `KG` price = `59` currencycode = `EUR` )
      ( productid = `HT-1117` name = `Wireless DSL Router / Repeater and Print Server` suppliername = `Technocom`
        width = `19.3` depth = `18` height = `5` dimunit = `cm`
        weightmeasure = `0.45` weightunit = `KG` price = `69` currencycode = `EUR` )
      ( productid = `HT-1118` name = `USB Stick` suppliername = `Technocom`
        width = `1.5` depth = `8.7` height = `1.2` dimunit = `cm`
        weightmeasure = `0.015` weightunit = `KG` price = `35` currencycode = `EUR` )
      ( productid = `HT-1119` name = `Travel Adapter` suppliername = `Titanium`
        width = `2` depth = `3.1` height = `3.9` dimunit = `cm`
        weightmeasure = `88` weightunit = `G` price = `79` currencycode = `EUR` )
      ( productid = `HT-1120` name = `Cordless Bluetooth Keyboard, english international` suppliername = `Technocom`
        width = `51.4` depth = `23` height = `4` dimunit = `cm`
        weightmeasure = `1` weightunit = `KG` price = `29` currencycode = `EUR` )
      ( productid = `HT-1137` name = `Flat XXL` suppliername = `Technocom`
        width = `54` depth = `22` height = `38` dimunit = `cm`
        weightmeasure = `18` weightunit = `KG` price = `1430` currencycode = `EUR` )
      ( productid = `HT-1138` name = `Pocket Mouse` suppliername = `Technocom`
        width = `0.3` depth = `0.5` height = `1` dimunit = `cm`
        weightmeasure = `0.02` weightunit = `KG` price = `23` currencycode = `EUR` )
      ( productid = `HT-1210` name = `PC Power Station` suppliername = `Technocom`
        width = `28` depth = `31` height = `43` dimunit = `cm`
        weightmeasure = `2.3` weightunit = `KG` price = `2399` currencycode = `EUR` )
      ( productid = `HT-1251` name = `Astro Laptop 1516` suppliername = `Ultrasonic United`
        width = `30` depth = `18` height = `3` dimunit = `cm`
        weightmeasure = `4.2` weightunit = `KG` price = `989` currencycode = `EUR` )
      ( productid = `HT-1252` name = `Astro Phone 6` suppliername = `Ultrasonic United`
        width = `8` depth = `6` height = `1.5` dimunit = `cm`
        weightmeasure = `0.75` weightunit = `KG` price = `649` currencycode = `EUR` )
      ( productid = `HT-1253` name = `Benda Laptop 1408` suppliername = `Ultrasonic United`
        width = `30` depth = `18` height = `3` dimunit = `cm`
        weightmeasure = `4.2` weightunit = `KG` price = `976` currencycode = `EUR` )
      ( productid = `HT-1254` name = `Bending Screen 21HD` suppliername = `Ultrasonic United`
        width = `37` depth = `12` height = `36` dimunit = `cm`
        weightmeasure = `15` weightunit = `KG` price = `250` currencycode = `EUR` )
      ( productid = `HT-1255` name = `Broad Screen 22HD` suppliername = `Ultrasonic United`
        width = `39` depth = `12` height = `38` dimunit = `cm`
        weightmeasure = `16` weightunit = `KG` price = `270` currencycode = `EUR` )
      ( productid = `HT-1256` name = `Cerdik Phone 7` suppliername = `Ultrasonic United`
        width = `9` depth = `15` height = `1.5` dimunit = `cm`
        weightmeasure = `0.75` weightunit = `KG` price = `549` currencycode = `EUR` )
      ( productid = `HT-1257` name = `Cepat Tablet 10.5` suppliername = `Ultrasonic United`
        width = `48` depth = `31` height = `4.5` dimunit = `cm`
        weightmeasure = `2.8` weightunit = `KG` price = `549` currencycode = `EUR` )
      ( productid = `HT-1258` name = `Cepat Tablet 8` suppliername = `Ultrasonic United`
        width = `38` depth = `21` height = `3.5` dimunit = `cm`
        weightmeasure = `2.5` weightunit = `KG` price = `529` currencycode = `EUR` )
      ( productid = `HT-1500` name = `Server Basic` suppliername = `Technocom`
        width = `34` depth = `35` height = `23` dimunit = `cm`
        weightmeasure = `18` weightunit = `KG` price = `5000` currencycode = `EUR` )
      ( productid = `HT-1501` name = `Server Professional` suppliername = `Technocom`
        width = `29` depth = `30` height = `27` dimunit = `cm`
        weightmeasure = `25` weightunit = `KG` price = `15000` currencycode = `EUR` )
      ( productid = `HT-1502` name = `Server Power Pro` suppliername = `Technocom`
        width = `22` depth = `27.3` height = `37` dimunit = `cm`
        weightmeasure = `35` weightunit = `KG` price = `25000` currencycode = `EUR` )
      ( productid = `HT-1600` name = `Family PC Basic` suppliername = `Titanium`
        width = `21.4` depth = `29` height = `38` dimunit = `cm`
        weightmeasure = `4.8` weightunit = `KG` price = `600` currencycode = `EUR` )
      ( productid = `HT-1601` name = `Family PC Pro` suppliername = `Titanium`
        width = `25` depth = `31.7` height = `40.2` dimunit = `cm`
        weightmeasure = `5.3` weightunit = `KG` price = `900` currencycode = `EUR` )
      ( productid = `HT-1602` name = `Gaming Monster` suppliername = `Titanium`
        width = `26.5` depth = `34` height = `47` dimunit = `cm`
        weightmeasure = `5.9` weightunit = `KG` price = `1200` currencycode = `EUR` )
      ( productid = `HT-1603` name = `Gaming Monster Pro` suppliername = `Titanium`
        width = `27` depth = `28` height = `42` dimunit = `cm`
        weightmeasure = `6.8` weightunit = `KG` price = `1700` currencycode = `EUR` )
      ( productid = `HT-2000` name = `7" Widescreen Portable DVD Player w MP3` suppliername = `Titanium`
        width = `21.4` depth = `19` height = `27.6` dimunit = `cm`
        weightmeasure = `0.79` weightunit = `KG` price = `249.99` currencycode = `EUR` )
      ( productid = `HT-2001` name = `10" Portable DVD player` suppliername = `Titanium`
        width = `24` depth = `19.5` height = `29` dimunit = `cm`
        weightmeasure = `0.84` weightunit = `KG` price = `449.99` currencycode = `EUR` )
      ( productid = `HT-2002` name = `Portable DVD Player with 9" LCD Monitor` suppliername = `Technocom`
        width = `21` depth = `16.5` height = `14` dimunit = `cm`
        weightmeasure = `0.72` weightunit = `KG` price = `853.99` currencycode = `EUR` )
      ( productid = `HT-2025` name = `CD/DVD case: 264 sleeves` suppliername = `Titanium`
        width = `13` depth = `13` height = `20` dimunit = `cm`
        weightmeasure = `0.65` weightunit = `KG` price = `44.99` currencycode = `EUR` )
      ( productid = `HT-2026` name = `Audio/Video Cable Kit - 4m` suppliername = `Titanium`
        width = `21` depth = `10.2` height = `13` dimunit = `cm`
        weightmeasure = `0.2` weightunit = `KG` price = `29.99` currencycode = `EUR` )
      ( productid = `HT-2027` name = `Removable CD/DVD Laser Labels` suppliername = `Titanium`
        width = `5.5` depth = `2` height = `2` dimunit = `cm`
        weightmeasure = `0.15` weightunit = `KG` price = `8.99` currencycode = `EUR` )
      ( productid = `HT-6100` name = `Beam Breaker B-1` suppliername = `Titanium`
        width = `30.4` depth = `23.1` height = `23` dimunit = `cm`
        weightmeasure = `1.7` weightunit = `KG` price = `469` currencycode = `EUR` )
      ( productid = `HT-6101` name = `Beam Breaker B-2` suppliername = `Technocom`
        width = `30.4` depth = `23.1` height = `23` dimunit = `cm`
        weightmeasure = `2` weightunit = `KG` price = `679` currencycode = `EUR` )
      ( productid = `HT-6102` name = `Beam Breaker B-3` suppliername = `Technocom`
        width = `30.4` depth = `23.1` height = `23` dimunit = `cm`
        weightmeasure = `2.5` weightunit = `KG` price = `889` currencycode = `EUR` )
      ( productid = `HT-6110` name = `Play Movie` suppliername = `Fasttech`
        width = `37` depth = `24` height = `6` dimunit = `cm`
        weightmeasure = `2.4` weightunit = `KG` price = `130` currencycode = `EUR` )
      ( productid = `HT-6111` name = `Record Movie` suppliername = `Fasttech`
        width = `38` depth = `26` height = `6.2` dimunit = `cm`
        weightmeasure = `3.1` weightunit = `KG` price = `288` currencycode = `EUR` )
      ( productid = `HT-6120` name = `ITelo MusicStick` suppliername = `Fasttech`
        width = `1.5` depth = `6` height = `1` dimunit = `cm`
        weightmeasure = `134` weightunit = `G` price = `45` currencycode = `EUR` )
      ( productid = `HT-6121` name = `ITelo Jog-Mate` suppliername = `Fasttech`
        width = `5.1` depth = `8` height = `9.2` dimunit = `cm`
        weightmeasure = `134` weightunit = `G` price = `63` currencycode = `EUR` )
      ( productid = `HT-6122` name = `Power Pro Player 40` suppliername = `Fasttech`
        width = `5.1` depth = `8` height = `9.2` dimunit = `cm`
        weightmeasure = `266` weightunit = `G` price = `167` currencycode = `EUR` )
      ( productid = `HT-6123` name = `Power Pro Player 80` suppliername = `Fasttech`
        width = `4` depth = `6` height = `0.8` dimunit = `cm`
        weightmeasure = `267` weightunit = `G` price = `299` currencycode = `EUR` )
      ( productid = `HT-6130` name = `Flat Watch HD32` suppliername = `Very Best Screens`
        width = `78` depth = `22.1` height = `55` dimunit = `cm`
        weightmeasure = `2.6` weightunit = `KG` price = `1459` currencycode = `EUR` )
      ( productid = `HT-6131` name = `Flat Watch HD37` suppliername = `Very Best Screens`
        width = `99.1` depth = `26` height = `61` dimunit = `cm`
        weightmeasure = `2.2` weightunit = `KG` price = `1199` currencycode = `EUR` )
      ( productid = `HT-6132` name = `Flat Watch HD41` suppliername = `Very Best Screens`
        width = `128` depth = `23` height = `79.1` dimunit = `cm`
        weightmeasure = `1.8` weightunit = `KG` price = `899` currencycode = `EUR` )
      ( productid = `HT-7000` name = `Copperberry` suppliername = `Fasttech`
        width = `8.1` depth = `13` height = `12.1` dimunit = `cm`
        weightmeasure = `0.5` weightunit = `KG` price = `549` currencycode = `EUR` )
      ( productid = `HT-7010` name = `Silverberry` suppliername = `Fasttech`
        width = `8.1` depth = `13` height = `12.1` dimunit = `cm`
        weightmeasure = `0.5` weightunit = `KG` price = `549` currencycode = `EUR` )
      ( productid = `HT-7020` name = `Goldberry` suppliername = `Fasttech`
        width = `8.1` depth = `13` height = `12.1` dimunit = `cm`
        weightmeasure = `0.5` weightunit = `KG` price = `549` currencycode = `EUR` )
      ( productid = `HT-7030` name = `Platinberry` suppliername = `Fasttech`
        width = `8.1` depth = `13` height = `12.1` dimunit = `cm`
        weightmeasure = `0.5` weightunit = `KG` price = `549` currencycode = `EUR` )
      ( productid = `HT-8000` name = `ITelO FlexTop I4000` suppliername = `Titanium`
        width = `31` depth = `19` height = `3.1` dimunit = `cm`
        weightmeasure = `4` weightunit = `KG` price = `799` currencycode = `EUR` )
      ( productid = `HT-8001` name = `ITelO FlexTop I6300c` suppliername = `Titanium`
        width = `32` depth = `20` height = `3.4` dimunit = `cm`
        weightmeasure = `4.2` weightunit = `KG` price = `799` currencycode = `EUR` )
      ( productid = `HT-8002` name = `ITelO FlexTop I9100` suppliername = `Titanium`
        width = `38` depth = `21` height = `4.1` dimunit = `cm`
        weightmeasure = `3.5` weightunit = `KG` price = `1199` currencycode = `EUR` )
      ( productid = `HT-8003` name = `ITelO FlexTop I9800` suppliername = `Titanium`
        width = `48` depth = `31` height = `4.5` dimunit = `cm`
        weightmeasure = `3.8` weightunit = `KG` price = `1388` currencycode = `EUR` )
      ( productid = `HT-9991` name = `Smartphone Leather Case` suppliername = `Ultrasonic United`
        width = `48` depth = `31` height = `4.5` dimunit = `cm`
        weightmeasure = `0.02` weightunit = `KG` price = `25` currencycode = `EUR` )
      ( productid = `HT-9992` name = `Smartphone Alpha` suppliername = `Ultrasonic United`
        width = `48` depth = `31` height = `4.5` dimunit = `cm`
        weightmeasure = `0.75` weightunit = `KG` price = `599` currencycode = `EUR` )
      ( productid = `HT-9993` name = `Mini Tablet` suppliername = `Ultrasonic United`
        width = `48` depth = `31` height = `4.5` dimunit = `cm`
        weightmeasure = `3.8` weightunit = `KG` price = `833` currencycode = `EUR` )
      ( productid = `HT-9994` name = `Camcorder View` suppliername = `Ultrasonic United`
        width = `48` depth = `31` height = `27` dimunit = `cm`
        weightmeasure = `3.8` weightunit = `KG` price = `1388` currencycode = `EUR` )
      ( productid = `HT-9995` name = `Tablet Pouch` suppliername = `Titanium`
        width = `25` depth = `40` height = `4.5` dimunit = `cm`
        weightmeasure = `0.03` weightunit = `KG` price = `20` currencycode = `EUR` )
      ( productid = `HT-9996` name = `Tablet Pouch` suppliername = `Titanium`
        width = `25` depth = `40` height = `4.5` dimunit = `cm`
        weightmeasure = `0.03` weightunit = `KG` price = `20` currencycode = `EUR` )
      ( productid = `HT-9997` name = `e-Book Reader ReadMe` suppliername = `Titanium`
        width = `48` depth = `31` height = `4.5` dimunit = `cm`
        weightmeasure = `3.8` weightunit = `KG` price = `33` currencycode = `EUR` )
      ( productid = `HT-9998` name = `Smartphone Beta` suppliername = `Titanium`
        width = `48` depth = `31` height = `4.5` dimunit = `cm`
        weightmeasure = `0.75` weightunit = `KG` price = `30` currencycode = `EUR` )
      ( productid = `HT-9999` name = `Maxi Tablet` suppliername = `Titanium`
        width = `48` depth = `31` height = `4.5` dimunit = `cm`
        weightmeasure = `3.8` weightunit = `KG` price = `749` currencycode = `EUR` )
      ( productid = `PF-1000` name = `Flyer` suppliername = `Titanium`
        width = `46` depth = `30` height = `3` dimunit = `cm`
        weightmeasure = `0.01` weightunit = `KG` price = `0` currencycode = `EUR` ) ).

  ENDMETHOD.

ENDCLASS.

More in sap.m

Search every abap2UI5 sample · the full list on one page

On this page