{"ref":"artifact:abap2ui5-samples-controls","page":"/artifacts/abap2ui5-samples-controls","json":"/artifacts/abap2ui5-samples-controls.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"abap2ui5-samples-controls","name":"abap2UI5/samples-controls","artifact_type":"sample","ecosystem":"abap","serves_ecosystems":["ui5"],"flavors":[{"key":"abap-cloud","source":{"url":"https://github.com/abap2ui5/samples-controls","title":"abap2UI5/samples-controls — README, Compatibility","checked":"2026-10-17","quote":"runs on **ABAP Cloud** and **ABAP Standard**, and downports to **7.02**."}},{"key":"standard-abap","source":{"url":"https://github.com/abap2ui5/samples-controls","title":"abap2UI5/samples-controls — README, Compatibility","checked":"2026-10-17","quote":"runs on **ABAP Cloud** and **ABAP Standard**, and downports to **7.02**."}}],"domain":"learning-and-reference","secondary_domains":["ui-and-frontend-bridge"],"origin_ring":"community-org","use_as":"reference","description":{"one_line":"The UI5 Demo Kit rebuilt in ABAP: the official demo kit samples of ten UI5 libraries as ready-to-run [abap2UI5](artifact:abap2ui5-abap2ui5) apps, installed into a system with [abapGit](artifact:abapgit-abapgit).","short":"UI5 Demo Kit samples rebuilt as abap2UI5 apps","what_it_solves":"The demo kit routine of picking a control, opening its sample and copying the pattern has no counterpart when the view is built from ABAP, and this repository supplies one: the demo kit samples of ten UI5 libraries (`sap.m`, `sap.f`, `sap.ui.core`, `sap.ui.layout`, `sap.ui.table`, `sap.ui.unified`, `sap.uxap`, `sap.tnt`, `sap.ui.codeeditor`, `sap.ui.integration`) rebuilt 1:1 as [abap2UI5](artifact:abap2ui5-abap2ui5) apps. A pull with [abapGit](artifact:abapgit-abapgit) brings 642 classes in 15 packages, and `z2ui5_cl_smpc_app_000` is the way in: one searchable table whose rows link the original UI5 sample and start its ABAP rebuild in the system. A sample is in scope when its control exists since UI5 1.71 and is not deprecated, which leaves 113 of 742 demo kit samples out of scope; of the 617 portable ones in scope, all 617 are ported. `src/04` goes past single controls to the demo kit's own demo apps, Manage Products, Browse Orders and the Shopping Cart, one class per app with the router included and each class header naming what the rebuild does differently from the original. The UI5 original of every port is archived verbatim under `ui5/` and indexed in `api.md`, so the JS/XML and the ABAP class can be read side by side.","when_not_to_use":"The 221 ports under `src/02` need a UI5 runtime newer than 1.71: they install and activate on any release, and on an older UI5 the newer control does not render. The `src/03` collection is hand-written for SAPUI5-only controls and needs a SAPUI5 bootstrap. There are no per-library branches, so pulling the whole repository is the one way in and the activation takes a few minutes.","to_build_on_it":"The ports are generated and gated by an AI coding agent, so a change starts outside the class: `AGENTS.md` is the generation rulebook, `CONTRIBUTING.md` states what not to hand-edit, and `scripts/generation-prompt.txt` is the prompt the porting agent is given, which [abap2UI5](artifact:abap2ui5-abap2ui5)'s mcp-server also hands its clients as the `generation_rules` rulebook. Twelve in-scope samples are held back in `ui5/holdout.json`: never used as prompt references, kept out of batch planning and regenerated from scratch to measure the generator itself. What porting asked the framework for is recorded in `docs/upstream-requests.md`, with open requests kept in the abap2UI5 repository's `backlog/`."},"links":{"repo":"https://github.com/abap2UI5/samples-controls","docs":"https://abap2ui5.github.io/playground/samples/"},"maintainers":["actor:abap2ui5"],"part_of":{"ref":"artifact:abap2ui5-abap2ui5","sources":[{"url":"https://github.com/abap2ui5/samples-controls","title":"abap2UI5/samples-controls — README, The learning path","checked":"2026-10-17","quote":"This repository is step 2 of 3 — the control reference of the abap2UI5 sample family:"}]},"requires":[{"ref":"artifact:abap2ui5-abap2ui5","for":"The framework every port is built on: each sample is rebuilt as an abap2UI5 app implementing `z2ui5_if_app`, and the README names abap2UI5 as this repository's one dependency.","requirement":"required","basis":"binding","role":"framework","sources":[{"url":"https://github.com/abap2ui5/samples-controls","title":"abap2UI5/samples-controls — README, Try it in 60 seconds","checked":"2026-10-17","quote":"Install [abap2UI5](https://github.com/abap2UI5/abap2UI5)."},{"url":"https://github.com/abap2ui5/samples-controls","title":"abap2UI5/samples-controls — README, Generate","checked":"2026-10-17","quote":"**Generate** — rebuild each sample 1:1 as an abap2UI5 app (`z2ui5_if_app`),"}]},{"ref":"artifact:abapgit-abapgit","for":"Pulling the classes into the system; with no per-library branches, the whole repository is pulled at once.","requirement":"required","basis":"binding","role":"installation","sources":[{"url":"https://github.com/abap2ui5/samples-controls","title":"abap2UI5/samples-controls — README, Try it in 60 seconds","checked":"2026-10-17","quote":"Pull this repository with [abapGit](https://abapgit.org)."}]}],"provenance":{"discovered_via":[{"source":"source:github"}],"first_seen":"2026-10-17"},"drafted_with_ai":true,"contributors":["actor:oblomov-dev"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"4 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"good","evidence":"SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"good","evidence":"check-summary green, 2026-10-22"}],"practice":[{"label":"Tests","tier":"good","evidence":"124 test files"},{"label":"Docs","tier":"good","evidence":"docs/ with 2 pages, docs site, README 18 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":3,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":3,"forks":0,"open_issues":2,"archived":false,"pushed_at":"2026-10-22","license_spdx":"MIT","org_owned":true,"default_branch":"main","created_at":"2026-07-14T08:48:05Z","open_prs":2,"tree_truncated":false,"test_files":124,"workflows":25,"other_ci":false,"readme_bytes":18660,"docs_files":2,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2026-07-14","last_commit":"2026-10-22","commits":356,"contributors":4,"ci_status":"success","ci_run_at":"2026-10-22","ci_workflow":"check-summary","ci_event":"push","readme_path":"README.md","readme_sha":"20d8c711407035b1d31ad52c8fa86817b1ca337e","repo_read":"2026-10-24","abap_syntax":{"repo":"abap2UI5/samples-controls","file":"abaplint.jsonc","url":"https://github.com/abap2UI5/samples-controls/blob/HEAD/abaplint.jsonc","version":"v750","floor":"750","checked":"2026-10-26"}},"edges":{"maintainers":[{"ref":"actor:abap2ui5","name":"abap2UI5","json":"/actors/abap2ui5.json"}],"contributors":[{"ref":"actor:oblomov-dev","name":"oblomov-dev","json":"/actors/oblomov-dev.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"part_of":{"ref":"artifact:abap2ui5-abap2ui5","name":"abap2UI5","json":"/artifacts/abap2ui5-abap2ui5.json"},"parts":[],"add_on_to":{"ref":"artifact:abap2ui5-abap2ui5","name":"abap2UI5","json":"/artifacts/abap2ui5-abap2ui5.json"},"add_ons":[],"answered_through_parts":[]}}