Skip to content

Sample Catalogue

The framework ships 105 sample apps in core/srv/app/samples/ — the abap2UI5 demo collection, transpiled to JavaScript. 98 of them are listed in the built-in gallery, and this page is that gallery's own table: it is generated from z2ui5_cl_smp_app_000, the sample browser the framework itself renders, so it cannot drift from what the playground offers.

Every title links into the browser playground — no install, no server. The same apps run on your own CAP server under the same names: ?app_start=<class>, or client.nav_app_call() from an app of your own.

→ Prefer to browse in the app itself? Open z2ui5_cl_smp_app_000 — the same catalogue with a search field.

Two markers are carried over from the upstream gallery: (A) marks a sample that drives the frontend through a client action, (C) one that uses a custom control from the z2ui5.cc namespace.

Categories

Basics · Binding · Browser · Control Behaviour · CSS · Device · Event · File · Focus · Formatter · Grid Table · List · Menu · Message · Navigation · Nested View · Popover · Popup · Scroll · Table · Templating · Timer · Tree

Basics

SampleClassTopics
Hello World, the Smallest Appz2ui5_cl_smp_app_493hello world smallest first app minimal start here template
Data Binding: Input and Buttonz2ui5_cl_smp_app_494binding _bind model attribute value input button serialize
Lifecycle: Init, Event, Navigatedz2ui5_cl_smp_app_495lifecycle roundtrip main dispatcher state serialize check_on_init check_on_event check_on_navigated
Events, Views and Roundtripsz2ui5_cl_smp_app_004roundtrip restart second view uncaught error controller basics
The Developer Tools (Ctrl+F12)z2ui5_cl_smp_app_496developer tools devtools ctrl f12 debug inspect payload previous request response view xml view model source code log error adt export

Binding

SampleClassTopics
A View Built From RTTI, No Field Namedz2ui5_cl_smp_app_497rtti generic view runtime columns get_components describe_by_data no field name itab structure column cell binding
Currency Amounts (sap.ui.model.type.Currency)z2ui5_cl_smp_app_067amount decimals leading zeros number format
Dynamic Table Typed at Runtime (RTTI)z2ui5_cl_smp_app_061generic data reference create data ddic dynamic itab
Expression Binding, Types and Composite Partsz2ui5_cl_smp_app_027formatter parts conditional regexp visible enabled syntax
Model setSizeLimit for Large Tables (A)z2ui5_cl_smp_app_071combobox jsonmodel size limit large itab 100 entries
Single Table Cell (tab_index)z2ui5_cl_smp_app_144cell input internal table row field level
Structure Fields and INCLUDEsz2ui5_cl_smp_app_166structure component include flat form level
Types for Integer, Decimal, Date and Timez2ui5_cl_smp_app_047type conversion sum amount number field

Browser

SampleClassTopics
Copy to Clipboard (A)z2ui5_cl_smp_app_325clipboard paste copy text area
Local and Session Storage (A,C)z2ui5_cl_smp_app_327localstorage sessionstorage persist store_data offline
Logout from the Client (A)z2ui5_cl_smp_app_361logoff signout icf session end fiori launchpad
Open a URL in a New Tab (A)z2ui5_cl_smp_app_073url window open_new_tab link target
Open Mail, Phone and SMS Links (A)z2ui5_cl_smp_app_316mailto tel sms urlhelper redirect native link
Reload the Page (A)z2ui5_cl_smp_app_492reload refresh restart location_reload url
Set the Tab Favicon (A)z2ui5_cl_smp_app_491favicon icon tab image data uri
Set the Tab Title (A)z2ui5_cl_smp_app_125document.title tab caption headline set_title
Soft Keyboard Mode on Mobile (A)z2ui5_cl_smp_app_352mobile numeric keypad keyboard_set_mode phone input

Control Behaviour

SampleClassTopics
Expand a Panel by ID (setExpanded) (A)z2ui5_cl_smp_app_448panel collapse expand setexpanded control_by_id whitelisted
MultiInput with Tokens (C)z2ui5_cl_smp_app_078multiinput token tokens suggestion custom control
Open the PDF Viewer by ID (A)z2ui5_cl_smp_app_449pdfviewer pdf document viewer popup control_by_id whitelisted
Switch NavContainer Page by ID (A)z2ui5_cl_smp_app_088navcontainer icontabbar icontabheader page switch control_by_id whitelisted
Wizard with Steps (A)z2ui5_cl_smp_app_202wizard step branching discardprogress setnextstep control_by_id

CSS

SampleClassTopics
Color Table Cells from the Backendz2ui5_cl_smp_app_305color background conditional formatting style data attribute
FlexBox Layouts with Custom Classesz2ui5_cl_smp_app_255flexbox layout responsive navigation tile panel
Ship Your Own CSS with the Viewz2ui5_cl_smp_app_050style stylesheet inline html class own design

