{"ref":"artifact:abap2ui5-addons-rap-ext","page":"/artifacts/abap2ui5-addons-rap-ext","json":"/artifacts/abap2ui5-addons-rap-ext.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"abap2ui5-addons-rap-ext","name":"rap-ext","artifact_type":"package","ecosystem":"abap","flavors":[{"key":"standard-abap","source":{"url":"https://github.com/abap2ui5-addons/rap-ext","title":"abap2UI5-addons/rap-ext — README, Installation","checked":"2026-10-19","quote":"Standard ABAP 7.58 or higher - the release the code is checked against"}},{"key":"abap-cloud","source":{"url":"https://github.com/abap2ui5-addons/rap-ext","title":"abap2UI5-addons/rap-ext — README, Installation","checked":"2026-10-19","quote":"ABAP Cloud as an additional path with the limits in [ABAP Cloud](#abap-cloud) (the sources are also checked against the ABAP Cloud language version, `npm run lint:cloud`)"}}],"domain":"ui-and-frontend-bridge","origin_ring":"community-org","use_as":"dependency","description":{"one_line":"Floorplan classes that read a CDS entity's UI annotations at runtime and render a list report, worklist, tree, object page, overview page, value help or action dialog as an [abap2UI5](artifact:abap2ui5-abap2ui5) app.","short":"Floorplans rendered from CDS UI annotations as abap2UI5 apps","what_it_solves":"A CDS view with `@UI` annotations already says what its list, its filter bar and its object page look like, and on an ABAP system getting that screen still means a Fiori app and a service to feed it. rap-ext reads the entity's metadata at runtime, metadata extensions included, and builds the matching floorplan from it: `NEW z2ui5_cl_rap_list_report( cds_view_name = ... )` handed to `nav_app_call` is the call. Which API reads the annotations is decided once per session, `CL_DD_DDL_ANNOTATION_SERVICE=>GET_ANNOS` where RTTI knows it and the released XCO API in ABAP Cloud. Where the entity is the root of a RAP business object it writes through dynamic EML, drafts and feature control included, and offers only the operations the BDEF defines; a CDS view that is no business object is read-only, and so is a database table until an extension allows its writes. No floorplan is FINAL: every rendering and event step is a protected method a subclass replaces with plain abap2UI5 view code, and an implementation of `z2ui5_if_rap_ext` passed to `set_extension( )` adjusts the metadata, the rows, the texts and the events without a subclass. It installs with [abapGit](artifact:abapgit-abapgit) after [abap2UI5](artifact:abap2ui5-abap2ui5).","when_not_to_use":"Not the whole addon in ABAP Cloud: the DDIC annotation service is not released there, so the annotations come through XCO instead, a database table is read-only, the DDL source is not read, and the cloud path was written without a cloud system to run it on. Not for a plain internal table, since it renders from CDS annotations; the README points at `z2ui5_cl_ui5_view_builder` for that case. As of 2026-10 the maintainer states that none of it has been clicked through in an SAP system: the RAP write path and the reading of metadata extensions were written from documentation and pass the three offline gates only.","to_build_on_it":"ROADMAP.md puts the system test first and reads the rest against its findings. The dynamic EML forms the floorplans need are parsed by no gate: `GET PERMISSIONS ... OPERATIONS`, `READ ENTITIES OPERATIONS` and `CONVERT KEY` sit in one small class each, listed in `global.noIssues` of `abaplint.jsonc` and called dynamically, and the maintainer names contributing the grammar to [abaplint](artifact:abaplint-abaplint) as the better way out, after which those classes go. The ABAP Cloud reader is in the same position, written and not run: what XCO's visitor reports, the property names it returns and whether `inherited` holds the propagated annotations are section 12 of docs/system-test.md."},"links":{"repo":"https://github.com/abap2UI5-addons/rap-ext"},"identity":{"license":"MIT"},"type_properties":{"placement":{"value":"in-host","sources":[{"url":"https://github.com/abap2ui5-addons/rap-ext","title":"abap2UI5-addons/rap-ext — README, intro","checked":"2026-10-19","quote":"> Part of [abap2UI5-addons](https://github.com/abap2UI5-addons) - addons and apps for [abap2UI5](https://github.com/abap2UI5/abap2UI5), installed with [abapGit](https://abapgit.org)."}]},"distribution":{"value":["abapgit"],"sources":[{"url":"https://github.com/abap2ui5-addons/rap-ext","title":"abap2UI5-addons/rap-ext — README, Installation","checked":"2026-10-19","quote":"**Steps** - with [abapGit](https://abapgit.org), in this order:"}]}},"maintainers":["actor:abap2ui5-addons"],"provides":[{"capability":"capability:fiori-annotations","what_it_does":"Reads a CDS entity's `@UI`, `@ObjectModel`, `@Consumption`, `@Search` and `@Semantics` annotations, metadata extensions included, and renders the list report, worklist, tree, object page, overview page, value help and action dialog they describe, with no UI code written per entity.","sources":[{"url":"https://github.com/abap2ui5-addons/rap-ext","title":"abap2UI5-addons/rap-ext — README, CDS List Report","checked":"2026-10-19","quote":"Renders a Fiori-Elements-style list report for any CDS view, driven entirely by its annotations:"},{"url":"https://github.com/abap2ui5-addons/rap-ext","title":"abap2UI5-addons/rap-ext — README, Metadata","checked":"2026-10-19","quote":"data element texts (DDIC), the associations and every annotation - through `CL_DD_DDL_ANNOTATION_SERVICE=>GET_ANNOS`, so **metadata extensions** are included"}]},{"capability":"capability:abap-ui-from-abap","what_it_does":"Produces the screen from ABAP: a floorplan is an ABAP class, and every rendering and event step is a protected method a subclass redefines with [abap2UI5](artifact:abap2ui5-abap2ui5) view code built through `z2ui5_cl_ui5_view_builder`.","sources":[{"url":"https://github.com/abap2ui5-addons/rap-ext","title":"abap2UI5-addons/rap-ext — README, The Escape Hatch","checked":"2026-10-19","quote":"Every floorplan in this addon is deliberately **not FINAL**: all rendering and event steps are `PROTECTED` methods a subclass can redefine with ordinary abap2UI5 view code"}]}],"requires":[{"ref":"artifact:abap2ui5-abap2ui5","for":"The framework the floorplans run on: they are [abap2UI5](artifact:abap2ui5-abap2ui5) apps, called with `nav_app_call` and built with the core's `z2ui5_cl_ui5_view_builder`, and the README names abap2UI5 as a requirement and the first install step.","requirement":"required","basis":"binding","role":"framework","sources":[{"url":"https://github.com/abap2ui5-addons/rap-ext","title":"abap2UI5-addons/rap-ext — README, intro","checked":"2026-10-19","quote":"> Part of [abap2UI5-addons](https://github.com/abap2UI5-addons) - addons and apps for [abap2UI5](https://github.com/abap2UI5/abap2UI5), installed with [abapGit](https://abapgit.org)."}]},{"ref":"artifact:abapgit-abapgit","for":"How the repository is brought into the system: [abap2UI5](artifact:abap2ui5-abap2ui5) first, then this repository's `main` branch.","requirement":"required","basis":"binding","role":"installation","sources":[{"url":"https://github.com/abap2ui5-addons/rap-ext","title":"abap2UI5-addons/rap-ext — README, Installation","checked":"2026-10-19","quote":"**Steps** - with [abapGit](https://abapgit.org), in this order:"}]}],"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":"fair","evidence":"2 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"SAP_BASIS 758 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12), 756 (SAP S/4HANA 2021, maintained to 2026-12), 757 (SAP S/4HANA 2022, maintained to 2027-12)"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"good","evidence":"unit green, 2026-10-20"}],"practice":[{"label":"Tests","tier":"good","evidence":"1 test file"},{"label":"Docs","tier":"good","evidence":"docs/ with 1 page, README 84 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":0,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":0,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2026-10-20","license_spdx":"MIT","org_owned":true,"default_branch":"main","created_at":"2025-02-02T13:47:11Z","open_prs":0,"tree_truncated":false,"test_files":1,"workflows":4,"other_ci":false,"readme_bytes":85897,"docs_files":1,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2025-02-02","last_commit":"2026-10-20","commits":119,"contributors":2,"ci_status":"success","ci_run_at":"2026-10-20","ci_workflow":"unit","ci_event":"push","readme_path":"README.md","readme_sha":"480d78587978a360d86c1ab61c374b109c25f9c4","repo_read":"2026-10-24","abap_syntax":{"repo":"abap2UI5-addons/rap-ext","file":"abaplint.jsonc","url":"https://github.com/abap2UI5-addons/rap-ext/blob/HEAD/abaplint.jsonc","version":"v758","floor":"758","checked":"2026-10-26"}},"edges":{"maintainers":[{"ref":"actor:abap2ui5-addons","name":"abap2UI5-addons","json":"/actors/abap2ui5-addons.json"}],"contributors":[{"ref":"actor:oblomov-dev","name":"oblomov-dev","json":"/actors/oblomov-dev.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_on_to":{"ref":"artifact:abap2ui5-abap2ui5","name":"abap2UI5","json":"/artifacts/abap2ui5-abap2ui5.json"},"add_ons":[],"answered_through_parts":[]}}