Dynamic Page with Analytical Table
Dynamic Page containing an Analytical Table in the content area aligned with the SAP Fiori List Report floorplan.
Z2UI5_CL_SMPC_APP_559
Controls
sap.f
UI5 1.119
The facts
- Repository
- abap2UI5/samples-controls
- Class
Z2UI5_CL_SMPC_APP_559- Source file
z2ui5_cl_smpc_app_559.clas.abap↗- Library
- sap.f
- UI5 entity
sap.f.DynamicPage- Demo kit sample
sap.f.sample.DynamicPageAnalyticalTable- SAP's own sample
- running at sdk.openui5.org ↗
- Minimum UI5
- 1.119
- In the playground
- runs in the browser, with no system and nothing installed
Keywords: dynamicpage, dynamic, sap.f, dynamicpageanalyticaltable, dynamicpagetitle, title, label, overflowtoolbar, generictag, objectnumber, toolbarspacer, button
Controls it builds
- sap.f.Card
- sap.f.DynamicPage
- sap.f.DynamicPageHeader
- sap.f.DynamicPageTitle
- sap.f.cards.NumericHeader
- sap.f.cards.NumericSideIndicator
- sap.m.Button
- sap.m.CheckBox
- sap.m.ComboBox
- sap.m.DatePicker
- sap.m.FlexBox
- sap.m.GenericTag
- sap.m.Input
- sap.m.Label
- sap.m.Link
- sap.m.ObjectAttribute
- sap.m.ObjectNumber
- sap.m.ObjectStatus
- sap.m.OverflowToolbar
- sap.m.Panel
- sap.m.Popover
- sap.m.Select
- sap.m.Text
- sap.m.Title
- sap.m.ToolbarSpacer
- sap.ui.core.FragmentDefinition
- sap.ui.core.Icon
- sap.ui.core.Item
- sap.ui.core.mvc.View
- sap.ui.layout.HorizontalLayout
- sap.ui.layout.VerticalLayout
- sap.ui.table.Column
- sap.ui.table.Table
- sap.ui.unified.Currency
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_559.clas.abap — 714 lines
Click a number to link to a line — shift-click for a range.
Read it on GitHub ↗
" @keywords dynamicpage dynamic sap.f dynamicpageanalyticaltable dynamicpagetitle title label overflowtoolbar generictag objectnumber toolbarspacer button
" @summary Dynamic Page containing an Analytical Table in the content area aligned with the SAP Fiori List Report floorplan.
CLASS z2ui5_cl_smpc_app_559 DEFINITION PUBLIC.
PUBLIC SECTION.
INTERFACES z2ui5_if_app.
TYPES: BEGIN OF ty_s_named,
name TYPE string,
END OF ty_s_named.
TYPES: BEGIN OF ty_s_product,
productid TYPE string,
name TYPE string,
quantity TYPE i,
status TYPE string,
price TYPE p LENGTH 9 DECIMALS 2,
currencycode TYPE string,
suppliername TYPE string,
productpicurl TYPE string,
category TYPE string,
weightmeasure TYPE p LENGTH 9 DECIMALS 3,
" derived in initSampleDataModel, reproduced in model_init
available TYPE abap_bool,
availablestate TYPE string,
availableicon TYPE string,
heavy TYPE string,
deliverydate TYPE string,
END OF ty_s_product.
DATA productcollection TYPE STANDARD TABLE OF ty_s_product WITH EMPTY KEY.
DATA suppliers TYPE STANDARD TABLE OF ty_s_named WITH EMPTY KEY.
DATA categories TYPE STANDARD TABLE OF ty_s_named WITH EMPTY KEY.
" initSampleDataModel puts headerExpanded on the model and the page binds it
DATA headerexpanded TYPE abap_bool VALUE abap_true.
PROTECTED SECTION.
DATA client TYPE REF TO z2ui5_if_client.
METHODS view_display.
METHODS on_event.
METHODS popover_display IMPORTING by_id TYPE string.
METHODS model_init.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_smpc_app_559 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(page) = view->ele( n = `View` ns = `mvc`
)->a( n = `height` v = `100%`
)->a( n = `xmlns` v = `sap.m`
)->a( n = `xmlns:mvc` v = `sap.ui.core.mvc`
)->a( n = `xmlns:c` v = `sap.ui.core`
)->a( n = `xmlns:u` v = `sap.ui.unified`
)->a( n = `xmlns:t` v = `sap.ui.table`
)->a( n = `xmlns:f` v = `sap.f`
)->a( n = `xmlns:layout` v = `sap.ui.layout`
)->ele( n = `DynamicPage` ns = `f`
)->a( n = `id` v = `dynamicPageId`
)->a( n = `preserveHeaderStateOnScroll` v = `true`
)->a( n = `headerExpanded` v = client->_bind( headerexpanded )
)->a( n = `showFooter` v = `true`
)->a( n = `fitContent` v = `true` ).
" DynamicPage Title
DATA(title) = page->ele( n = `title` ns = `f`
)->ele( n = `DynamicPageTitle` ns = `f` ).
title->ele( n = `heading` ns = `f`
)->tag( `Title`
)->a( n = `text` v = `Header Title`
)->end(
)->ele( n = `expandedContent` ns = `f`
)->tag( `Label`
)->a( n = `text` v = `This is a subheading`
)->end(
)->ele( n = `snappedContent` ns = `f`
)->tag( `Label`
)->a( n = `text` v = `This is a subheading`
)->end(
)->ele( n = `snappedTitleOnMobile` ns = `f`
)->tag( `Title`
)->a( n = `text` v = `This is a subheading`
)->end(
)->ele( n = `content` ns = `f`
)->ele( `OverflowToolbar`
)->ele( `GenericTag`
)->a( n = `text` v = `SR`
)->a( n = `status` v = `Error`
)->a( n = `design` v = `StatusIconHidden`
" onGenericTagPress anchors the card popover on the pressed tag
)->a( n = `press` v = client->_event( val = `GENERIC_TAG` arg = `$event.oSource.sId` )
)->tag( `ObjectNumber`
)->a( n = `number` v = `2`
)->a( n = `unit` v = `M`
)->a( n = `emphasized` v = `false`
)->a( n = `state` v = `Error`
)->end(
)->end(
)->end(
)->ele( n = `actions` ns = `f`
)->tag( `ToolbarSpacer`
)->tag( `Button`
)->a( n = `text` v = `Edit`
)->a( n = `type` v = `Emphasized`
)->tag( `Button`
)->a( n = `text` v = `Delete`
)->a( n = `type` v = `Transparent`
)->tag( `Button`
)->a( n = `text` v = `Copy`
)->a( n = `type` v = `Transparent`
)->tag( `Button`
)->a( n = `icon` v = `sap-icon://action`
)->a( n = `tooltip` v = `Share`
)->a( n = `type` v = `Transparent` ).
" DynamicPage Header
page->ele( n = `header` ns = `f`
)->ele( n = `DynamicPageHeader` ns = `f`
)->a( n = `pinnable` v = `true`
)->ele( `FlexBox`
)->a( n = `alignItems` v = `Start`
)->a( n = `justifyContent` v = `SpaceBetween`
)->ele( `items`
)->ele( `Panel`
)->a( n = `backgroundDesign` v = `Transparent`
)->a( n = `class` v = `sapUiNoContentPadding`
)->ele( `content`
)->ele( n = `HorizontalLayout` ns = `layout`
)->a( n = `allowWrapping` v = `true`
)->ele( n = `VerticalLayout` ns = `layout`
)->a( n = `class` v = `sapUiMediumMarginEnd`
)->tag( `ObjectAttribute`
)->a( n = `title` v = `Location`
)->a( n = `text` v = `Warehouse A`
)->tag( `ObjectAttribute`
)->a( n = `title` v = `Halway`
)->a( n = `text` v = `23L`
)->tag( `ObjectAttribute`
)->a( n = `title` v = `Rack`
)->a( n = `text` v = `34`
)->end(
)->ele( n = `VerticalLayout` ns = `layout`
)->tag( `ObjectAttribute`
)->a( n = `title` v = `Availability`
)->tag( `ObjectStatus`
)->a( n = `text` v = `In Stock`
)->a( n = `state` v = `Success`
)->end(
)->end(
)->end(
)->end(
)->end(
)->end(
)->end(
)->end( ).
DATA(columns) = page->ele( n = `content` ns = `f`
)->ele( n = `Table` ns = `t`
)->a( n = `rows` v = client->_bind( productcollection )
)->a( n = `selectionMode` v = `MultiToggle`
)->a( n = `rowMode` v = `Auto`
)->ele( n = `extension` ns = `t`
)->ele( `OverflowToolbar`
)->a( n = `style` v = `Clear`
)->tag( `Title`
)->a( n = `text` v = `Products`
)->end(
)->end(
)->ele( n = `columns` ns = `t` ).
columns->ele( n = `Column` ns = `t`
)->a( n = `width` v = `11rem`
)->tag( `Label`
)->a( n = `text` v = `Product Name`
)->ele( n = `template` ns = `t`
)->tag( `Text`
)->a( n = `text` v = `{NAME}`
)->a( n = `wrapping` v = `false`
)->end(
)->end(
)->ele( n = `Column` ns = `t`
)->a( n = `width` v = `11rem`
)->tag( `Label`
)->a( n = `text` v = `Product Id`
)->ele( n = `template` ns = `t`
)->tag( `Input`
)->a( n = `value` v = `{PRODUCTID}`
)->end(
)->end(
)->ele( n = `Column` ns = `t`
)->a( n = `width` v = `6rem`
)->a( n = `hAlign` v = `End`
)->tag( `Label`
)->a( n = `text` v = `Quantity`
)->ele( n = `template` ns = `t`
)->tag( `Label`
)->a( n = `text` v = `{QUANTITY}`
)->end(
)->end(
)->ele( n = `Column` ns = `t`
)->a( n = `width` v = `9rem`
)->tag( `Label`
)->a( n = `text` v = `Status`
)->ele( n = `template` ns = `t`
)->tag( `ObjectStatus`
)->a( n = `text` v = `{STATUS}`
" formatAvailableToObjectState is computed in ABAP (thin frontend)
)->a( n = `state` v = `{AVAILABLESTATE}`
)->end(
)->end(
)->ele( n = `Column` ns = `t`
)->a( n = `width` v = `9rem`
)->tag( `Label`
)->a( n = `text` v = `Price`
)->ele( n = `template` ns = `t`
)->tag( n = `Currency` ns = `u`
)->a( n = `value` v = `{PRICE}`
)->a( n = `currency` v = `{CURRENCYCODE}`
)->end(
)->end(
)->ele( n = `Column` ns = `t`
)->a( n = `width` v = `12rem`
)->tag( `Label`
)->a( n = `text` v = `Supplier`
)->ele( n = `template` ns = `t`
)->ele( `ComboBox`
)->a( n = `value` v = `{SUPPLIERNAME}`
)->a( n = `items` v = |\{ path: '{ client->_bind_path( suppliers ) }', templateShareable: false \}|
)->tag( n = `Item` ns = `c`
)->a( n = `text` v = `{NAME}`
)->end(
)->end(
)->end(
)->ele( n = `Column` ns = `t`
)->a( n = `width` v = `9rem`
)->tag( `Label`
)->a( n = `text` v = `Image`
)->ele( n = `template` ns = `t`
)->tag( `Link`
)->a( n = `text` v = `Show Image`
)->a( n = `href` v = `{PRODUCTPICURL}`
)->a( n = `target` v = `_blank`
)->end(
)->end(
)->ele( n = `Column` ns = `t`
)->a( n = `width` v = `9rem`
)->tag( `Label`
)->a( n = `text` v = `Details`
)->ele( n = `template` ns = `t`
" handleDetailsPress toasts the row's ProductId - the row field
" resolves on the client, so no round-trip
)->tag( `Button`
)->a( n = `text` v = `Show Details`
)->a( n = `press` v = client->follow_up_action(
val = client->cs_event-control_global
t_arg = VALUE #( ( `MESSAGE_TOAST` )
( `show` )
( `Details for product with id {0}` )
( `${PRODUCTID}` ) ) )
)->end(
)->end(
)->ele( n = `Column` ns = `t`
)->a( n = `width` v = `7rem`
)->tag( `Label`
)->a( n = `text` v = `Heavy Weight`
)->ele( n = `template` ns = `t`
)->tag( `CheckBox`
)->a( n = `selected` v = |\{ path: 'HEAVY', type: 'sap.ui.model.type.String' \}|
)->end(
)->end(
)->ele( n = `Column` ns = `t`
)->a( n = `width` v = `12rem`
)->tag( `Label`
)->a( n = `text` v = `Category`
)->ele( n = `template` ns = `t`
)->ele( `Select`
)->a( n = `selectedKey` v = `{CATEGORY}`
)->a( n = `items` v = |\{ path: '{ client->_bind_path( categories ) }', templateShareable: false \}|
)->tag( n = `Item` ns = `c`
)->a( n = `text` v = `{NAME}`
)->a( n = `key` v = `{NAME}`
)->end(
)->end(
)->end(
)->ele( n = `Column` ns = `t`
)->a( n = `width` v = `6rem`
)->a( n = `hAlign` v = `Center`
)->tag( `Label`
)->a( n = `text` v = `Status`
)->ele( n = `template` ns = `t`
)->tag( n = `Icon` ns = `c`
" formatAvailableToIcon is computed in ABAP (thin frontend)
)->a( n = `src` v = `{AVAILABLEICON}`
)->end(
)->end(
)->ele( n = `Column` ns = `t`
)->a( n = `width` v = `11rem`
)->a( n = `hAlign` v = `Center`
)->tag( `Label`
)->a( n = `text` v = `Delivery Date`
)->ele( n = `template` ns = `t`
)->tag( `DatePicker`
)->a( n = `value` v = |\{ path: 'DELIVERYDATE', type: 'sap.ui.model.type.Date', formatOptions: \{ source: \{ pattern: 'yyyy-MM-dd' \} \} \}|
)->end(
)->end(
)->end(
)->end( ).
" DynamicPage Footer
page->ele( n = `footer` ns = `f`
)->ele( `OverflowToolbar`
)->tag( `ToolbarSpacer`
)->tag( `Button`
)->a( n = `type` v = `Accept`
)->a( n = `text` v = `Accept`
)->tag( `Button`
)->a( n = `type` v = `Reject`
)->a( n = `text` v = `Reject` ).
client->view_display( view->stringify( ) ).
ENDMETHOD.
METHOD popover_display.
" Card.fragment.xml - the numeric card the GenericTag opens
DATA(popup) = z2ui5_cl_ui5_view_builder=>factory( ).
popup->ele( n = `FragmentDefinition` ns = `core`
)->a( n = `xmlns` v = `sap.m`
)->a( n = `xmlns:core` v = `sap.ui.core`
)->a( n = `xmlns:f` v = `sap.f`
)->a( n = `xmlns:card` v = `sap.f.cards`
)->ele( `Popover`
)->a( n = `placement` v = `Right`
)->a( n = `showHeader` v = `false`
)->a( n = `contentWidth` v = `300px`
)->ele( n = `Card` ns = `f`
)->a( n = `width` v = `300px`
)->ele( n = `header` ns = `f`
)->ele( n = `NumericHeader` ns = `card`
)->a( n = `title` v = `Sales Revenue`
)->a( n = `subtitle` v = `Sales revenue in the current quarter`
)->a( n = `unitOfMeasurement` v = `EUR`
)->a( n = `number` v = `2.16`
)->a( n = `scale` v = `M`
)->a( n = `trend` v = `Down`
)->a( n = `state` v = `Error`
)->ele( n = `sideIndicators` ns = `card`
)->tag( n = `NumericSideIndicator` ns = `card`
)->a( n = `number` v = `4.74`
)->a( n = `unit` v = `M`
)->a( n = `title` v = `Target`
)->tag( n = `NumericSideIndicator` ns = `card`
)->a( n = `number` v = `-54.49`
)->a( n = `unit` v = `%`
)->a( n = `title` v = `Deviation` ).
client->popover_display( xml = popup->stringify( ) by_id = by_id ).
ENDMETHOD.
METHOD on_event.
" onGenericTagPress is the sample's only handler that reaches the backend
IF client->get_event( ) = `GENERIC_TAG`.
popover_display( client->get_event_arg( ) ).
ENDIF.
ENDMETHOD.
METHOD model_init.
" sap/ui/demo/mock/products.json, all 123 rows verbatim (ui5/mock/products.json)
productcollection = VALUE #(
( productid = `HT-1000` name = `Notebook Basic 15` quantity = 10 status = `Available` price = '956' currencycode = `EUR` suppliername = `Very Best Screens`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1000.jpg` category = `Laptops` weightmeasure = '4.2' )
( productid = `HT-1001` name = `Notebook Basic 17` quantity = 20 status = `Available` price = '1249' currencycode = `EUR` suppliername = `Very Best Screens`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1001.jpg` category = `Laptops` weightmeasure = '4.5' )
( productid = `HT-1002` name = `Notebook Basic 18` quantity = 10 status = `Available` price = '1570' currencycode = `EUR` suppliername = `Very Best Screens`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1002.jpg` category = `Laptops` weightmeasure = '4.2' )
( productid = `HT-1003` name = `Notebook Basic 19` quantity = 15 status = `Out of Stock` price = '1650' currencycode = `EUR` suppliername = `Smartcards`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1003.jpg` category = `Laptops` weightmeasure = '4.2' )
( productid = `HT-1007` name = `ITelO Vault` quantity = 15 status = `Out of Stock` price = '299' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1007.jpg` category = `Accessories` weightmeasure = '0.2' )
( productid = `HT-1010` name = `Notebook Professional 15` quantity = 16 status = `Out of Stock` price = '1999' currencycode = `EUR` suppliername = `Very Best Screens`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1010.jpg` category = `Accessories` weightmeasure = '4.3' )
( productid = `HT-1011` name = `Notebook Professional 17` quantity = 17 status = `Out of Stock` price = '2299' currencycode = `EUR` suppliername = `Very Best Screens`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1011.jpg` category = `Laptops` weightmeasure = '4.1' )
( productid = `HT-1020` name = `ITelO Vault Net` quantity = 14 status = `Discontinued` price = '459' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1020.jpg` category = `Accessories` weightmeasure = '0.16' )
( productid = `HT-1021` name = `ITelO Vault SAT` quantity = 50 status = `Available` price = '149' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1021.jpg` category = `Accessories` weightmeasure = '0.18' )
( productid = `HT-1022` name = `Comfort Easy` quantity = 30 status = `Out of Stock` price = '1679' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1022.jpg` category = `Accessories` weightmeasure = '0.2' )
( productid = `HT-1023` name = `Comfort Senior` quantity = 24 status = `Available` price = '512' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1023.jpg` category = `Accessories` weightmeasure = '0.8' )
( productid = `HT-1030` name = `Ergo Screen E-I` quantity = 14 status = `Available` price = '230' currencycode = `EUR` suppliername = `Very Best Screens`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1030.jpg` category = `Flat Screen Monitors` weightmeasure = '21' )
( productid = `HT-1031` name = `Ergo Screen E-II` quantity = 24 status = `Available` price = '285' currencycode = `EUR` suppliername = `Very Best Screens`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1031.jpg` category = `Flat Screen Monitors` weightmeasure = '21' )
( productid = `HT-1032` name = `Ergo Screen E-III` quantity = 50 status = `Out of Stock` price = '345' currencycode = `EUR` suppliername = `Very Best Screens`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1032.jpg` category = `Flat Screen Monitors` weightmeasure = '21' )
( productid = `HT-1035` name = `Flat Basic` quantity = 23 status = `Available` price = '399' currencycode = `EUR` suppliername = `Very Best Screens`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1035.jpg` category = `Flat Screen Monitors` weightmeasure = '14' )
( productid = `HT-1036` name = `Flat Future` quantity = 22 status = `Available` price = '430' currencycode = `EUR` suppliername = `Very Best Screens`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1036.jpg` category = `Flat Screen Monitors` weightmeasure = '15' )
( productid = `HT-1037` name = `Flat XL` quantity = 23 status = `Available` price = '1230' currencycode = `EUR` suppliername = `Very Best Screens`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1037.jpg` category = `Flat Screen Monitors` weightmeasure = '17' )
( productid = `HT-1040` name = `Laser Professional Eco` quantity = 21 status = `Available` price = '830' currencycode = `EUR` suppliername = `Alpha Printers`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1040.jpg` category = `Printers` weightmeasure = '32' )
( productid = `HT-1041` name = `Laser Basic` quantity = 8 status = `Available` price = '490' currencycode = `EUR` suppliername = `Alpha Printers`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1041.jpg` category = `Printers` weightmeasure = '23' )
( productid = `HT-1042` name = `Laser Allround` quantity = 9 status = `Available` price = '349' currencycode = `EUR` suppliername = `Alpha Printers`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1042.jpg` category = `Printers` weightmeasure = '17' )
( productid = `HT-1050` name = `Ultra Jet Super Color` quantity = 17 status = `Discontinued` price = '139' currencycode = `EUR` suppliername = `Alpha Printers`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1050.jpg` category = `Printers` weightmeasure = '3' )
( productid = `HT-1051` name = `Ultra Jet Mobile` quantity = 18 status = `Discontinued` price = '99' currencycode = `EUR` suppliername = `Printer for All`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1051.jpg` category = `Printers` weightmeasure = '1.9' )
( productid = `HT-1052` name = `Ultra Jet Super Highspeed` quantity = 25 status = `Available` price = '170' currencycode = `EUR` suppliername = `Printer for All`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1052.jpg` category = `Printers` weightmeasure = '18' )
( productid = `HT-1055` name = `Multi Print` quantity = 16 status = `Available` price = '99' currencycode = `EUR` suppliername = `Printer for All`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1055.jpg` category = `Multifunction Printers` weightmeasure = '6.3' )
( productid = `HT-1056` name = `Multi Color` quantity = 5 status = `Available` price = '119' currencycode = `EUR` suppliername = `Printer for All`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1056.jpg` category = `Multifunction Printers` weightmeasure = '4.3' )
( productid = `HT-1060` name = `Cordless Mouse` quantity = 25 status = `Available` price = '9' currencycode = `EUR` suppliername = `Oxynum`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1060.jpg` category = `Mice` weightmeasure = '0.09' )
( productid = `HT-1061` name = `Speed Mouse` quantity = 12 status = `Available` price = '7' currencycode = `EUR` suppliername = `Oxynum`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1061.jpg` category = `Mice` weightmeasure = '0.09' )
( productid = `HT-1062` name = `Track Mouse` quantity = 12 status = `Discontinued` price = '11' currencycode = `EUR` suppliername = `Oxynum`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1062.jpg` category = `Mice` weightmeasure = '0.03' )
( productid = `HT-1063` name = `Ergonomic Keyboard` quantity = 50 status = `Available` price = '14' currencycode = `EUR` suppliername = `Oxynum`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1063.jpg` category = `Keyboards` weightmeasure = '2.1' )
( productid = `HT-1064` name = `Internet Keyboard` quantity = 35 status = `Out of Stock` price = '16' currencycode = `EUR` suppliername = `Oxynum`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1064.jpg` category = `Keyboards` weightmeasure = '1.8' )
( productid = `HT-1065` name = `Media Keyboard` quantity = 26 status = `Available` price = '26' currencycode = `EUR` suppliername = `Oxynum`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1065.jpg` category = `Keyboards` weightmeasure = '2.3' )
( productid = `HT-1066` name = `Mousepad` quantity = 12 status = `Available` price = '6.99' currencycode = `EUR` suppliername = `Oxynum`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1066.jpg` category = `Mousepads` weightmeasure = '80' )
( productid = `HT-1067` name = `Ergo Mousepad` quantity = 16 status = `Out of Stock` price = '8.99' currencycode = `EUR` suppliername = `Oxynum`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1067.jpg` category = `Mousepads` weightmeasure = '80' )
( productid = `HT-1068` name = `Designer Mousepad` quantity = 26 status = `Available` price = '12.99' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1068.jpg` category = `Mousepads` weightmeasure = '90' )
( productid = `HT-1069` name = `Universal card reader` quantity = 22 status = `Available` price = '14' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1069.jpg` category = `Computer System Accessories` weightmeasure = '45' )
( productid = `HT-1070` name = `Proctra X` quantity = 15 status = `Out of Stock` price = '70.9' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1070.jpg` category = `Graphic Cards` weightmeasure = '0.255' )
( productid = `HT-1071` name = `Gladiator MX` quantity = 16 status = `Discontinued` price = '81.7' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1071.jpg` category = `Graphic Cards` weightmeasure = '0.3' )
( productid = `HT-1072` name = `Hurricane GX` quantity = 13 status = `Available` price = '101.2' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1072.jpg` category = `Graphic Cards` weightmeasure = '0.4' )
( productid = `HT-1073` name = `Hurricane GX/LN` quantity = 5 status = `Out of Stock` price = '139.99' currencycode = `EUR` suppliername = `Smartcards`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1073.jpg` category = `Graphic Cards` weightmeasure = '0.4' )
( productid = `HT-1080` name = `Photo Scan` quantity = 8 status = `Out of Stock` price = '129' currencycode = `EUR` suppliername = `Printer for All`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1080.jpg` category = `Scanners` weightmeasure = '2.3' )
( productid = `HT-1081` name = `Power Scan` quantity = 11 status = `Out of Stock` price = '89' currencycode = `EUR` suppliername = `Printer for All`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1081.jpg` category = `Scanners` weightmeasure = '2.4' )
( productid = `HT-1082` name = `Jet Scan Professional` quantity = 13 status = `Out of Stock` price = '169' currencycode = `EUR` suppliername = `Printer for All`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1082.jpg` category = `Scanners` weightmeasure = '3.2' )
( productid = `HT-1083` name = `Jet Scan Professional` quantity = 10 status = `Available` price = '189' currencycode = `EUR` suppliername = `Printer for All`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1083.jpg` category = `Scanners` weightmeasure = '3.2' )
( productid = `HT-1085` name = `Copymaster` quantity = 10 status = `Available` price = '1499' currencycode = `EUR` suppliername = `Alpha Printers`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1085.jpg` category = `Multifunction Printers` weightmeasure = '23.2' )
( productid = `HT-1090` name = `Surround Sound` quantity = 20 status = `Available` price = '39' currencycode = `EUR` suppliername = `Speaker Experts`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1090.jpg` category = `Speakers` weightmeasure = '3' )
( productid = `HT-1091` name = `Blaster Extreme` quantity = 15 status = `Available` price = '26' currencycode = `EUR` suppliername = `Speaker Experts`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1091.jpg` category = `Speakers` weightmeasure = '1.4' )
( productid = `HT-1092` name = `Sound Booster` quantity = 50 status = `Discontinued` price = '45' currencycode = `EUR` suppliername = `Speaker Experts`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1092.jpg` category = `Speakers` weightmeasure = '2.1' )
( productid = `HT-1095` name = `Lovely Sound 5.1 Wireless` quantity = 12 status = `Available` price = '49' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1095.jpg` category = `Accessories` weightmeasure = '80' )
( productid = `HT-1096` name = `Lovely Sound 5.1` quantity = 18 status = `Available` price = '39' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1096.jpg` category = `Accessories` weightmeasure = '130' )
( productid = `HT-1097` name = `Lovely Sound Stereo` quantity = 21 status = `Out of Stock` price = '29' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1097.jpg` category = `Accessories` weightmeasure = '60' )
( productid = `HT-1100` name = `Smart Office` quantity = 25 status = `Out of Stock` price = '89.9' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1100.jpg` category = `Software` weightmeasure = '1.2' )
( productid = `HT-1101` name = `Smart Design` quantity = 26 status = `Available` price = '79.9' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1101.jpg` category = `Software` weightmeasure = '0.8' )
( productid = `HT-1102` name = `Smart Network` quantity = 28 status = `Available` price = '69' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1102.jpg` category = `Software` weightmeasure = '0.8' )
( productid = `HT-1103` name = `Smart Multimedia` quantity = 9 status = `Available` price = '77' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1103.jpg` category = `Software` weightmeasure = '0.8' )
( productid = `HT-1104` name = `Smart Games` quantity = 13 status = `Available` price = '55' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1104.jpg` category = `Software` weightmeasure = '1.1' )
( productid = `HT-1105` name = `Smart Internet Antivirus` quantity = 17 status = `Available` price = '29' currencycode = `EUR` suppliername = `Brainsoft`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1105.jpg` category = `Software` weightmeasure = '0.7' )
( productid = `HT-1106` name = `Smart Firewall` quantity = 19 status = `Discontinued` price = '34' currencycode = `EUR` suppliername = `Brainsoft`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1106.jpg` category = `Software` weightmeasure = '0.9' )
( productid = `HT-1107` name = `Smart Money` quantity = 18 status = `Out of Stock` price = '29.9' currencycode = `EUR` suppliername = `Brainsoft`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1107.jpg` category = `Software` weightmeasure = '0.5' )
( productid = `HT-1110` name = `PC Lock` quantity = 14 status = `Available` price = '8.9' currencycode = `EUR` suppliername = `Red Point Stores`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1110.jpg` category = `Computer System Accessories` weightmeasure = '0.03' )
( productid = `HT-1111` name = `Notebook Lock` quantity = 20 status = `Available` price = '6.9' currencycode = `EUR` suppliername = `Red Point Stores`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1111.jpg` category = `Computer System Accessories` weightmeasure = '0.02' )
( productid = `HT-1112` name = `Web cam reality` quantity = 27 status = `Out of Stock` price = '39' currencycode = `EUR` suppliername = `Red Point Stores`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1112.jpg` category = `Computer System Accessories` weightmeasure = '0.075' )
( productid = `HT-1113` name = `Screen clean` quantity = 17 status = `Available` price = '2.3' currencycode = `EUR` suppliername = `Red Point Stores`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1113.jpg` category = `Computer System Accessories` weightmeasure = '0.05' )
( productid = `HT-1114` name = `Fabric bag professional` quantity = 14 status = `Available` price = '31' currencycode = `EUR` suppliername = `Red Point Stores`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1114.jpg` category = `Computer System Accessories` weightmeasure = '1.8' )
( productid = `HT-1115` name = `Wireless DSL Router` quantity = 16 status = `Available` price = '49' currencycode = `EUR` suppliername = `Red Point Stores`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1115.jpg` category = `Telecommunications` weightmeasure = '0.45' )
( productid = `HT-1116` name = `Wireless DSL Router / Repeater` quantity = 12 status = `Out of Stock` price = '59' currencycode = `EUR` suppliername = `Red Point Stores`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1116.jpg` category = `Telecommunications` weightmeasure = '0.45' )
( productid = `HT-1117` name = `Wireless DSL Router / Repeater and Print Server` quantity = 12 status = `Available` price = '69' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1117.jpg` category = `Telecommunications` weightmeasure = '0.45' )
( productid = `HT-1118` name = `USB Stick` quantity = 14 status = `Available` price = '35' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1118.jpg` category = `Computer System Accessories` weightmeasure = '0.015' )
( productid = `HT-1119` name = `Travel Adapter` quantity = 10 status = `Discontinued` price = '79' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1119.jpg` category = `Accessories` weightmeasure = '88' )
( productid = `HT-1120` name = `Cordless Bluetooth Keyboard, english international` quantity = 13 status = `Out of Stock` price = '29' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1120.jpg` category = `Keyboards` weightmeasure = '1' )
( productid = `HT-1137` name = `Flat XXL` quantity = 10 status = `Discontinued` price = '1430' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1137.jpg` category = `Flat Screen Monitors` weightmeasure = '18' )
( productid = `HT-1138` name = `Pocket Mouse` quantity = 20 status = `Available` price = '23' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1138.jpg` category = `Mice` weightmeasure = '0.02' )
( productid = `HT-1210` name = `PC Power Station` quantity = 22 status = `Available` price = '2399' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1210.jpg` category = `PCs` weightmeasure = '2.3' )
( productid = `HT-1251` name = `Astro Laptop 1516` quantity = 23 status = `Available` price = '989' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1251.jpg` category = `Laptops` weightmeasure = '4.2' )
( productid = `HT-1252` name = `Astro Phone 6` quantity = 28 status = `Available` price = '649' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1252.jpg` category = `Smartphones and Tablets` weightmeasure = '0.75' )
( productid = `HT-1253` name = `Benda Laptop 1408` quantity = 27 status = `Discontinued` price = '976' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1253.jpg` category = `Laptops` weightmeasure = '4.2' )
( productid = `HT-1254` name = `Bending Screen 21HD` quantity = 23 status = `Available` price = '250' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1254.jpg` category = `Flat Screens` weightmeasure = '15' )
( productid = `HT-1255` name = `Broad Screen 22HD` quantity = 5 status = `Discontinued` price = '270' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1255.jpg` category = `Flat Screens` weightmeasure = '16' )
( productid = `HT-1256` name = `Cerdik Phone 7` quantity = 19 status = `Discontinued` price = '549' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1256.jpg` category = `Smartphones and Tablets` weightmeasure = '0.75' )
( productid = `HT-1257` name = `Cepat Tablet 10.5` quantity = 17 status = `Available` price = '549' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1257.jpg` category = `Smartphones and Tablets` weightmeasure = '2.8' )
( productid = `HT-1258` name = `Cepat Tablet 8` quantity = 24 status = `Available` price = '529' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1258.jpg` category = `Smartphones and Tablets` weightmeasure = '2.5' )
( productid = `HT-1500` name = `Server Basic` quantity = 24 status = `Available` price = '5000' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1500.jpg` category = `Servers` weightmeasure = '18' )
( productid = `HT-1501` name = `Server Professional` quantity = 26 status = `Out of Stock` price = '15000' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1501.jpg` category = `Servers` weightmeasure = '25' )
( productid = `HT-1502` name = `Server Power Pro` quantity = 34 status = `Available` price = '25000' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1502.jpg` category = `Servers` weightmeasure = '35' )
( productid = `HT-1600` name = `Family PC Basic` quantity = 10 status = `Available` price = '600' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1600.jpg` category = `Desktop Computers` weightmeasure = '4.8' )
( productid = `HT-1601` name = `Family PC Pro` quantity = 20 status = `Available` price = '900' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1601.jpg` category = `Desktop Computers` weightmeasure = '5.3' )
( productid = `HT-1602` name = `Gaming Monster` quantity = 24 status = `Available` price = '1200' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1602.jpg` category = `Desktop Computers` weightmeasure = '5.9' )
( productid = `HT-1603` name = `Gaming Monster Pro` quantity = 25 status = `Discontinued` price = '1700' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-1603.jpg` category = `Desktop Computers` weightmeasure = '6.8' )
( productid = `HT-2000` name = `7" Widescreen Portable DVD Player w MP3` quantity = 20 status = `Available` price = '249.99' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-2000.jpg` category = `Accessories` weightmeasure = '0.79' )
( productid = `HT-2001` name = `10" Portable DVD player` quantity = 21 status = `Available` price = '449.99' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-2001.jpg` category = `Accessories` weightmeasure = '0.84' )
( productid = `HT-2002` name = `Portable DVD Player with 9" LCD Monitor` quantity = 50 status = `Available` price = '853.99' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-2002.jpg` category = `Accessories` weightmeasure = '0.72' )
( productid = `HT-2025` name = `CD/DVD case: 264 sleeves` quantity = 26 status = `Discontinued` price = '44.99' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-2025.jpg` category = `Accessories` weightmeasure = '0.65' )
( productid = `HT-2026` name = `Audio/Video Cable Kit - 4m` quantity = 16 status = `Available` price = '29.99' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-2026.jpg` category = `Accessories` weightmeasure = '0.2' )
( productid = `HT-2027` name = `Removable CD/DVD Laser Labels` quantity = 25 status = `Discontinued` price = '8.99' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-2027.jpg` category = `Accessories` weightmeasure = '0.15' )
( productid = `HT-6100` name = `Beam Breaker B-1` quantity = 32 status = `Out of Stock` price = '469' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-6100.jpg` category = `Accessories` weightmeasure = '1.7' )
( productid = `HT-6101` name = `Beam Breaker B-2` quantity = 18 status = `Available` price = '679' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-6101.jpg` category = `Accessories` weightmeasure = '2' )
( productid = `HT-6102` name = `Beam Breaker B-3` quantity = 16 status = `Out of Stock` price = '889' currencycode = `EUR` suppliername = `Technocom`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-6102.jpg` category = `Accessories` weightmeasure = '2.5' )
( productid = `HT-6110` name = `Play Movie` quantity = 15 status = `Available` price = '130' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-6110.jpg` category = `Accessories` weightmeasure = '2.4' )
( productid = `HT-6111` name = `Record Movie` quantity = 24 status = `Discontinued` price = '288' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-6111.jpg` category = `Accessories` weightmeasure = '3.1' )
( productid = `HT-6120` name = `ITelo MusicStick` quantity = 15 status = `Available` price = '45' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-6120.jpg` category = `Accessories` weightmeasure = '134' )
( productid = `HT-6121` name = `ITelo Jog-Mate` quantity = 24 status = `Available` price = '63' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-6121.jpg` category = `Accessories` weightmeasure = '134' )
( productid = `HT-6122` name = `Power Pro Player 40` quantity = 23 status = `Available` price = '167' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-6122.jpg` category = `Accessories` weightmeasure = '266' )
( productid = `HT-6123` name = `Power Pro Player 80` quantity = 13 status = `Available` price = '299' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-6123.jpg` category = `Accessories` weightmeasure = '267' )
( productid = `HT-6130` name = `Flat Watch HD32` quantity = 16 status = `Available` price = '1459' currencycode = `EUR` suppliername = `Very Best Screens`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-6130.jpg` category = `Flat Screen TVs` weightmeasure = '2.6' )
( productid = `HT-6131` name = `Flat Watch HD37` quantity = 14 status = `Available` price = '1199' currencycode = `EUR` suppliername = `Very Best Screens`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-6131.jpg` category = `Flat Screen TVs` weightmeasure = '2.2' )
( productid = `HT-6132` name = `Flat Watch HD41` quantity = 13 status = `Discontinued` price = '899' currencycode = `EUR` suppliername = `Very Best Screens`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-6132.jpg` category = `Flat Screen TVs` weightmeasure = '1.8' )
( productid = `HT-7000` name = `Copperberry` quantity = 5 status = `Discontinued` price = '549' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-7000.jpg` category = `Accessories` weightmeasure = '0.5' )
( productid = `HT-7010` name = `Silverberry` quantity = 9 status = `Discontinued` price = '549' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-7010.jpg` category = `Accessories` weightmeasure = '0.5' )
( productid = `HT-7020` name = `Goldberry` quantity = 11 status = `Available` price = '549' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-7020.jpg` category = `Accessories` weightmeasure = '0.5' )
( productid = `HT-7030` name = `Platinberry` quantity = 12 status = `Available` price = '549' currencycode = `EUR` suppliername = `Fasttech`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-7030.jpg` category = `Accessories` weightmeasure = '0.5' )
( productid = `HT-8000` name = `ITelO FlexTop I4000` quantity = 11 status = `Available` price = '799' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-8000.jpg` category = `Laptops` weightmeasure = '4' )
( productid = `HT-8001` name = `ITelO FlexTop I6300c` quantity = 20 status = `Discontinued` price = '799' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-8001.jpg` category = `Laptops` weightmeasure = '4.2' )
( productid = `HT-8002` name = `ITelO FlexTop I9100` quantity = 20 status = `Available` price = '1199' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-8002.jpg` category = `Laptops` weightmeasure = '3.5' )
( productid = `HT-8003` name = `ITelO FlexTop I9800` quantity = 22 status = `Available` price = '1388' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-8003.jpg` category = `Laptops` weightmeasure = '3.8' )
( productid = `HT-9991` name = `Smartphone Leather Case` quantity = 12 status = `Available` price = '25' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-9991.jpg` category = `Accessories` weightmeasure = '0.02' )
( productid = `HT-9992` name = `Smartphone Alpha` quantity = 13 status = `Out of Stock` price = '599' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-9992.jpg` category = `Smartphones and Tablets` weightmeasure = '0.75' )
( productid = `HT-9993` name = `Mini Tablet` quantity = 10 status = `Available` price = '833' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-9993.jpg` category = `Smartphones and Tablets` weightmeasure = '3.8' )
( productid = `HT-9994` name = `Camcorder View` quantity = 50 status = `Out of Stock` price = '1388' currencycode = `EUR` suppliername = `Ultrasonic United`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-9994.jpg` category = `Accessories` weightmeasure = '3.8' )
( productid = `HT-9995` name = `Tablet Pouch` quantity = 34 status = `Available` price = '20' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-9995.jpg` category = `Accessories` weightmeasure = '0.03' )
( productid = `HT-9996` name = `Tablet Pouch` quantity = 34 status = `Available` price = '20' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-9996.jpg` category = `Accessories` weightmeasure = '0.03' )
( productid = `HT-9997` name = `e-Book Reader ReadMe` quantity = 23 status = `Available` price = '33' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-9997.jpg` category = `Smartphones and Tablets` weightmeasure = '3.8' )
( productid = `HT-9998` name = `Smartphone Beta` quantity = 21 status = `Available` price = '30' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-9998.jpg` category = `Smartphones and Tablets` weightmeasure = '0.75' )
( productid = `HT-9999` name = `Maxi Tablet` quantity = 20 status = `Available` price = '749' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/HT-9999.jpg` category = `Tablets` weightmeasure = '3.8' )
( productid = `PF-1000` name = `Flyer` quantity = 33 status = `Out of Stock` price = '0' currencycode = `EUR` suppliername = `Titanium`
productpicurl = `https://sdk.openui5.org/test-resources/sap/ui/documentation/sdk/images/PF-1000.jpg` category = `Accessories` weightmeasure = '0.01' )
).
" initSampleDataModel derives four things per row and two arrays from them
LOOP AT productcollection REFERENCE INTO DATA(product).
" Date.now() - (i % 10 * 4 days): a moving value, so it is anchored on a
" FIXED base here (the corpus rule for now/random values, apps 164/181/289)
" the arithmetic has to land in a TYPE d field before it is formatted: a
" date operand inside an expression is converted to its DAY NUMBER, so
" CONV string( CONV d( ... ) - n ) yields 739618, not 20260101, and the
" offsets then cut that into '7.39-61-80'. Measured 2026-08-21 - every
" row carried a nonsense date the DatePicker's yyyy-MM-dd binding could
" not parse, and nothing failed loudly enough for a gate to see it.
DATA(delivery) = CONV d( CONV d( `20260101` ) - ( ( sy-tabix - 1 ) MOD 10 ) * 4 ).
product->deliverydate = |{ delivery(4) }-{ delivery+4(2) }-{ delivery+6(2) }|.
product->available = xsdbool( product->status = `Available` ).
product->availablestate = COND #( WHEN product->available = abap_true THEN `Success` ELSE `Error` ).
product->availableicon = COND #( WHEN product->available = abap_true
THEN `sap-icon://accept`
ELSE `sap-icon://decline` ).
product->heavy = COND #( WHEN product->weightmeasure > 1000 THEN `true` ELSE `false` ).
IF product->suppliername IS NOT INITIAL AND NOT line_exists( suppliers[ name = product->suppliername ] ).
INSERT VALUE #( name = product->suppliername ) INTO TABLE suppliers.
ENDIF.
IF product->category IS NOT INITIAL AND NOT line_exists( categories[ name = product->category ] ).
INSERT VALUE #( name = product->category ) INTO TABLE categories.
ENDIF.
ENDLOOP.
ENDMETHOD.
ENDCLASS.
More in sap.f
- Flexible Column Layout Landmark Info For Columns — Flexible Column Layout where the first and the last columns have custom Landmark Info
- Flexible Column Layout Landmark Info For Arrows — Flexible Column Layout where the all the arrows have custom Landmark Info
- Grid Container - Drag and Drop — This sample represents GridContainer with enabled Drag and Drop functionality.
- Grid Container - Drag and Drop From List to GridContainer — This sample represents how items from a control which is not GridContainer can be dragged…
- Grid Container - Keyboard navigation between multiple grids — This sample demonstrates the keyboard navigation between multiple grids
- Semantic Page - Freestyle Sample — This sample demonstrates a SemanticPage with all semantic-specific actions both in the ti…
- Dynamic Page with Wizard — Dynamic Page containing a sap.m.Wizard and WizardProgressNavigator in the content area.
- Flexible Column Layout with programmatic scrolling to an item — FlexibleColumnLayout where the app programmatically scrolls to some item within the newly…
- Flexible Column Layout with Routing and first page in fullscreen only — Flexible Column Layout as an app with routing that displays different pages in the initia…
- Flexible Column Layout with Routing and One Initial Column — Flexible Column Layout as an app with routing that starts with a single initial column.
- Flexible Column Layout with Routing and Two Initial Columns — Flexible Column Layout as an app with routing that starts with two initial columns.
- Grid List - Item Designs — This is a sample for GridList item templates representing a typical tools page dashboard…
On this page