{"ref":"artifact:abap2ui5-addons-open-source-libs","page":"/artifacts/abap2ui5-addons-open-source-libs","json":"/artifacts/abap2ui5-addons-open-source-libs.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"abap2ui5-addons-open-source-libs","name":"abap2UI5-addons/open-source-libs","artifact_type":"sample","ecosystem":"abap","domain":"learning-and-reference","secondary_domains":["ui-and-frontend-bridge"],"origin_ring":"community-org","use_as":"reference","description":{"one_line":"Eleven [abap2UI5](artifact:abap2ui5-abap2ui5) apps, one per open-source ABAP library, each putting its library to work in the browser on the developer's own system.","short":"Eleven abap2UI5 apps, one per open-source ABAP library","what_it_solves":"Most open-source ABAP libraries come with a README and unit tests but no screen, so seeing what one does means writing a report against it first. Every package in `src/` is one abap2UI5 app for one library, written in nothing but ABAP, with the library installed beside it through [abapGit](artifact:abapgit-abapgit) rather than copied in: [abap2xlsx](artifact:abap2xlsx-abap2xlsx), [abap-openapi](artifact:abap-openapi-abap-openapi), [abap-data-validator](artifact:hhelibeb-abap-data-validator), abap-tbox-stats, abap_fm_json, ABAP Diff3, JSON2ABAPType, abap-fm-logger, zcl_pdf, zcl_docx and abapFaker. Each package needs abap2UI5 and its own library and nothing else, so only the samples whose libraries are installed can be started, each by its app class with `?app_start=`. It runs on Standard ABAP (S/4 Private Cloud or on-premise, or NetWeaver AS ABAP 7.50 and higher) with SAPUI5 1.71 or higher, and the one sample whose charts are `sap.viz` controls needs the bootstrap switched from OpenUI5 to SAPUI5 in an abap2UI5 user exit.","when_not_to_use":"Not on ABAP Cloud: most of the libraries use APIs that are not released there, and the repository has no ABAP Cloud gate yet. Not beyond a development system without authorisation checks added first — the samples carry none of their own, the abap-fm-logger sample reads the log table `ZAFL_LOG` with whatever the logged calls received and returned, and the abap_fm_json sample calls function modules, limited to a hard-coded whitelist.","to_build_on_it":"A library is added as one more package: `src/NN/`, classes named `z2ui5_cl_osl_<library>` and at most 25 characters because the rename build may extend the namespace, and the library entered in the `dependencies` of `abaplint.jsonc` and `.github/abaplint/rename.json`. `npm run check` runs what CI runs: abaplint against Standard ABAP, the abap2UI5-linter with its render gate, and the namespace-rename check. A view with a SAPUI5-only control has to be excluded from the render gate by hand. AGENTS.md describes the ABAP Cloud workflow that does not exist yet and what the first sample with a cloud-capable library would have to add."},"flavors":[{"key":"standard-abap","source":{"url":"https://github.com/abap2ui5-addons/open-source-libs","title":"abap2UI5-addons/open-source-libs — README","checked":"2026-10-17","quote":"Standard ABAP: S/4 Private Cloud or On-Premise, or SAP NetWeaver AS ABAP 7.50"}}],"links":{"repo":"https://github.com/abap2UI5-addons/open-source-libs"},"maintainers":["actor:abap2ui5-addons"],"requires":[{"ref":"artifact:abap2ui5-abap2ui5","for":"Every package in `src/` is an abap2UI5 app, so the framework is installed before the samples.","requirement":"required","basis":"binding","role":"framework","sources":[{"url":"https://github.com/abap2ui5-addons/open-source-libs","title":"abap2UI5-addons/open-source-libs — README","checked":"2026-10-17","quote":"Each package needs abap2UI5 and its own library, nothing else."}]},{"ref":"artifact:abapgit-abapgit","for":"Pulling abap2UI5, the libraries and this repository into the system, in that order.","requirement":"required","basis":"binding","role":"installation","sources":[{"url":"https://github.com/abap2ui5-addons/open-source-libs","title":"abap2UI5-addons/open-source-libs — README","checked":"2026-10-17","quote":"**Steps** - with [abapGit](https://abapgit.org), in this order:"}]},{"ref":"artifact:abap2xlsx-abap2xlsx","for":"The library the `src/02` sample drives: an Excel workbench that writes styled workbooks and reads uploaded ones back. The sample uses it as a dependency and never copies it.","requirement":"conditional","basis":"binding","role":"demonstrated-library","condition":"the `src/02` sample, `z2ui5_cl_osl_abap2xlsx`, is installed and run","sources":[{"url":"https://github.com/abap2ui5-addons/open-source-libs","title":"abap2UI5-addons/open-source-libs — README","checked":"2026-10-17","quote":"| `src/02` | [abap2xlsx](https://github.com/abap2xlsx/abap2xlsx) | `z2ui5_cl_osl_abap2xlsx` |"},{"url":"https://github.com/abap2ui5-addons/open-source-libs","title":"abap2UI5-addons/open-source-libs — README","checked":"2026-10-17","quote":"The libraries stay where they are — each sample uses its library as a dependency, it never copies it."}]},{"ref":"artifact:abap-openapi-abap-openapi","for":"The library the `src/04` sample drives: its generator turns an OpenAPI 3 document into an ABAP interface, client and ICF handler, and its parser reads the operations the app lists.","requirement":"conditional","basis":"binding","role":"demonstrated-library","condition":"the `src/04` sample, `z2ui5_cl_osl_openapi`, is installed and run","sources":[{"url":"https://github.com/abap2ui5-addons/open-source-libs","title":"abap2UI5-addons/open-source-libs — README","checked":"2026-10-17","quote":"| `src/04` | [abap-openapi](https://github.com/abap-openapi/abap-openapi) | `z2ui5_cl_osl_openapi` |"},{"url":"https://github.com/abap2ui5-addons/open-source-libs","title":"abap2UI5-addons/open-source-libs — README","checked":"2026-10-17","quote":"run the library's generator (`zcl_oapi_generator=>generate_v2`)"}]},{"ref":"artifact:hhelibeb-abap-data-validator","for":"The library the `src/11` sample drives, in its Standard ABAP release: `zcl_adata_validator->validate( )` runs over the sample's editable table and marks the invalid cells with the library's messages.","requirement":"conditional","basis":"binding","role":"demonstrated-library","condition":"the `src/11` sample, `z2ui5_cl_osl_validator`, is installed and run","sources":[{"url":"https://github.com/abap2ui5-addons/open-source-libs","title":"abap2UI5-addons/open-source-libs — README","checked":"2026-10-17","quote":"| `src/11` | [abap-data-validator](https://github.com/hhelibeb/abap-data-validator) | `z2ui5_cl_osl_validator` |"},{"url":"https://github.com/abap2ui5-addons/open-source-libs","title":"abap2UI5-addons/open-source-libs — README","checked":"2026-10-17","quote":"abap-data-validator: install the Standard ABAP release (branch `master`), not the ABAP Cloud one"}]}],"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":"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":"abap-standard green, 2026-10-12"}],"practice":[{"label":"Tests","tier":"fair","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"README 17 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":2,"archived":false,"pushed_at":"2026-10-20","license_spdx":"MIT","org_owned":true,"default_branch":"main","created_at":"2026-09-29T11:40:26Z","open_prs":2,"tree_truncated":false,"test_files":0,"workflows":4,"other_ci":false,"readme_bytes":16896,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2026-09-29","last_commit":"2026-10-12","commits":12,"contributors":2,"ci_status":"success","ci_run_at":"2026-10-12","ci_workflow":"abap-standard","ci_event":"push","readme_path":"README.md","readme_sha":"4e552b9d678d28d7b8287532bb8218d4c6f87f67","repo_read":"2026-10-24","abap_syntax":{"repo":"abap2UI5-addons/open-source-libs","file":"abaplint.jsonc","url":"https://github.com/abap2UI5-addons/open-source-libs/blob/HEAD/abaplint.jsonc","version":"v750","floor":"750","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":[]}}