{"ref":"content:abap-in-practice-creating-a-setup-app","page":"/content/abap-in-practice-creating-a-setup-app","json":"/content/abap-in-practice-creating-a-setup-app.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"abap-in-practice-creating-a-setup-app","title":"ABAP in Practice - Creating a Setup App","url":"https://software-heroes.com/en/blog/abap-in-practice-create-setup-app","content_type":"blog","published_on":"source:software-heroes","explains":["capability:abap-transactional-model"],"summary":"Walks through an unmanaged custom entity behind a static Fiori Elements setup app: a factory maps step IDs to implementation classes behind one interface, and the [transactional model](capability:abap-transactional-model) sets every CRUD operation internal while adding CheckStep and ExecuteStep actions instead of generated persistence. It buffers the executed step for the save sequence and moves an API that issues a COMMIT to a background process via bgPF, since a COMMIT inside the action is forbidden in strict mode.","short":"Unmanaged custom entity behind a static Fiori Elements setup app","author":"Björn S.","published":"2026-08-28","provenance":{"discovered_via":[{"source":"source:software-heroes"}],"first_seen":"2026-09-18"},"drafted_with_ai":true},"readings":{"liveness":[{"label":"Checked against the source","tier":"unknown","evidence":"nobody has checked it"},{"label":"Source reachable","tier":"unknown","evidence":"not crawled"},{"label":"Age","tier":"good","evidence":"published 2 months ago"}],"compatibility":[{"label":"Version","tier":"unknown","evidence":"no version declared"},{"label":"Moved since?","tier":"good","evidence":"no recorded change after 2026-08-28"},{"label":"Findings","tier":"good","evidence":"none flagged"}],"reach":[{"value":null,"unit":"views"},{"value":null,"unit":"comments"},{"value":null,"unit":"likes"}]},"signals":null,"series":null,"edges":{"authors":[]}}