abap2UI5

Table - View Settings & Menus

The View Settings Dialog is standard UI pattern for specifying sorting, grouping and filtering. For a table it should be triggered by a button in the table header with the 'drop-down-list' icon.

Z2UI5_CL_SMPC_APP_298

Controls sap.m UI5 1.137

The facts

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

Keywords: table, sap.m, tableviewsettingsdialog, menu, quicksort, quicksortitem, quickresize, actionitem, viewsettingsdialog, viewsettingsitem, viewsettingsfilteritem, overflowtoolbar

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_298.clas.abap — 837 lines Read it on GitHub ↗
" @keywords table sap.m tableviewsettingsdialog menu quicksort quicksortitem quickresize actionitem viewsettingsdialog viewsettingsitem viewsettingsfilteritem overflowtoolbar
" @summary The View Settings Dialog is standard UI pattern for specifying sorting, grouping and filtering. For a table it should be triggered by a button in the table header with the 'drop-down-list' icon.
CLASS z2ui5_cl_smpc_app_298 DEFINITION PUBLIC.

  PUBLIC SECTION.
    INTERFACES z2ui5_if_app.

    TYPES:
      BEGIN OF ty_s_product,
        product_id     TYPE string,
        name           TYPE string,
        supplier_name  TYPE string,
        weight_measure TYPE p LENGTH 8 DECIMALS 3,
        weight_unit    TYPE string,
        weight_state   TYPE string,
        price          TYPE p LENGTH 8 DECIMALS 2,
        currency_code  TYPE string,
        width          TYPE string,
        depth          TYPE string,
        height         TYPE string,
        dim_unit       TYPE string,
      END OF ty_s_product.
    DATA t_products TYPE STANDARD TABLE OF ty_s_product WITH EMPTY KEY.

    DATA filter_bar_visible TYPE abap_bool.
    DATA filter_label TYPE string.

    " onResize writes the Product column's width. A bound CSSSize carries it:
    " an empty value is valid there (the type's 0* branch matches it), so the
    " column keeps its automatic width until the user drags once.
    DATA product_width TYPE string.

  PROTECTED SECTION.
    DATA client TYPE REF TO z2ui5_if_client.

    DATA t_all TYPE STANDARD TABLE OF ty_s_product WITH EMPTY KEY.
    " the filtered set in MODEL ORDER, i.e. before any sort. Restoring it is
    " what oBinding.sort( ) with no argument does in the original, and both the
    " QuickSort None entry and the group dialog's Reset need exactly that.
    DATA t_filtered TYPE STANDARD TABLE OF ty_s_product WITH EMPTY KEY.
    DATA group_key TYPE string.
    DATA context_menu_on TYPE abap_bool.

    TYPES:
      BEGIN OF ty_s_event_item,
        id       TYPE string,
        key      TYPE string,
        text     TYPE string,
        selected TYPE abap_bool,
      END OF ty_s_event_item.
    TYPES ty_t_event_item TYPE STANDARD TABLE OF ty_s_event_item WITH EMPTY KEY.

    METHODS view_display.
    METHODS on_event.
    METHODS on_event_filter_confirm.
    METHODS weight_state_set.
    METHODS table_sort
      IMPORTING
        field      TYPE string
        descending TYPE abap_bool.
    METHODS abap_field
      IMPORTING
        val           TYPE string
      RETURNING
        VALUE(result) TYPE string.
    METHODS event_items
      IMPORTING
        val           TYPE string
      RETURNING
        VALUE(result) TYPE ty_t_event_item.
    METHODS model_init.

  PRIVATE SECTION.
ENDCLASS.


