{"ref":"artifact:attilaberencsi-abaprapunmanagedsave","page":"/artifacts/attilaberencsi-abaprapunmanagedsave","json":"/artifacts/attilaberencsi-abaprapunmanagedsave.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"attilaberencsi-abaprapunmanagedsave","name":"abaprapunmanagedsave","artifact_type":"sample","ecosystem":"abap","domain":"data-and-persistence","origin_ring":"independent","description":{"one_line":"A practice repository for the managed RAP scenario with unmanaged save: a purchase order business object whose SAVE phase and late numbering are written by hand.","short":"Practice repository for managed RAP with unmanaged save","what_it_solves":"Managed RAP takes over both the interaction phase and the save sequence, and this repository works through the two variants where it does not take over all of the saving. Its scenario is a RAP application built on the data model of an existing application and integrated through that application's API, which is why the README says the SAVE phase and late numbering have to be implemented by the developer. The README also states the distinction being practised: with unmanaged save the developer assumes the entire responsibility for persistence, with additional save the developer adds logic to the persistence the framework manages, and in both the interaction phase stays with the framework. The objects under `src/` are the exercise: the CDS views and behaviour definitions of `ZI_RAP_PURCHASEORDER_M` and its projection, the behaviour implementation class `ZBP_I_RAP_PURCHASEORDER_M`, an exception class, a material value help, an OData service definition and binding, and a BSP application `ZPO_OWN_UI` carrying a UI5 app with annotations, a manifest and a mock server. They are serialised in [abapGit](artifact:abapgit-abapgit)'s format; nothing is published to a registry, and the README names the SAP Press book on the ABAP RESTful Application Programming Model as its reference."},"links":{"repo":"https://github.com/attilaberencsi/abaprapunmanagedsave"},"type_properties":{"form":{"value":"reference-application","sources":[{"url":"https://github.com/attilaberencsi/abaprapunmanagedsave","title":"abaprapunmanagedsave — README","checked":"2026-10-18","quote":"A practice repository for the managed RAP scenario with unmanaged save: a purchase order business object whose SAVE phase and late numbering are written by hand."}]}},"identity":{"license":"MIT"},"source_available":true,"demonstrates":["capability:abap-transactional-model"],"maintainers":["actor:attilaberencsi"],"provenance":{"discovered_via":[{"source":"source:github-orgs","channel":"attilaberencsi"}],"first_seen":"2026-10-01"},"drafted_with_ai":true,"contributors":["actor:attilaberencsi"]},"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":"poor","evidence":"pushed 2024-02, 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":"fair","evidence":"README 1 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":5,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":5,"forks":3,"open_issues":0,"archived":false,"pushed_at":"2024-02-04","license_spdx":"MIT","org_owned":false,"default_branch":"main","created_at":"2024-02-03T19:17:12Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":1134,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2024-02-03","last_commit":"2024-02-04","commits":6,"contributors":1,"readme_path":"README.md","readme_sha":"a7ff5db4314398043da421ff31daccd0bc4c927b","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:attilaberencsi","name":"Attila Berencsi","json":"/actors/attilaberencsi.json"}],"contributors":[{"ref":"actor:attilaberencsi","name":"Attila Berencsi","json":"/actors/attilaberencsi.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}