Device

SampleClassTopics
Camera, Take Photos (C)z2ui5_cl_smp_app_306camera photo picture webcam capture facing mode
Device Model: Phone, Tablet, Desktop (A)z2ui5_cl_smp_app_445sap.ui.device responsive orientation resize media model
Frontend Info: UI5 Version, Theme, OS, Browserz2ui5_cl_smp_app_122client info ui5 version theme os user agent device
Geolocation from the Browser (C)z2ui5_cl_smp_app_120gps position latitude longitude altitude location

Event

SampleClassTopics
Control Objects in t_arg (FacetFilter)z2ui5_cl_smp_app_197facetfilter filter object marshalling selected items
Extra Arguments with t_argz2ui5_cl_smp_app_167argument parameter payload event data fixed value
Keyboard Shortcuts, Ctrl+S (A)z2ui5_cl_smp_app_471shortcut hotkey ctrl key combination keyboard_shortcut
Link with preventDefault (A)z2ui5_cl_smp_app_472link href default action check_prevent_default

File

SampleClassTopics
Download to the Browser (A)z2ui5_cl_smp_app_186export save base64 attachment xstring document
Upload to the Backend (C)z2ui5_cl_smp_app_074fileuploader base64 attachment import picture document

Focus

SampleClassTopics
Focus a Table Cell by Column and Row (A)z2ui5_cl_smp_app_421table cell column row aggregation set_focus
Jump to the Next Input on Enter (A)z2ui5_cl_smp_app_189cursor enter tab next field form set_focus
Set Focus and Select Text in an Input (A)z2ui5_cl_smp_app_133cursor set_focus selection position textfield

Formatter

SampleClassTopics
ABAP Date and Time Strings (DATS/TIMS)z2ui5_cl_smp_app_450dats tims conversion initial date 00000000 sy-datum
Date Object for the DatePickerz2ui5_cl_smp_app_457datepicker datevalue javascript date object iso
Date Objects for the PlanningCalendarz2ui5_cl_smp_app_456planningcalendar appointment javascript date object iso
Inline Icons in a Textz2ui5_cl_smp_app_466icon glyph placeholder text status expandinlineicons
When Not to Use One: Compute in ABAPz2ui5_cl_smp_app_453no formatter computed backend thin frontend prepare

Grid Table

SampleClassTopics
Events on Cell Levelz2ui5_cl_smp_app_160cell enter row index event grid alv
Full Example with sap.ui.tablez2ui5_cl_smp_app_070grid alv dynamicpage column row action currency search sort filter
Keep Column Filters on Refresh (C)z2ui5_cl_smp_app_143column filter reset refresh uitableext grid alv

List

SampleClassTopics
Filter and Sort the Binding from ABAP (A)z2ui5_cl_smp_app_454binding_call getbinding sorter filter follow_up_action
Live Filter on the Client, No Roundtrip (A)z2ui5_cl_smp_app_455binding_call live search client side no roundtrip filter
StandardListItem, Highlight and Eventsz2ui5_cl_smp_app_048sap.m.list standardlistitem highlight infostate press selection
SampleClassTopics
Full Path of the Selected Item (A)z2ui5_cl_smp_app_473menuitem nested submenu textpath controller path
Menu Button with core:requirez2ui5_cl_smp_app_163menubutton menuitem popover messagetoast require module

Message

SampleClassTopics
Message Model and MessageManager (C)z2ui5_cl_smp_app_467messagemanager validation target field state central model
MessageBox from SY, BAPIRET2 or Exceptionz2ui5_cl_smp_app_008t100 message class number exception cx_root error abend
MessageBox, Types and Custom Actionsz2ui5_cl_smp_app_382confirm warning error success information dialog action
MessagePopover URL Policy (A)z2ui5_cl_smp_app_474url policy link security validator relative allow deny
MessageToast, Text and Durationz2ui5_cl_smp_app_381toast notification duration position animation
MessageView and MessagePopover (A)z2ui5_cl_smp_app_452messagepopover messageitem dialog grouped message list
SampleClassTopics
Call and Leave Apps (nav_app_call)z2ui5_cl_smp_app_024nav_app_call nav_app_leave sub app stack call back
Data Loss Protection on Leaving (A,C)z2ui5_cl_smp_app_279dirty unsaved changes leave confirmation warning
Return Data and Events to the Callerz2ui5_cl_smp_app_488r_data result get_app_prev return event payload
Uncaught Error and Error Popupz2ui5_cl_smp_app_464exception dump error handling debugtool restart retry

Nested View

