{"ref":"content:rap-native-file-upload","page":"/content/rap-native-file-upload","json":"/content/rap-native-file-upload.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"rap-native-file-upload","title":"RAP - Native File Upload","url":"https://software-heroes.com/en/blog/abap-rap-native-file-upload","content_type":"blog","published_on":"source:software-heroes","explains":[{"ref":"capability:attachments","applies_to":{"ecosystems":["abap"]}}],"summary":"A workaround for uploading a file into a RAP application ahead of SAP's own upload and download solution, which is still pending: two abstract root entities — one holding the file's bytes, MIME type and filename, one for a popup dialog — joined by an association flagged `with hierarchy`, exposed through a static action declared with `DEEP PARAMETER` so the nested structure reaches the handler. The trade-offs are stated plainly: the popup takes no default values, only one file uploads at a time, and the UI annotation on the attachment field is ignored because its label is read from the sub-entity's own name.","short":"Workaround for file upload in RAP with abstract root entities","author":"Björn S.","published":"2026-08-18","provenance":{"discovered_via":[{"source":"source:software-heroes"}],"first_seen":"2026-09-18"},"drafted_with_ai":true,"history":[{"date":"2026-10-17","field":"explains","from":null,"to":"applies_to on capability:attachments (abap)","reason":"Door scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md)."}]},"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-18"},{"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":[]}}