{"ref":"artifact:spreadsheetimporter-abap-importer","page":"/artifacts/spreadsheetimporter-abap-importer","json":"/artifacts/spreadsheetimporter-abap-importer.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"spreadsheetimporter-abap-importer","name":"ABAP Spreadsheet Importer","artifact_type":"package","ecosystem":"abap","flavors":[{"key":"abap-cloud","source":{"url":"https://docs.spreadsheet-importer.com/abap/","title":"Spreadsheet Importer documentation — ABAP Spreadsheet Importer (backend)","checked":"2026-09-18","quote":"Developed in the **ABAP for Cloud Development** language version (clean core), so one codebase runs on on-prem and Cloud."}}],"domain":"data-and-persistence","origin_ring":"community-org","use_as":"dependency","description":{"one_line":"A server-side ABAP component that parses an uploaded XLSX or CSV file and creates instances of a named RAP business object through dynamic EML, so its validations and authorizations run on every row.","short":"ABAP component importing XLSX or CSV files into RAP business objects","what_it_solves":"You name a RAP business object and it parses the file in the backend and creates the rows, building the payload at runtime through RTTC, so a flat active create needs no code per business object. The inserts go through EML rather than a direct database write, which is what makes the business object's own determinations, validations and authorizations run on every row; the facade returns created keys and per-row messages rather than raising. XLSX is read through XCO and CSV through an RFC 4180 state machine, with DDIC-aware coercion for dates, EU and US decimals, NUMC padding, ALPHA conversion, amounts with currency symbols, and booleans. It runs on S/4HANA 2023 (SAP_BASIS 758) or higher, SAP BTP ABAP Environment or S/4HANA Cloud, and installs through abapGit under the ZSSI_ prefix. Its own documentation calls it early and experimental at 0.x with the ZCL_SSI_ and ZIF_SSI_ public API still liable to change between releases, and says the component is commercial and its source repositories private."},"links":{"docs":"https://docs.spreadsheet-importer.com/abap/","homepage":"https://spreadsheet-importer.com/"},"identity":{"license":"Commercial; source repositories private"},"source_available":false,"provides":[{"capability":"capability:data-import-export","what_it_does":"The import side inside the ABAP system: an uploaded XLSX or CSV file is parsed in the backend and its rows are created on a named RAP business object through dynamic EML, so the business object's determinations, validations and authorizations decide what is written.","sources":[{"url":"https://docs.spreadsheet-importer.com/abap/","title":"Spreadsheet Importer documentation — ABAP Spreadsheet Importer (backend)","checked":"2026-09-18","quote":"A reusable, **server-side** ABAP RAP component that imports Excel (`.xlsx`) and CSV files into a consuming RAP business object via dynamic EML"},{"url":"https://docs.spreadsheet-importer.com/abap/","title":"Spreadsheet Importer documentation — ABAP Spreadsheet Importer (backend)","checked":"2026-09-18","quote":"because inserts go through EML the consuming BO's determinations, validations and authorizations all run — unlike a raw DB insert."}]}],"provenance":{"discovered_via":[{"source":"source:curator","channel":"spreadsheetimporter organisation repositories"}],"first_seen":"2026-09-18"},"drafted_with_ai":true},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"unknown","evidence":"no contributor data"},{"label":"Repository","tier":"unknown","evidence":"no repository data"}],"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":"unknown","evidence":"no repository data"}],"practice":[{"label":"Tests","tier":"unknown","evidence":"not crawled"},{"label":"Docs","tier":"unknown","evidence":"docs link declared, tree not read"},{"label":"Changelog","tier":"unknown","evidence":"not crawled"}],"reach":[{"value":null,"unit":"installs/week"},{"value":null,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","npm":"not published under this name"},"edges":{"maintainers":[],"contributors":[],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}