CLASS z2ui5_cl_smpc_app_298 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( ).

    view->ele( n = `View` ns = `mvc`
        )->a( n = `xmlns:mvc`  v = `sap.ui.core.mvc`
        )->a( n = `xmlns`      v = `sap.m`
        )->a( n = `xmlns:core` v = `sap.ui.core`
        )->a( n = `xmlns:tcm`  v = `sap.m.table.columnmenu`
        )->a( n = `height`     v = `100%`

        " the four controller-loaded fragments (ColumnMenu, Sort, Group,
        " Filter), declared in the view's dependents aggregation
        )->ele( n = `dependents` ns = `mvc`

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

                )->ele( n = `QuickSort` ns = `tcm`
                    " QuickSort.change DECLARES key and sortOrder in its event
                    " metadata and fires neither: onChange does
                    " fireChange({ item: oItem }) and nothing else. Reading the
                    " declared names therefore delivered two empty strings on
                    " every firing, and the handler's fallback sorted Name
                    " ascending whatever was clicked. The original reads the
                    " same `item` the control really passes, so the port asks
                    " the item for its key and order - an event arg is a full
                    " UI5 expression, so the two getters resolve in the client.
                    )->a( n = `change` v = client->_event( val   = `MENU_SORT`
                                                           t_arg = VALUE #( ( `${$parameters>/item}.getKey()` )
                                                                            ( `${$parameters>/item}.getSortOrder()` ) ) )

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

                    )->end(
                )->end(
                )->ele( n = `QuickResize` ns = `tcm`
                    )->a( n = `id`     v = `quickResize`
                    )->a( n = `change` v = client->_event( val = `MENU_RESIZE` arg = `${$parameters>/width}` )

                )->end(
                )->ele( n = `items` ns = `tcm`
                    )->tag( n = `ActionItem` ns = `tcm`
                        )->a( n = `label` v = `Action Item`
                        )->a( n = `press` v = client->_event( `MENU_ACTION` )

                )->end(
            )->end(

            )->ele( `ViewSettingsDialog`
                )->a( n = `id`      v = `sortDialog`
                )->a( n = `confirm` v = client->_event( val   = `SORT_CONFIRM`
                                                        t_arg = VALUE #( ( `${$parameters>/sortItem}` )
                                                                         ( `${$parameters>/sortDescending}` ) ) )

                )->ele( `sortItems`
                    )->tag( `ViewSettingsItem`
                        )->a( n = `text`     v = `Product`
                        )->a( n = `key`      v = `Name`
                        )->a( n = `selected` v = `true`
                    )->tag( `ViewSettingsItem`
                        )->a( n = `text` v = `Supplier`
                        )->a( n = `key`  v = `SupplierName`
                    )->tag( `ViewSettingsItem`
                        )->a( n = `text` v = `Weight`
                        )->a( n = `key`  v = `WeightMeasure`
                    )->tag( `ViewSettingsItem`
                        )->a( n = `text` v = `Price`
                        )->a( n = `key`  v = `Price`

                )->end(
            )->end(

            )->ele( `ViewSettingsDialog`
                )->a( n = `id`      v = `groupDialog`
                )->a( n = `confirm` v = client->_event( val = `GROUP_CONFIRM` arg = `${$parameters>/groupItem}` )
                )->a( n = `reset`   v = client->_event( `GROUP_RESET` )

                )->ele( `groupItems`
                    )->tag( `ViewSettingsItem`
                        )->a( n = `text` v = `Supplier`
                        )->a( n = `key`  v = `SupplierName`
                    )->tag( `ViewSettingsItem`
                        )->a( n = `text` v = `Price`
                        )->a( n = `key`  v = `Price`

                )->end(
            )->end(

            )->ele( `ViewSettingsDialog`
                )->a( n = `id`      v = `filterDialog`
                )->a( n = `confirm` v = client->_event( val   = `FILTER_CONFIRM`
                                                        t_arg = VALUE #( ( `${$parameters>/filterItems}` )
                                                                         ( `${$parameters>/filterString}` ) ) )

                )->ele( `filterItems`
                    )->ele( `ViewSettingsFilterItem`
                        )->a( n = `text`        v = `Weight`
                        )->a( n = `key`         v = `WeightMeasure`
                        )->a( n = `multiSelect` v = `false`

                        )->ele( `items`
                            )->tag( `ViewSettingsItem`
                                )->a( n = `text` v = `Less than 1000`
                                )->a( n = `key`  v = `WeightMeasure___LE___1000___X`
                            )->tag( `ViewSettingsItem`
                                )->a( n = `text` v = `Between 1000 and 2000`
                                )->a( n = `key`  v = `WeightMeasure___BT___1000___2000`
                            )->tag( `ViewSettingsItem`
                                )->a( n = `text` v = `More Than 2000`
                                )->a( n = `key`  v = `WeightMeasure___GT___2000___X`

                        )->end(
                    )->end(
                    )->ele( `ViewSettingsFilterItem`
                        )->a( n = `text`        v = `Price`
                        )->a( n = `key`         v = `Price`
                        )->a( n = `multiSelect` v = `false`

                        )->ele( `items`
                            )->tag( `ViewSettingsItem`
                                )->a( n = `text` v = `Less Than 100`
                                )->a( n = `key`  v = `Price___LE___100___X`
                            )->tag( `ViewSettingsItem`
                                )->a( n = `text` v = `Between 100 and 1000`
                                )->a( n = `key`  v = `Price___BT___100___1000`
                            )->tag( `ViewSettingsItem`
                                )->a( n = `text` v = `More Than 1000`
                                )->a( n = `key`  v = `Price___GT___1000___X`

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

        )->ele( `Page`
            )->a( n = `showHeader` v = `false`

            )->ele( `Table`
                )->a( n = `id`    v = `idProductsTable`
                )->a( n = `items` v = client->_bind( t_products )

                )->ele( `headerToolbar`
                    )->ele( `OverflowToolbar`
                        )->tag( `Title`
                            )->a( n = `text`  v = `Products`
                            )->a( n = `level` v = `H2`
                        )->tag( `ToolbarSpacer`
                        )->tag( `Button`
                            )->a( n = `tooltip` v = `Sort`
                            )->a( n = `icon`    v = `sap-icon://sort`
                            )->a( n = `press`   v = client->_event( `OPEN_SORT` )
                        )->tag( `Button`
                            )->a( n = `tooltip` v = `Filter`
                            )->a( n = `icon`    v = `sap-icon://filter`
                            )->a( n = `press`   v = client->_event( `OPEN_FILTER` )
                        )->tag( `Button`
                            )->a( n = `tooltip` v = `Group`
                            )->a( n = `icon`    v = `sap-icon://group-2`
                            )->a( n = `press`   v = client->_event( `OPEN_GROUP` )
                        )->tag( `ToggleButton`
                            )->a( n = `icon`    v = `sap-icon://menu`
                            )->a( n = `tooltip` v = `Enable Custom Context Menu`
                            )->a( n = `press`   v = client->_event( `TOGGLE_CONTEXT_MENU` )

                    )->end(
                )->end(
                )->ele( `infoToolbar`
                    )->ele( `OverflowToolbar`
                        )->a( n = `id`      v = `vsdFilterBar`
                        )->a( n = `visible` v = client->_bind( filter_bar_visible )

                        )->tag( `Text`
                            )->a( n = `id`   v = `vsdFilterLabel`
                            )->a( n = `text` v = client->_bind( filter_label )

                    )->end(
                )->end(
                )->ele( `columns`
                    )->ele( `Column`
                        )->a( n = `id`         v = `product`
                        )->a( n = `headerMenu` v = `columnHeaderMenu`
                        " onResize's oColumn.setWidth( iWidth + 'px' ) - a
                        " bindable property, so the width travels back through
                        " the model instead of a setter
                        )->a( n = `width`      v = client->_bind( product_width )

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

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

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

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

                        )->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`

                        )->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 = `{PRODUCT_ID}`
                            )->tag( `Text`
                                )->a( n = `text` v = `{SUPPLIER_NAME}`
                            )->tag( `Text`
                                )->a( n = `text` v = `{WIDTH} x {DEPTH} x {HEIGHT} {DIM_UNIT}`
                            )->tag( `ObjectNumber`
                                )->a( n = `number` v = `{WEIGHT_MEASURE}`
                                )->a( n = `unit`   v = `{WEIGHT_UNIT}`
                                )->a( n = `state`  v = `{WEIGHT_STATE}`
                            )->tag( `ObjectNumber`
                                )->a( n = `number` v = |\{ parts:[\{path:'PRICE'\},\{path:'CURRENCY_CODE'\}], type: 'sap.ui.model.type.Currency', formatOptions: \{showMeasure: false\} \}|
                                )->a( n = `unit`   v = `{CURRENCY_CODE}` ).

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

  ENDMETHOD.


  METHOD on_event.

    CASE client->get_event( ).

      WHEN `OPEN_SORT`.
        client->follow_up_action( val   = client->cs_event-control_by_id
                                  t_arg = VALUE #( ( `sortDialog` ) ( `open` ) ) ).

      WHEN `OPEN_FILTER`.
        client->follow_up_action( val   = client->cs_event-control_by_id
                                  t_arg = VALUE #( ( `filterDialog` ) ( `open` ) ) ).

      WHEN `OPEN_GROUP`.
        client->follow_up_action( val   = client->cs_event-control_by_id
                                  t_arg = VALUE #( ( `groupDialog` ) ( `open` ) ) ).

      WHEN `SORT_CONFIRM`.
        DATA(t_item) = event_items( client->get_event_arg( ) ).
        IF t_item IS NOT INITIAL.
          table_sort( field      = abap_field( t_item[ 1 ]-key )
                      descending = xsdbool( client->get_event_arg( 2 ) = abap_true ) ).
        ENDIF.

      WHEN `MENU_SORT`.
        " onSortChange: sortOrder None clears the sorter (oBinding.sort( ) with
        " no argument), which restores MODEL order rather than sorting by
        " anything - the branch the port used to fall through
        IF client->get_event_arg( 2 ) = `None`.
          t_products = t_filtered.
        ELSE.
          table_sort( field      = abap_field( client->get_event_arg( ) )
                      descending = xsdbool( client->get_event_arg( 2 ) = `Descending` ) ).
        ENDIF.

      WHEN `GROUP_CONFIRM`.
        t_item = event_items( client->get_event_arg( ) ).
        group_key = COND #( WHEN t_item IS INITIAL THEN `` ELSE t_item[ 1 ]-key ).
        CASE group_key.

          WHEN `SupplierName`.
            SORT t_products BY supplier_name ASCENDING.

          WHEN `Price`.
            SORT t_products BY price ASCENDING.

        ENDCASE.

      WHEN `GROUP_RESET`.
        " resetGroupDialog sets this.groupReset, and the confirm handler then
        " calls oBinding.sort( ) - so Reset really puts the rows back in model
        " order. Clearing group_key alone changed nothing observable: it is
        " read only inside GROUP_CONFIRM, which reassigns it first.
        group_key  = ``.
        t_products = t_filtered.

      WHEN `FILTER_CONFIRM`.
        on_event_filter_confirm( ).

      WHEN `TOGGLE_CONTEXT_MENU`.
        context_menu_on = xsdbool( context_menu_on = abap_false ).
        client->message_toast_display( COND #( WHEN context_menu_on = abap_true
                                               THEN `Custom context menu enabled`
                                               ELSE `Custom context menu disabled` ) ).

      WHEN `MENU_ACTION`.
        client->message_toast_display( `Action Item Pressed` ).

      WHEN `MENU_RESIZE`.
        " onResize: oColumn.setWidth( oEvent.getParameter('width') + 'px' ).
        " The width now travels as an event arg and lands on the bound
        " property; the toast this used to show instead was not in the original
        " at all, and the comment beside it claimed onResize only logs.
        product_width = |{ client->get_event_arg( ) }px|.

    ENDCASE.

  ENDMETHOD.


  METHOD on_event_filter_confirm.

    DATA lt_keep LIKE t_products.

    " the item key encodes the whole condition: <field>___<operator>___<v1>___<v2>
    DATA(t_item) = event_items( client->get_event_arg( ) ).

    t_products = t_all.
    filter_label       = client->get_event_arg( 2 ).
    filter_bar_visible = xsdbool( filter_label IS NOT INITIAL ).

    LOOP AT t_item INTO DATA(s_item).
      SPLIT s_item-key AT `___` INTO DATA(field) DATA(operator) DATA(value1) DATA(value2).

      DATA(low)  = CONV decfloat34( value1 ).
      DATA(high) = CONV decfloat34( COND string( WHEN value2 = `X` THEN `0` ELSE value2 ) ).

      " Collected rather than deleted in place: DELETE ... INDEX sy-tabix inside
      " a LOOP over the same table shifts the rows under the loop's own cursor -
      " on a system it silently SKIPS the row after each deletion, on the
      " transpiled backend it raises TABLE_INVALID_INDEX (2026-08-17).
      CLEAR lt_keep.
      LOOP AT t_products INTO DATA(s_row).
        DATA(compare) = COND decfloat34( WHEN field = `WeightMeasure` THEN s_row-weight_measure ELSE s_row-price ).
        DATA(keep) = SWITCH abap_bool( operator
                                       WHEN `LE` THEN xsdbool( compare <= low )
                                       WHEN `GT` THEN xsdbool( compare > low )
                                       WHEN `BT` THEN xsdbool( compare >= low AND compare <= high )
                                       ELSE abap_true ).
        IF keep = abap_true.
          APPEND s_row TO lt_keep.
        ENDIF.
      ENDLOOP.
      t_products = lt_keep.
    ENDLOOP.

    " the filter result in model order - what a cleared sorter goes back to
    t_filtered = t_products.


  ENDMETHOD.


  METHOD weight_state_set.

    " weightState is business logic, not presentation - abap2UI5 is a thin
    " frontend, so it is computed here rather than in a frontend formatter.
    " THIS SAMPLE'S OWN Formatter.js takes ONE argument and compares the RAW
    " measure: < 0 None, < 1000 Success, < 2000 Warning, else Error - and the
    " view binds a single part (WeightMeasure), so the unit never reaches it.
    " The KG rule with the 1/5 boundaries belongs to a DIFFERENT sample
    " (sap.m.Table, app 009, whose formatter takes measure AND unit); it was
    " imported here on 2026-08-21 and made 66 of the 123 rows disagree with the
    " original, every one of which renders Success.
    LOOP AT t_products REFERENCE INTO DATA(lr_row).
      lr_row->weight_state = COND #( WHEN lr_row->weight_measure < 0    THEN `None`
                                     WHEN lr_row->weight_measure < 1000 THEN `Success`
                                     WHEN lr_row->weight_measure < 2000 THEN `Warning`
                                     ELSE `Error` ).
    ENDLOOP.

  ENDMETHOD.


  METHOD table_sort.

    " the component is named STATICALLY per field rather than through
    " SORT BY (field): the transpiled backend drops the dynamic BY clause
    " altogether (abap.statements.sort(t, {}) - **e2e-caught 2026-08-22** on
    " app 571), so the table came back in its original order
    CASE field.
      WHEN `SUPPLIER_NAME`.
        IF descending = abap_true.
          SORT t_products BY supplier_name AS TEXT DESCENDING.
        ELSE.
          SORT t_products BY supplier_name AS TEXT ASCENDING.
        ENDIF.
      WHEN `WEIGHT_MEASURE`.
        IF descending = abap_true.
          SORT t_products BY weight_measure DESCENDING.
        ELSE.
          SORT t_products BY weight_measure ASCENDING.
        ENDIF.
      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 abap_field.

    " the dialog keys are the mock's UI5 field names; the model carries the
    " ABAP component names
    result = SWITCH #( val
                       WHEN `Name`          THEN `NAME`
                       WHEN `SupplierName`  THEN `SUPPLIER_NAME`
                       WHEN `WeightMeasure` THEN `WEIGHT_MEASURE`
                       WHEN `Price`         THEN `PRICE`
                       ELSE `NAME` ).

  ENDMETHOD.


  METHOD event_items.

    DATA(lv_json) = condense( val ).
    IF lv_json IS INITIAL.
      RETURN.
    ENDIF.

    IF lv_json(1) <> `[`.
      lv_json = |[{ lv_json }]|.
    ENDIF.

    TRY.
        " the frontend marshals a control with ALL its public properties
        " (enabled, textDirection, wrapping, ...), so only the fields this port
        " models are mapped - a plain to_abap( ) fails on the first extra one
        "
        " z2ui5_cl_ajson is the framework's VENDORED ajson copy and lives
        " outside the released API (src/02), so it may be renamed or
        " restructured without notice - the linter says so, and it is right.
        " There is no released JSON reader to use instead: src/02 carries the
        " http handler, the view builder and the four interfaces, and none of
        " them parses a string. A sample class is installed on its own and
        " cannot carry its own ajson copy either, so the choice here is this
        " call or a hand-rolled parser for a payload UI5 defines - and a
        " hand-rolled one would be the more fragile of the two. Declared as a
        " deviation in the sidecar; revisit when the framework releases a JSON
        " reader.
        " abap2ui5lint-disable-next-line non-released-api -- no released JSON reader exists; see the comment above and the sidecar deviation
        z2ui5_cl_ajson=>parse( lv_json
          )->to_abap_corresponding_only(
          )->to_abap( IMPORTING ev_container = result ).
        " abap2ui5lint-disable-next-line non-released-api -- the exception of the call above
      CATCH z2ui5_cx_ajson_error.
        CLEAR result.
    ENDTRY.

  ENDMETHOD.

  METHOD model_init.

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


    weight_state_set( ).
    t_all      = t_products.
    t_filtered = t_products.

  ENDMETHOD.

ENDCLASS.

More in sap.m

Search every abap2UI5 sample · the full list on one page

On this page