Overflow Toolbar - in a table and in the footer of a page
Overflow Toolbar Button is useful for showing lists of action buttons that can display an icon in the toolbar, and icon+text when in the overflow.
Z2UI5_CL_SMPC_APP_607
Controls
sap.m
UI5 1.109
The facts
- Repository
- abap2UI5/samples-controls
- Class
Z2UI5_CL_SMPC_APP_607- Source file
z2ui5_cl_smpc_app_607.clas.abap↗- Library
- sap.m
- UI5 entity
sap.m.OverflowToolbar- Demo kit sample
sap.m.sample.OverflowToolbarFooter- SAP's own sample
- running at sdk.openui5.org ↗
- Minimum UI5
- 1.109
- In the playground
- runs in the browser, with no system and nothing installed
Keywords: overflowtoolbar, overflow, toolbar, sap.m, overflowtoolbarfooter, messagestrip, slider, toolbarspacer, searchfield, overflowtoolbarlayoutdata, button, overflowtoolbarbutton
Controls it builds
- sap.m.Button
- sap.m.Column
- sap.m.ColumnListItem
- sap.m.Label
- sap.m.Menu
- sap.m.MenuItem
- sap.m.MessageStrip
- sap.m.ObjectIdentifier
- sap.m.ObjectNumber
- sap.m.OverflowToolbar
- sap.m.OverflowToolbarButton
- sap.m.OverflowToolbarLayoutData
- sap.m.OverflowToolbarMenuButton
- sap.m.OverflowToolbarToggleButton
- sap.m.Page
- sap.m.SearchField
- sap.m.Slider
- sap.m.Table
- sap.m.Text
- sap.m.ToolbarSpacer
- sap.m.VBox
- sap.ui.core.InvisibleText
- sap.ui.core.mvc.View
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_607.clas.abap — 496 lines
Click a number to link to a line — shift-click for a range.
Read it on GitHub ↗
" @keywords overflowtoolbar overflow toolbar sap.m overflowtoolbarfooter messagestrip slider toolbarspacer searchfield overflowtoolbarlayoutdata button overflowtoolbarbutton
" @summary Overflow Toolbar Button is useful for showing lists of action buttons that can display an icon in the toolbar, and icon+text when in the overflow.
CLASS z2ui5_cl_smpc_app_607 DEFINITION PUBLIC.
PUBLIC SECTION.
INTERFACES z2ui5_if_app.
TYPES: BEGIN OF ty_s_product,
name TYPE string,
productid TYPE string,
suppliername TYPE string,
width TYPE string,
depth TYPE string,
height TYPE string,
dimunit TYPE string,
price TYPE string,
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.
DATA slider_value TYPE i VALUE 100.
DATA search_query TYPE string.
DATA grouped TYPE abap_bool.
DATA descending TYPE abap_bool.
DATA toggle_state TYPE abap_bool.
" set by filters_apply, so a rebuilt view knows an ordering is in force.
" It cannot be derived from grouped/descending: RESET clears both and still
" applies a Name-ascending sorter, exactly as fnApplyFiltersAndOrdering does
DATA ordering_applied TYPE abap_bool.
PROTECTED SECTION.
DATA client TYPE REF TO z2ui5_if_client.
" PROTECTED, not PRIVATE: the app's state is serialized into the draft with
" CALL TRANSFORMATION id, and the transpiled runtime's re-implementation of
" it walks the attributes with a dynamic ASSIGN obj->(name), which cannot
" reach a PRIVATE one - it asserts, and every roundtrip 500s with
" ASSERTION_FAILED (e2e-caught 2026-08-22)
DATA t_all TYPE ty_t_product.
METHODS view_display.
METHODS on_event.
METHODS filters_apply.
METHODS model_init.
METHODS ordering_issue.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_smpc_app_607 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 = `height` v = `100%`
)->a( n = `xmlns` v = `sap.m`
)->a( n = `xmlns:core` v = `sap.ui.core`
)->a( n = `xmlns:mvc` v = `sap.ui.core.mvc` ).
root->tag( n = `InvisibleText` ns = `core`
)->a( n = `id` v = `text1`
)->a( n = `text` v = `Label text` ).
DATA(page) = root->ele( `Page`
)->a( n = `showHeader` v = `false`
)->a( n = `enableScrolling` v = `true`
)->a( n = `class` v = `sapUiContentPadding`
)->a( n = `showNavButton` v = `false` ).
DATA(content) = page->ele( `content` ).
content->ele( `VBox`
)->tag( `MessageStrip`
)->a( n = `text` v = `Use this slider to shrink the toolbars and observe their behavior. Note: the icon buttons display text only when in the overflow area.`
)->a( n = `type` v = `Information`
)->a( n = `showIcon` v = `true`
" onSliderMoved sets both toolbars' width to <value>%; width is bindable,
" so the two are expressions over the two-way bound slider value
)->tag( `Slider`
)->a( n = `value` v = client->_bind( slider_value )
)->end( ).
content->tag( `Label` ).
DATA(table) = content->ele( `Table`
)->a( n = `id` v = `idProductsTable`
)->a( n = `items` v = client->_bind( t_products ) ).
table->ele( `headerToolbar`
)->ele( `OverflowToolbar`
)->a( n = `id` v = `otbSubheader`
)->a( n = `width` v = |\{= ${ client->_bind( slider_value ) } + '%' \}|
)->tag( `ToolbarSpacer`
)->ele( `SearchField`
)->a( n = `ariaLabelledBy` v = `text1`
)->a( n = `id` v = `maxPrice`
)->a( n = `value` v = client->_bind( search_query )
" onFilter runs on liveChange; the final value is the bindable
" equivalent, so the port filters on search / change instead
)->a( n = `search` v = client->_event( `FILTER` )
)->ele( `layoutData`
)->tag( `OverflowToolbarLayoutData`
)->a( n = `maxWidth` v = `300px`
)->a( n = `shrinkable` v = `true`
)->a( n = `priority` v = `NeverOverflow`
)->end(
)->end(
)->tag( `Button`
)->a( n = `text` v = `Reset`
)->a( n = `type` v = `Transparent`
)->a( n = `press` v = client->_event( `RESET` )
)->tag( `OverflowToolbarButton`
)->a( n = `tooltip` v = `Sort`
)->a( n = `type` v = `Transparent`
)->a( n = `text` v = `Sort`
)->a( n = `icon` v = `sap-icon://sort`
)->a( n = `press` v = client->_event( `SORT` )
)->tag( `OverflowToolbarButton`
)->a( n = `tooltip` v = `Group`
)->a( n = `type` v = `Transparent`
)->a( n = `text` v = `Group`
)->a( n = `icon` v = `sap-icon://group-2`
)->a( n = `press` v = client->_event( `GROUP` )
)->ele( `OverflowToolbarMenuButton`
)->a( n = `tooltip` v = `Export`
)->a( n = `type` v = `Transparent`
)->a( n = `text` v = `Export`
)->a( n = `buttonMode` v = `Split`
)->a( n = `icon` v = `sap-icon://share`
)->a( n = `useDefaultActionOnly` v = `true`
)->a( n = `defaultAction` v = client->follow_up_action( val = client->cs_event-control_global
t_arg = VALUE #( ( `MESSAGE_TOAST` ) ( `show` ) ( `Default action triggered` ) ) )
)->a( n = `beforeMenuOpen` v = client->follow_up_action( val = client->cs_event-control_global
t_arg = VALUE #( ( `MESSAGE_TOAST` ) ( `show` ) ( `beforeMenuOpen is fired` ) ) )
)->ele( `menu`
)->ele( `Menu`
)->a( n = `itemSelected` v = client->_event( val = `MENU_ACTION` arg = `${$parameters>/item}.getText()` )
)->tag( `MenuItem`
)->a( n = `text` v = `Export as PDF`
)->a( n = `icon` v = `sap-icon://pdf-attachment`
)->tag( `MenuItem`
)->a( n = `text` v = `Export to Excel`
)->a( n = `icon` v = `sap-icon://excel-attachment`
)->end(
)->end(
)->end(
)->end(
)->end( ).
table->ele( `columns`
)->ele( `Column`
)->a( n = `width` v = `12em`
)->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 = `hAlign` v = `End`
)->tag( `Text`
)->a( n = `text` v = `Price`
)->end(
)->end( ).
table->ele( `items`
)->ele( `ColumnListItem`
)->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 = |\{ parts:[\{path:'PRICE'\},\{path:'CURRENCYCODE'\}],| &&
| type: 'sap.ui.model.type.Currency', formatOptions: \{showMeasure: false\} \}|
)->a( n = `unit` v = `{CURRENCYCODE}`
)->end(
)->end(
)->end( ).
page->ele( `footer`
)->ele( `OverflowToolbar`
)->a( n = `id` v = `otbFooter`
)->a( n = `width` v = |\{= ${ client->_bind( slider_value ) } + '%' \}|
)->tag( `ToolbarSpacer`
)->ele( `Button`
)->a( n = `type` v = `Accept`
)->a( n = `text` v = `Accept`
)->ele( `layoutData`
)->tag( `OverflowToolbarLayoutData`
)->a( n = `priority` v = `NeverOverflow`
)->end(
)->end(
)->ele( `Button`
)->a( n = `type` v = `Reject`
)->a( n = `text` v = `Reject`
)->ele( `layoutData`
)->tag( `OverflowToolbarLayoutData`
)->a( n = `priority` v = `NeverOverflow`
)->end(
)->end(
)->tag( `OverflowToolbarButton`
)->a( n = `tooltip` v = `Delete`
)->a( n = `text` v = `Delete`
)->a( n = `icon` v = `sap-icon://delete`
)->tag( `OverflowToolbarButton`
)->a( n = `tooltip` v = `Edit`
)->a( n = `text` v = `Edit`
)->a( n = `icon` v = `sap-icon://edit`
)->tag( `OverflowToolbarButton`
)->a( n = `tooltip` v = `Add`
)->a( n = `text` v = `Add`
)->a( n = `icon` v = `sap-icon://add`
)->tag( `OverflowToolbarButton`
)->a( n = `tooltip` v = `Favorite`
)->a( n = `text` v = `Favorite`
)->a( n = `icon` v = `sap-icon://favorite`
)->tag( `OverflowToolbarButton`
)->a( n = `tooltip` v = `Flag`
)->a( n = `text` v = `Flag`
)->a( n = `icon` v = `sap-icon://flag`
)->tag( `OverflowToolbarToggleButton`
)->a( n = `id` v = `toggleButton`
)->a( n = `tooltip` v = `Toggle`
)->a( n = `text` v = `Toggle`
)->a( n = `icon` v = `sap-icon://touch`
)->a( n = `pressed` v = client->_bind( toggle_state )
)->a( n = `press` v = client->_event( `TOGGLE` )
)->end(
)->end( ).
client->view_display( view->stringify( ) ).
" A rebuilt view creates a FRESH items binding with an empty aSorters, so the
" client-side ordering is gone - while grouped/descending/search_query are
" class state that survives. Without this the Sort and Group buttons report a
" state the rows do not show, and the ABAP filter (which lives in t_products)
" survives while the sorter does not: asymmetric, and invisible in a run that
" never leaves the app. check_on_navigated takes exactly this path
IF ordering_applied = abap_true.
ordering_issue( ).
ENDIF.
ENDMETHOD.
METHOD on_event.
CASE client->get_event( ).
WHEN `FILTER`.
" onFilter: the search field's value becomes the Name Contains filter
filters_apply( ).
WHEN `RESET`.
" onReset: clears the search field and both flags, then re-applies
CLEAR search_query.
grouped = abap_false.
descending = abap_false.
filters_apply( ).
WHEN `SORT`.
" onSort flips the sorter's descending flag
descending = xsdbool( descending = abap_false ).
filters_apply( ).
WHEN `GROUP`.
" onGroup flips between the SupplierName grouper and the Name sorter
grouped = xsdbool( grouped = abap_false ).
filters_apply( ).
WHEN `MENU_ACTION`.
client->message_toast_display( |Action triggered on item: { client->get_event_arg( ) }| ).
WHEN `TOGGLE`.
client->message_toast_display( |toggleButton { COND string( WHEN toggle_state = abap_true
THEN `Pressed`
ELSE `Unpressed` ) }| ).
ENDCASE.
ENDMETHOD.
METHOD filters_apply.
" fnApplyFiltersAndOrdering: a Name Contains filter plus one Sorter - on
" SupplierName when grouped, on Name otherwise, descending when flipped.
" The filter is applied here, over the data this thin frontend sends
" (app 298 idiom); the SORTER is handed to the live binding instead, so
" UI5 builds it itself and can draw the grey SupplierName group headers
" the sample's _fnGroup produces. binding_call's sort takes
" [path, descending, group], and UI5's DEFAULT group function returns
" \{ key, text \} of the sorted property - which is exactly what _fnGroup
" returns, so the third parameter reproduces the sample's headers rather
" than approximating them.
t_products = t_all.
IF search_query IS NOT INITIAL.
DELETE t_products WHERE name NS search_query.
ENDIF.
ordering_applied = abap_true.
ordering_issue( ).
ENDMETHOD.
METHOD ordering_issue.
" the sorter lives on the LIVE binding, so it does not survive a rebuild -
" issued from filters_apply and again from view_display (the app-000 idiom)
client->follow_up_action(
val = client->cs_event-binding_call
t_arg = VALUE #( ( `idProductsTable` )
( `items` )
( `sort` )
( COND #( WHEN grouped = abap_true THEN `SUPPLIERNAME` ELSE `NAME` ) )
( COND #( WHEN descending = abap_true THEN `X` ELSE `` ) )
( COND #( WHEN grouped = abap_true THEN `X` ELSE `` ) ) ) ).
ENDMETHOD.
METHOD model_init.
" sap/ui/demo/mock/products.json /ProductCollection, seeded verbatim
t_all = VALUE #(
( name = `Notebook Basic 15` productid = `HT-1000` suppliername = `Very Best Screens` width = `30` depth = `18` height = `3` dimunit = `cm` price = `956` currencycode = `EUR` )
( name = `Notebook Basic 17` productid = `HT-1001` suppliername = `Very Best Screens` width = `29` depth = `17` height = `3.1` dimunit = `cm` price = `1249` currencycode = `EUR` )
( name = `Notebook Basic 18` productid = `HT-1002` suppliername = `Very Best Screens` width = `28` depth = `19` height = `2.5` dimunit = `cm` price = `1570` currencycode = `EUR` )
( name = `Notebook Basic 19` productid = `HT-1003` suppliername = `Smartcards` width = `32` depth = `21` height = `4` dimunit = `cm` price = `1650` currencycode = `EUR` )
( name = `ITelO Vault` productid = `HT-1007` suppliername = `Technocom` width = `32` depth = `22` height = `3` dimunit = `cm` price = `299` currencycode = `EUR` )
( name = `Notebook Professional 15` productid = `HT-1010` suppliername = `Very Best Screens` width = `33` depth = `20` height = `3` dimunit = `cm` price = `1999` currencycode = `EUR` )
( name = `Notebook Professional 17` productid = `HT-1011` suppliername = `Very Best Screens` width = `33` depth = `23` height = `2` dimunit = `cm` price = `2299` currencycode = `EUR` )
( name = `ITelO Vault Net` productid = `HT-1020` suppliername = `Technocom` width = `10` depth = `1.8` height = `17` dimunit = `cm` price = `459` currencycode = `EUR` )
( name = `ITelO Vault SAT` productid = `HT-1021` suppliername = `Technocom` width = `11` depth = `1.7` height = `18` dimunit = `cm` price = `149` currencycode = `EUR` )
( name = `Comfort Easy` productid = `HT-1022` suppliername = `Technocom` width = `84` depth = `1.5` height = `14` dimunit = `cm` price = `1679` currencycode = `EUR` )
( name = `Comfort Senior` productid = `HT-1023` suppliername = `Technocom` width = `80` depth = `1.6` height = `13` dimunit = `cm` price = `512` currencycode = `EUR` )
( name = `Ergo Screen E-I` productid = `HT-1030` suppliername = `Very Best Screens` width = `37` depth = `12` height = `36` dimunit = `cm` price = `230` currencycode = `EUR` )
( name = `Ergo Screen E-II` productid = `HT-1031` suppliername = `Very Best Screens` width = `40.8` depth = `19` height = `43` dimunit = `cm` price = `285` currencycode = `EUR` )
( name = `Ergo Screen E-III` productid = `HT-1032` suppliername = `Very Best Screens` width = `40.8` depth = `19` height = `43` dimunit = `cm` price = `345` currencycode = `EUR` )
( name = `Flat Basic` productid = `HT-1035` suppliername = `Very Best Screens` width = `39` depth = `20` height = `41` dimunit = `cm` price = `399` currencycode = `EUR` )
( name = `Flat Future` productid = `HT-1036` suppliername = `Very Best Screens` width = `45` depth = `26` height = `46` dimunit = `cm` price = `430` currencycode = `EUR` )
( name = `Flat XL` productid = `HT-1037` suppliername = `Very Best Screens` width = `54.5` depth = `22.1` height = `39.1` dimunit = `cm` price = `1230` currencycode = `EUR` )
( name = `Laser Professional Eco` productid = `HT-1040` suppliername = `Alpha Printers` width = `51` depth = `46` height = `30` dimunit = `cm` price = `830` currencycode = `EUR` )
( name = `Laser Basic` productid = `HT-1041` suppliername = `Alpha Printers` width = `48` depth = `42` height = `26` dimunit = `cm` price = `490` currencycode = `EUR` )
( name = `Laser Allround` productid = `HT-1042` suppliername = `Alpha Printers` width = `53` depth = `50` height = `65` dimunit = `cm` price = `349` currencycode = `EUR` )
( name = `Ultra Jet Super Color` productid = `HT-1050` suppliername = `Alpha Printers` width = `41` depth = `41` height = `28` dimunit = `cm` price = `139` currencycode = `EUR` )
( name = `Ultra Jet Mobile` productid = `HT-1051` suppliername = `Printer for All` width = `46` depth = `32` height = `25` dimunit = `cm` price = `99` currencycode = `EUR` )
( name = `Ultra Jet Super Highspeed` productid = `HT-1052` suppliername = `Printer for All` width = `41` depth = `41` height = `28` dimunit = `cm` price = `170` currencycode = `EUR` )
( name = `Multi Print` productid = `HT-1055` suppliername = `Printer for All` width = `55` depth = `45` height = `29` dimunit = `cm` price = `99` currencycode = `EUR` )
( name = `Multi Color` productid = `HT-1056` suppliername = `Printer for All` width = `51` depth = `41.3` height = `22` dimunit = `cm` price = `119` currencycode = `EUR` )
( name = `Cordless Mouse` productid = `HT-1060` suppliername = `Oxynum` width = `6` depth = `14.5` height = `3.5` dimunit = `cm` price = `9` currencycode = `EUR` )
( name = `Speed Mouse` productid = `HT-1061` suppliername = `Oxynum` width = `7` depth = `15` height = `3.1` dimunit = `cm` price = `7` currencycode = `EUR` )
( name = `Track Mouse` productid = `HT-1062` suppliername = `Oxynum` width = `3` depth = `7` height = `4` dimunit = `cm` price = `11` currencycode = `EUR` )
( name = `Ergonomic Keyboard` productid = `HT-1063` suppliername = `Oxynum` width = `50` depth = `21` height = `3.5` dimunit = `cm` price = `14` currencycode = `EUR` )
( name = `Internet Keyboard` productid = `HT-1064` suppliername = `Oxynum` width = `52` depth = `25` height = `3` dimunit = `cm` price = `16` currencycode = `EUR` )
( name = `Media Keyboard` productid = `HT-1065` suppliername = `Oxynum` width = `51.4` depth = `23` height = `4` dimunit = `cm` price = `26` currencycode = `EUR` )
( name = `Mousepad` productid = `HT-1066` suppliername = `Oxynum` width = `15` depth = `6` height = `0.2` dimunit = `cm` price = `6.99` currencycode = `EUR` )
( name = `Ergo Mousepad` productid = `HT-1067` suppliername = `Oxynum` width = `15` depth = `6` height = `0.2` dimunit = `cm` price = `8.99` currencycode = `EUR` )
( name = `Designer Mousepad` productid = `HT-1068` suppliername = `Fasttech` width = `24` depth = `24` height = `0.6` dimunit = `cm` price = `12.99` currencycode = `EUR` )
( name = `Universal card reader` productid = `HT-1069` suppliername = `Fasttech` width = `6` depth = `6` height = `3` dimunit = `cm` price = `14` currencycode = `EUR` )
( name = `Proctra X` productid = `HT-1070` suppliername = `Ultrasonic United` width = `22` depth = `35` height = `17` dimunit = `cm` price = `70.9` currencycode = `EUR` )
( name = `Gladiator MX` productid = `HT-1071` suppliername = `Ultrasonic United` width = `22` depth = `35` height = `17` dimunit = `cm` price = `81.7` currencycode = `EUR` )
( name = `Hurricane GX` productid = `HT-1072` suppliername = `Ultrasonic United` width = `22` depth = `35` height = `17` dimunit = `cm` price = `101.2` currencycode = `EUR` )
( name = `Hurricane GX/LN` productid = `HT-1073` suppliername = `Smartcards` width = `22` depth = `35` height = `17` dimunit = `cm` price = `139.99` currencycode = `EUR` )
( name = `Photo Scan` productid = `HT-1080` suppliername = `Printer for All` width = `34` depth = `48` height = `5` dimunit = `cm` price = `129` currencycode = `EUR` )
( name = `Power Scan` productid = `HT-1081` suppliername = `Printer for All` width = `31` depth = `43` height = `7` dimunit = `cm` price = `89` currencycode = `EUR` )
( name = `Jet Scan Professional` productid = `HT-1082` suppliername = `Printer for All` width = `33` depth = `41` height = `12` dimunit = `cm` price = `169` currencycode = `EUR` )
( name = `Jet Scan Professional` productid = `HT-1083` suppliername = `Printer for All` width = `35` depth = `40` height = `10` dimunit = `cm` price = `189` currencycode = `EUR` )
( name = `Copymaster` productid = `HT-1085` suppliername = `Alpha Printers` width = `45` depth = `42` height = `22` dimunit = `cm` price = `1499` currencycode = `EUR` )
( name = `Surround Sound` productid = `HT-1090` suppliername = `Speaker Experts` width = `12` depth = `10` height = `16` dimunit = `cm` price = `39` currencycode = `EUR` )
( name = `Blaster Extreme` productid = `HT-1091` suppliername = `Speaker Experts` width = `13` depth = `11` height = `17.5` dimunit = `cm` price = `26` currencycode = `EUR` )
( name = `Sound Booster` productid = `HT-1092` suppliername = `Speaker Experts` width = `12.4` depth = `10.4` height = `18.1` dimunit = `cm` price = `45` currencycode = `EUR` )
( name = `Lovely Sound 5.1 Wireless` productid = `HT-1095` suppliername = `Fasttech` width = `24` depth = `19` height = `23` dimunit = `cm` price = `49` currencycode = `EUR` )
( name = `Lovely Sound 5.1` productid = `HT-1096` suppliername = `Fasttech` width = `25` depth = `17` height = `19` dimunit = `cm` price = `39` currencycode = `EUR` )
( name = `Lovely Sound Stereo` productid = `HT-1097` suppliername = `Fasttech` width = `21.3` depth = `2.4` height = `19.7` dimunit = `cm` price = `29` currencycode = `EUR` )
( name = `Smart Office` productid = `HT-1100` suppliername = `Technocom` width = `15` depth = `6.5` height = `2.1` dimunit = `cm` price = `89.9` currencycode = `EUR` )
( name = `Smart Design` productid = `HT-1101` suppliername = `Technocom` width = `14` depth = `6.7` height = `24` dimunit = `cm` price = `79.9` currencycode = `EUR` )
( name = `Smart Network` productid = `HT-1102` suppliername = `Technocom` width = `16` depth = `6` height = `27` dimunit = `cm` price = `69` currencycode = `EUR` )
( name = `Smart Multimedia` productid = `HT-1103` suppliername = `Technocom` width = `11` depth = `3.4` height = `22` dimunit = `cm` price = `77` currencycode = `EUR` )
( name = `Smart Games` productid = `HT-1104` suppliername = `Technocom` width = `10` depth = `3` height = `30` dimunit = `cm` price = `55` currencycode = `EUR` )
( name = `Smart Internet Antivirus` productid = `HT-1105` suppliername = `Brainsoft` width = `16` depth = `4` height = `21` dimunit = `cm` price = `29` currencycode = `EUR` )
( name = `Smart Firewall` productid = `HT-1106` suppliername = `Brainsoft` width = `17.9` depth = `4.2` height = `23.1` dimunit = `cm` price = `34` currencycode = `EUR` )
( name = `Smart Money` productid = `HT-1107` suppliername = `Brainsoft` width = `12` depth = `1.5` height = `19` dimunit = `cm` price = `29.9` currencycode = `EUR` )
( name = `PC Lock` productid = `HT-1110` suppliername = `Red Point Stores` width = `20` depth = `8` height = `4.3` dimunit = `cm` price = `8.9` currencycode = `EUR` )
( name = `Notebook Lock` productid = `HT-1111` suppliername = `Red Point Stores` width = `31` depth = `9` height = `7` dimunit = `cm` price = `6.9` currencycode = `EUR` )
( name = `Web cam reality` productid = `HT-1112` suppliername = `Red Point Stores` width = `9` depth = `8.2` height = `1.3` dimunit = `cm` price = `39` currencycode = `EUR` )
( name = `Screen clean` productid = `HT-1113` suppliername = `Red Point Stores` width = `2` depth = `2` height = `0.1` dimunit = `cm` price = `2.3` currencycode = `EUR` )
( name = `Fabric bag professional` productid = `HT-1114` suppliername = `Red Point Stores` width = `42` depth = `32` height = `7` dimunit = `cm` price = `31` currencycode = `EUR` )
( name = `Wireless DSL Router` productid = `HT-1115` suppliername = `Red Point Stores` width = `19.3` depth = `18` height = `5` dimunit = `cm` price = `49` currencycode = `EUR` )
( name = `Wireless DSL Router / Repeater` productid = `HT-1116` suppliername = `Red Point Stores` width = `19.3` depth = `18` height = `5` dimunit = `cm` price = `59` currencycode = `EUR` )
( name = `Wireless DSL Router / Repeater and Print Server` productid = `HT-1117` suppliername = `Technocom` width = `19.3` depth = `18` height = `5` dimunit = `cm` price = `69` currencycode = `EUR` )
( name = `USB Stick` productid = `HT-1118` suppliername = `Technocom` width = `1.5` depth = `8.7` height = `1.2` dimunit = `cm` price = `35` currencycode = `EUR` )
( name = `Travel Adapter` productid = `HT-1119` suppliername = `Titanium` width = `2` depth = `3.1` height = `3.9` dimunit = `cm` price = `79` currencycode = `EUR` )
( name = `Cordless Bluetooth Keyboard, english international` productid = `HT-1120` suppliername = `Technocom` width = `51.4` depth = `23` height = `4` dimunit = `cm` price = `29` currencycode = `EUR` )
( name = `Flat XXL` productid = `HT-1137` suppliername = `Technocom` width = `54` depth = `22` height = `38` dimunit = `cm` price = `1430` currencycode = `EUR` )
( name = `Pocket Mouse` productid = `HT-1138` suppliername = `Technocom` width = `0.3` depth = `0.5` height = `1` dimunit = `cm` price = `23` currencycode = `EUR` )
( name = `PC Power Station` productid = `HT-1210` suppliername = `Technocom` width = `28` depth = `31` height = `43` dimunit = `cm` price = `2399` currencycode = `EUR` )
( name = `Astro Laptop 1516` productid = `HT-1251` suppliername = `Ultrasonic United` width = `30` depth = `18` height = `3` dimunit = `cm` price = `989` currencycode = `EUR` )
( name = `Astro Phone 6` productid = `HT-1252` suppliername = `Ultrasonic United` width = `8` depth = `6` height = `1.5` dimunit = `cm` price = `649` currencycode = `EUR` )
( name = `Benda Laptop 1408` productid = `HT-1253` suppliername = `Ultrasonic United` width = `30` depth = `18` height = `3` dimunit = `cm` price = `976` currencycode = `EUR` )
( name = `Bending Screen 21HD` productid = `HT-1254` suppliername = `Ultrasonic United` width = `37` depth = `12` height = `36` dimunit = `cm` price = `250` currencycode = `EUR` )
( name = `Broad Screen 22HD` productid = `HT-1255` suppliername = `Ultrasonic United` width = `39` depth = `12` height = `38` dimunit = `cm` price = `270` currencycode = `EUR` )
( name = `Cerdik Phone 7` productid = `HT-1256` suppliername = `Ultrasonic United` width = `9` depth = `15` height = `1.5` dimunit = `cm` price = `549` currencycode = `EUR` )
( name = `Cepat Tablet 10.5` productid = `HT-1257` suppliername = `Ultrasonic United` width = `48` depth = `31` height = `4.5` dimunit = `cm` price = `549` currencycode = `EUR` )
( name = `Cepat Tablet 8` productid = `HT-1258` suppliername = `Ultrasonic United` width = `38` depth = `21` height = `3.5` dimunit = `cm` price = `529` currencycode = `EUR` )
( name = `Server Basic` productid = `HT-1500` suppliername = `Technocom` width = `34` depth = `35` height = `23` dimunit = `cm` price = `5000` currencycode = `EUR` )
( name = `Server Professional` productid = `HT-1501` suppliername = `Technocom` width = `29` depth = `30` height = `27` dimunit = `cm` price = `15000` currencycode = `EUR` )
( name = `Server Power Pro` productid = `HT-1502` suppliername = `Technocom` width = `22` depth = `27.3` height = `37` dimunit = `cm` price = `25000` currencycode = `EUR` )
( name = `Family PC Basic` productid = `HT-1600` suppliername = `Titanium` width = `21.4` depth = `29` height = `38` dimunit = `cm` price = `600` currencycode = `EUR` )
( name = `Family PC Pro` productid = `HT-1601` suppliername = `Titanium` width = `25` depth = `31.7` height = `40.2` dimunit = `cm` price = `900` currencycode = `EUR` )
( name = `Gaming Monster` productid = `HT-1602` suppliername = `Titanium` width = `26.5` depth = `34` height = `47` dimunit = `cm` price = `1200` currencycode = `EUR` )
( name = `Gaming Monster Pro` productid = `HT-1603` suppliername = `Titanium` width = `27` depth = `28` height = `42` dimunit = `cm` price = `1700` currencycode = `EUR` )
( name = `7" Widescreen Portable DVD Player w MP3` productid = `HT-2000` suppliername = `Titanium` width = `21.4` depth = `19` height = `27.6` dimunit = `cm` price = `249.99` currencycode = `EUR` )
( name = `10" Portable DVD player` productid = `HT-2001` suppliername = `Titanium` width = `24` depth = `19.5` height = `29` dimunit = `cm` price = `449.99` currencycode = `EUR` )
( name = `Portable DVD Player with 9" LCD Monitor` productid = `HT-2002` suppliername = `Technocom` width = `21` depth = `16.5` height = `14` dimunit = `cm` price = `853.99` currencycode = `EUR` )
( name = `CD/DVD case: 264 sleeves` productid = `HT-2025` suppliername = `Titanium` width = `13` depth = `13` height = `20` dimunit = `cm` price = `44.99` currencycode = `EUR` )
( name = `Audio/Video Cable Kit - 4m` productid = `HT-2026` suppliername = `Titanium` width = `21` depth = `10.2` height = `13` dimunit = `cm` price = `29.99` currencycode = `EUR` )
( name = `Removable CD/DVD Laser Labels` productid = `HT-2027` suppliername = `Titanium` width = `5.5` depth = `2` height = `2` dimunit = `cm` price = `8.99` currencycode = `EUR` )
( name = `Beam Breaker B-1` productid = `HT-6100` suppliername = `Titanium` width = `30.4` depth = `23.1` height = `23` dimunit = `cm` price = `469` currencycode = `EUR` )
( name = `Beam Breaker B-2` productid = `HT-6101` suppliername = `Technocom` width = `30.4` depth = `23.1` height = `23` dimunit = `cm` price = `679` currencycode = `EUR` )
( name = `Beam Breaker B-3` productid = `HT-6102` suppliername = `Technocom` width = `30.4` depth = `23.1` height = `23` dimunit = `cm` price = `889` currencycode = `EUR` )
( name = `Play Movie` productid = `HT-6110` suppliername = `Fasttech` width = `37` depth = `24` height = `6` dimunit = `cm` price = `130` currencycode = `EUR` )
( name = `Record Movie` productid = `HT-6111` suppliername = `Fasttech` width = `38` depth = `26` height = `6.2` dimunit = `cm` price = `288` currencycode = `EUR` )
( name = `ITelo MusicStick` productid = `HT-6120` suppliername = `Fasttech` width = `1.5` depth = `6` height = `1` dimunit = `cm` price = `45` currencycode = `EUR` )
( name = `ITelo Jog-Mate` productid = `HT-6121` suppliername = `Fasttech` width = `5.1` depth = `8` height = `9.2` dimunit = `cm` price = `63` currencycode = `EUR` )
( name = `Power Pro Player 40` productid = `HT-6122` suppliername = `Fasttech` width = `5.1` depth = `8` height = `9.2` dimunit = `cm` price = `167` currencycode = `EUR` )
( name = `Power Pro Player 80` productid = `HT-6123` suppliername = `Fasttech` width = `4` depth = `6` height = `0.8` dimunit = `cm` price = `299` currencycode = `EUR` )
( name = `Flat Watch HD32` productid = `HT-6130` suppliername = `Very Best Screens` width = `78` depth = `22.1` height = `55` dimunit = `cm` price = `1459` currencycode = `EUR` )
( name = `Flat Watch HD37` productid = `HT-6131` suppliername = `Very Best Screens` width = `99.1` depth = `26` height = `61` dimunit = `cm` price = `1199` currencycode = `EUR` )
( name = `Flat Watch HD41` productid = `HT-6132` suppliername = `Very Best Screens` width = `128` depth = `23` height = `79.1` dimunit = `cm` price = `899` currencycode = `EUR` )
( name = `Copperberry` productid = `HT-7000` suppliername = `Fasttech` width = `8.1` depth = `13` height = `12.1` dimunit = `cm` price = `549` currencycode = `EUR` )
( name = `Silverberry` productid = `HT-7010` suppliername = `Fasttech` width = `8.1` depth = `13` height = `12.1` dimunit = `cm` price = `549` currencycode = `EUR` )
( name = `Goldberry` productid = `HT-7020` suppliername = `Fasttech` width = `8.1` depth = `13` height = `12.1` dimunit = `cm` price = `549` currencycode = `EUR` )
( name = `Platinberry` productid = `HT-7030` suppliername = `Fasttech` width = `8.1` depth = `13` height = `12.1` dimunit = `cm` price = `549` currencycode = `EUR` )
( name = `ITelO FlexTop I4000` productid = `HT-8000` suppliername = `Titanium` width = `31` depth = `19` height = `3.1` dimunit = `cm` price = `799` currencycode = `EUR` )
( name = `ITelO FlexTop I6300c` productid = `HT-8001` suppliername = `Titanium` width = `32` depth = `20` height = `3.4` dimunit = `cm` price = `799` currencycode = `EUR` )
( name = `ITelO FlexTop I9100` productid = `HT-8002` suppliername = `Titanium` width = `38` depth = `21` height = `4.1` dimunit = `cm` price = `1199` currencycode = `EUR` )
( name = `ITelO FlexTop I9800` productid = `HT-8003` suppliername = `Titanium` width = `48` depth = `31` height = `4.5` dimunit = `cm` price = `1388` currencycode = `EUR` )
( name = `Smartphone Leather Case` productid = `HT-9991` suppliername = `Ultrasonic United` width = `48` depth = `31` height = `4.5` dimunit = `cm` price = `25` currencycode = `EUR` )
( name = `Smartphone Alpha` productid = `HT-9992` suppliername = `Ultrasonic United` width = `48` depth = `31` height = `4.5` dimunit = `cm` price = `599` currencycode = `EUR` )
( name = `Mini Tablet` productid = `HT-9993` suppliername = `Ultrasonic United` width = `48` depth = `31` height = `4.5` dimunit = `cm` price = `833` currencycode = `EUR` )
( name = `Camcorder View` productid = `HT-9994` suppliername = `Ultrasonic United` width = `48` depth = `31` height = `27` dimunit = `cm` price = `1388` currencycode = `EUR` )
( name = `Tablet Pouch` productid = `HT-9995` suppliername = `Titanium` width = `25` depth = `40` height = `4.5` dimunit = `cm` price = `20` currencycode = `EUR` )
( name = `Tablet Pouch` productid = `HT-9996` suppliername = `Titanium` width = `25` depth = `40` height = `4.5` dimunit = `cm` price = `20` currencycode = `EUR` )
( name = `e-Book Reader ReadMe` productid = `HT-9997` suppliername = `Titanium` width = `48` depth = `31` height = `4.5` dimunit = `cm` price = `33` currencycode = `EUR` )
( name = `Smartphone Beta` productid = `HT-9998` suppliername = `Titanium` width = `48` depth = `31` height = `4.5` dimunit = `cm` price = `30` currencycode = `EUR` )
( name = `Maxi Tablet` productid = `HT-9999` suppliername = `Titanium` width = `48` depth = `31` height = `4.5` dimunit = `cm` price = `749` currencycode = `EUR` )
( name = `Flyer` productid = `PF-1000` suppliername = `Titanium` width = `46` depth = `30` height = `3` dimunit = `cm` price = `0` currencycode = `EUR` )
).
t_products = t_all.
ENDMETHOD.
ENDCLASS.
More in sap.m
- Tree - Multi Expand & Collapse — This example shows how to expand/collapse multiple nodes and demonstrates the sticky head…
- Tree - InitialExpand & CollapseAll — This example shows the initial expand state and how to collapse all nodes.
- Tree - OData — This example shows Tree with OData service.
- Carousel with Display Options — The Carousel has options for the arrows placement, page indicator placement and page indi…
- Header Container - Lazy Loading — The header container with lazy loading functionality on pressing the scroll button.
- Tile Modes and Scopes — Shows Generic Tile regular and in line mode, and you can switch between the display scope…
- Select - Two columns layout — Use the select dropdown list with two columns layout if you need to display additional in…
- Single Planning Calendar - Create and Modify Appointments — This sample demonstrates how the SinglePlanningCalendar control can be used in combinatio…
- Single Planning Calendar with Drag and Drop — SinglePlanningCalendar with enabled drag and drop functionality, allowing to create appoi…
- MultiInput Filtering and Suggestions — The default filtering is 'starts with per term', which filters by the beginning of every…
- MultiInput - Grouping of items — Items in the MultiInput could be grouped by a property
- Object Header Responsive III — This is a responsive Object Header with a Title, number, 6 Statuses/Attributes rendered i…
On this page