This is abap2UI5 at its most agnostic: the sap.ui.comp library builds its UI from
OData V2 metadata — a SmartTable asks the service what the columns are, a
SmartField asks what the field is. abap2UI5 simply points the default model at
that service and lets the metadata do the rest, so the apps carry almost no data of
their own. If you already run Gateway services, you get variant management, value
help and smart filtering for free.
Release: Cloud + Standard ≥ 7.40 SP08. The metadata does the work, so the ABAP side of these nine samples asks for nothing beyond the release the package is written in — what they need is the service, not the platform.
Branch: 02-smart-controls
— this package alone, without the other eight on your system.
- SAPUI5, since
sap.ui.compis part of the SAPUI5 distribution. - An activated OData V2 service. Most samples point at the Gateway demo service
GWSAMPLE_BASIC, which ships with every on-premise system and only has to be activated once in/IWFND/MAINT_SERVICE. Where a sample uses a different service, it says so at theswitch_default_model_path— adjust it to your system.
| Sample | Shows | Service |
|---|---|---|
313 |
SmartFilterBar + SmartTable with variant management | UI_PRODUCTLIST |
314 |
switch the default model — device, HTTP and OData model side by side | GWSAMPLE_BASIC |
319 |
SmartMultiInput → an ABAP SELECT-OPTIONS range table |
UI_PRODUCTLIST + value list annotations |
475 |
SmartField inside a SmartForm | GWSAMPLE_BASIC |
476 |
SmartForm, display/edit toggle | GWSAMPLE_BASIC |
477 |
SmartFilterBar driving a SmartTable | GWSAMPLE_BASIC |
478 |
page variant management | GWSAMPLE_BASIC |
479 |
SmartChart with NavigationPopover | an analytical service — you supply it |
493 |
classic FilterBar wired to variant management | none — the data is ABAP |
Start any of them with ?app_start=z2ui5_cl_smps_app_<no>, or from the overview
app ?app_start=z2ui5_cl_smps_app_000, which lists every sample of this repository.
319 is the interesting one if you write classic ABAP: the user gets a full
SELECT-OPTIONS experience in the browser (value help, several conditions,
contains / between / greater-than, include and exclude), and the app maps the
returned conditions 1:1 onto an ABAP range table — SIGN/OPTION/LOW/HIGH — and
filters with ... WHERE product_type IN r_product_type. Both the derived
SELECT-OPTIONS and the matching rows are on screen, so the mapping is visible.
479 goes one step further: a SmartChart draws from an analytical OData V2
service — properties marked sap:aggregation-role dimension/measure plus the
UI.Chart annotation the layout comes from. Since a standard system ships no such
service, the path in the class is a placeholder — point it at an analytical service
of your own and the chart comes to life.