SampleClassTopics
Basic Example (nest_view_display)z2ui5_cl_smp_app_065nest_view_display rerender model refresh sub view
Embed Another App's Viewz2ui5_cl_smp_app_104sub app class embed instantiate another app rtti
Master-Detail with FlexibleColumnLayoutz2ui5_cl_smp_app_097fcl master detail list report two column split
Three Columns with FlexibleColumnLayoutz2ui5_cl_smp_app_098fcl three column detail detail deep navigation

Popover

SampleClassTopics
Basic Example with Placementz2ui5_cl_smp_app_026placement anchor button confirm cancel popover_display
Open from a Table Rowz2ui5_cl_smp_app_052list report dynamicpage row link details table
Open Together with the View Buildz2ui5_cl_smp_app_490initial render one roundtrip anchor button
QuickView Contact Cardz2ui5_cl_smp_app_109quickview contact card links grouped fields
Select from a Listz2ui5_cl_smp_app_081list selection placement anchor
Toggle by ID (toggleBy) (A)z2ui5_cl_smp_app_465toggleby open close control_by_id whitelisted
SampleClassTopics
Dialog inside a Dialogz2ui5_cl_smp_app_161nested stack popup in popup second dialog
Element Binding to the Selected Row (A)z2ui5_cl_smp_app_470element binding relative path aggregation dialog row
Navigate between Dialogs (NavContainer) (A)z2ui5_cl_smp_app_170navcontainer dialog pages back forward
Value Help: Suggestions and F4 Dialogz2ui5_cl_smp_app_009f4 search help suggestion input dialog select
Ways to Open a Dialog (A)z2ui5_cl_smp_app_012dialog sub app destroy rerender background view

Scroll

SampleClassTopics
Scroll a Control into View (A)z2ui5_cl_smp_app_363scroll_into_view control id validation jump
Scroll to a Pixel Position (A)z2ui5_cl_smp_app_362position pixel scroll_to restore refresh toolbar

Table

SampleClassTopics
Drag and Drop Rows (A)z2ui5_cl_smp_app_459dnd dragdropinfo reorder rows move
Editable Cells, Add and Delete Rowsz2ui5_cl_smp_app_011edit input add row delete multiselect toolbar
Filter Rows in the Backendz2ui5_cl_smp_app_045filter server side form growing where
Large Table with Growing and ScrollContainerz2ui5_cl_smp_app_006growing 10000 rows sticky toolbar sort performance
Live Search with Parallel Requestsz2ui5_cl_smp_app_059live search parallel requests busy queue typing
Search in the Backend (SearchField)z2ui5_cl_smp_app_053search go enter server side where
Selection Modes: Single and Multi Selectz2ui5_cl_smp_app_019selectionmode none single multi segmentedbutton checkbox

Templating

SampleClassTopics
Build Columns Dynamically (template:repeat)z2ui5_cl_smp_app_173template repeat runtime generated columns if then else
Dynamic Content in a Nested Viewz2ui5_cl_smp_app_176template repeat runtime generated nested nest_view_display

Timer

SampleClassTopics
Progress Indicator during a Backend Call (A)z2ui5_cl_smp_app_064progressindicator busy wait long running backend
Refresh the View Every n Seconds (A)z2ui5_cl_smp_app_028interval polling auto refresh follow_up_action seconds

Tree

SampleClassTopics
Drag and Drop Nodes (A,C)z2ui5_cl_smp_app_461dnd move node hierarchy binding context
Editable Nodes with CustomTreeItem (C)z2ui5_cl_smp_app_463customtreeitem rename input binding write back
Inside a Dialog (C)z2ui5_cl_smp_app_462popup expand state hierarchy nodes
Nested ABAP Table in a sap.m.Treez2ui5_cl_smp_app_460hierarchy nodes nested json items

6 further classes ship in the same folder without a catalogue entry — they are the sub-apps the listed samples call (dialogs, detail views, nested apps), not entries in their own right. They run the same way if you name one directly:

z2ui5_cl_smp_app_020, z2ui5_cl_smp_app_025, z2ui5_cl_smp_app_105, z2ui5_cl_smp_app_112, z2ui5_cl_smp_app_469, z2ui5_cl_smp_app_489

Where they come from

The samples are machine-transpiled from the ABAP originals in abap2UI5-samples by the builder-abap2UI5-js pipeline, and land in core/srv/app/samples/ on every sync. That folder is pipeline-owned: edits to it are overwritten on the next publish. Copy a sample into srv/app/ before you change it.

Some samples need a real server: those that call external OData services or CAP destinations will not work in the browser playground. See what the playground is not.

→ Ready to write your own? Start with Hello World, or read the App Lifecycle.

Released under the MIT License.