{"ref":"artifact:mariokernich-odapu-abap","page":"/artifacts/mariokernich-odapu-abap","json":"/artifacts/mariokernich-odapu-abap.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"mariokernich-odapu-abap","name":"ODAPU","artifact_type":"app","ecosystem":"abap","domain":"developer-experience","origin_ring":"independent","description":{"one_line":"A UI5 app installed with [abapGit](artifact:abapgit-abapgit) that builds and saves test requests for OData services and connects to ABAP Push Channels, on S/4HANA systems.","short":"UI5 app for OData test requests and ABAP Push Channels","what_it_solves":"Picks an OData service from a search list, whether RAP and CDS or a classic SEGW project, and builds a request from its entities, functions and actions, with filter, sort, header and expand options instead of a hand-written URL. The metadata shows as XML or as a diagram of entities, functions, actions and complex types, and requests and projects are saved to reopen in tabs. An ABAP Push Channel on the system can be connected to, sent messages and read. On-premise it runs from the Fiori launchpad after a semantic object, a role and an SICF node are set up; the BTP setup deploys the UI from [odapu-ui5](https://github.com/mariokernich/odapu-ui5), and the README states it is not tested yet."},"links":{"repo":"https://github.com/mariokernich/odapu-abap"},"type_properties":{"distribution":{"value":["abapgit"],"sources":[{"url":"https://github.com/mariokernich/odapu-abap","title":"mariokernich/odapu-abap — README","checked":"2026-09-13","quote":"To set up and use this project, you need to use [abapgit](https://abapgit.org/)."}]},"placement":{"value":"in-host","sources":[{"url":"https://github.com/mariokernich/odapu-abap","title":"ODAPU — README","checked":"2026-10-18","quote":"At least one system with S/4HANA components"}]}},"provides":[{"capability":"capability:abap-service-testing","what_it_does":"Builds, runs and saves OData requests against services on the system, and connects to ABAP Push Channels to send and receive messages.","sources":[{"url":"https://github.com/mariokernich/odapu-abap","title":"mariokernich/odapu-abap — README","checked":"2026-09-13"}]}],"requires":[{"ref":"artifact:abapgit-abapgit","for":"Pulls the repository into the ABAP system; it is the only installation path the README gives.","sources":[{"url":"https://github.com/mariokernich/odapu-abap","title":"mariokernich/odapu-abap — README","checked":"2026-09-13","quote":"To set up and use this project, you need to use [abapgit](https://abapgit.org/)."}]},{"ref":"artifact:btp-abap-environment","for":"the ABAP system the app runs on when deployed in the cloud rather than on-premise","requirement":"conditional","condition":"deployed on SAP BTP rather than on-premise","basis":"binding","role":"runtime","sources":[{"url":"https://github.com/mariokernich/odapu-abap","title":"odapu-abap README","checked":"2026-10-18","quote":"Works both on-premise and in the SAP BTP (Cloud) environment"}]},{"ref":"external:sap-s4hana","for":"the system the app tests OData services and ABAP Push Channels against","requirement":"required","basis":"binding","role":"target-system","sources":[{"url":"https://github.com/mariokernich/odapu-abap","title":"odapu-abap README","checked":"2026-10-18","quote":"At least one system with S/4HANA components"}]}],"maintainers":["actor:mariokernich"],"identity":{"license":"Apache-2.0"},"source_available":true,"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-13"},"contributors":["actor:mariokernich"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"fair","evidence":"pushed 2025-08, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"README 5 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":9,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":9,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2025-08-26","license_spdx":"Apache-2.0","org_owned":false,"default_branch":"main","created_at":"2025-05-29T13:37:52Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":5380,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2025-05-29","last_commit":"2025-08-26","commits":73,"contributors":1,"readme_path":"README.md","readme_sha":"f3cd5075b83dbb2c1189b397bd891c76b4e44454","repo_read":"2026-10-26"},"release_notes":{"license":"Apache-2.0","quotable":true,"source":{"kind":"github-releases","url":"https://github.com/mariokernich/odapu-abap/releases"},"format":"github-releases","releases":[{"version":"1.0.0","date":"2025-08-26","date_source":"github","heading":"1.0.0","url":"https://github.com/mariokernich/odapu-abap/releases/tag/v1.0.0","sections":[{"kind":"other","heading":null,"items":12}],"hash":"0ffcb18f099b6798"},{"version":"0.1.1","date":"2025-06-15","date_source":"github","heading":"0.1.1","url":"https://github.com/mariokernich/odapu-abap/releases/tag/v0.1.1","sections":[{"kind":"other","heading":null,"items":4}],"hash":"26e9929d39636cbc"},{"version":"0.1.0","date":"2025-06-15","date_source":"github","heading":"0.1.0","url":"https://github.com/mariokernich/odapu-abap/releases/tag/v0.1.0","sections":[{"kind":"other","heading":null,"items":10}],"hash":"6a21e5b1d81daec5"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:mariokernich","name":"Mario Kernich","json":"/actors/mariokernich.json"}],"contributors":[{"ref":"actor:mariokernich","name":"Mario Kernich","json":"/actors/mariokernich.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}