abapDataToTableImport
An ABAP framework that declares a target structure in code and maps data a user supplies from a clipboard, an Excel file, a text file or an internal table onto it, with drag-and-drop column mapping.
Getting data from a user usually means writing a parser for whatever file they hand over, against a target structure whose expected columns are documented nowhere. abapDataToTableImport turns that round: the target structure is declared in code, and the framework parses what a user supplies from a clipboard, an Excel file or a text file, or what a program supplies as an internal table, then asks the user to map source columns onto target fields, with drag and drop and in-place editing of the source data. It supports several common formats for dates, times and numbers and detects the most probable separator in a text file, and it does not support escaped characters inside quotes. It reports the columns it cannot map. Installed with abapGitabapGitA Git client written in ABAP that runs inside the system, so objects are cloned, pulled and pushed without leaving it; with no package manager in ABAP, a cloned repository is how code is distributed.community org, abap, it needs abapEasyALVabapEasyALVWrapper classes over the classic ALV and SALV frameworks that collect commonly used reporting actions behind fewer method calls, so a report displays a table with set_data and display_data.independent, abap and is written in ABAP 7.50.
Facts
Where it sits
Who is behind it
In the atlas: maintains 6, contributes to 8@Kaszub09maintainer
What it declares
Every artifact
- Type
- Package
- Origin
- Independently maintained
As a package
- Where it runs
- Inside its host
- Distributed through
- abapGit
Connections
Getting files into tables and table content back out as files
Wrapper classes over classic ALV and SALV reporting
Git client written in ABAP that runs inside the system
Download
README
quoted from Kaszub09/abapDataToTableImport under MIT, readInstallation
Via https://github.com/abapGit/abapGit. Requires https://github.com/Kaszub09/abapEasyALV. Written in ABAP 7.50.
Description
Getting data from user made easy!
Whenever you need to user to supply data, be it table or file - usually you have some target structure, which the file must match. But unless there is some documentation or example file (usually there isn't), you have to read code to see what kind of structure should file have. Instead, you could just use this framework to declare desired structure, and let it take care of parsing and mapping whatever data user (or you via internal table) supplies. Now documentation is optional since you know explicitly what columns are expected (and code doesn't lie).
For example, when you run this report:
"Sample target structure
TYPES:
BEGIN OF t_target,
date_field TYPE d,
some_name TYPE fieldname,
int_field TYPE i,
packed_field TYPE p LENGTH 10 DECIMALS 2,
another_column TYPE string,
END OF t_target,
tt_target TYPE STANDARD TABLE OF t_target WITH EMPTY KEY.
DATA:
target_tab TYPE tt_target.
DATA(target) = zcl_dtti_target_factory=>create_from_ref( REF #( target_tab ) ).
"Set in code or create (or use existing) data elements if needed
target->set_field_description( field = 'ANOTHER_COLUMN' description = |Another column| ).
target->set_field_description( field = 'INT_FIELD' description = |Some int column| ).
"Data source from file
DATA(source) = zcl_dtti_source_factory=>create_from_file( ).
IF source IS NOT BOUND.
MESSAGE TEXT-001 TYPE 'E'.
ENDIF.
"Get mapping
DATA(dtti) = NEW zcl_data_to_table_import( ).
DATA(result) = dtti->run_mapping( source = source target = target ).
"Display mapping result
DATA(alv) = NEW zcl_ea_salv_table( ).
alv->set_data( target->get_target_table( ) ).
alv->display_data( ).
It will ask user for file, parse it, and allow user to map columns from file to the ones needed by program.
https://github.com/user-attachments/assets/ea282c18-54ae-404e-93ae-7c7c1ffdbeac
Features
- Import data from clipboard, Excel file or text file (or supplied internal table)
- Allow user to map columns between source and target structure
- Supports Drag&Drop
- Support for editing source data in place
- Information if columns can't be mapped
- Support for multiple common formats for date, time and numbers. In case of text files, most probable separator is detected. Currently doesn't support escaped characters inside quotes.
Others providing
Compare all 9 on the Importing and exporting table data page →- abap2UI5 for Excelabap2UI5 for ExcelAn Office add-in that runs an abap2UI5 app in Excel's task pane, where the app reads and writes the workbook through the z2ui5.cc.ExcelBridge control.community org, abapOffice add-in running an abap2UI5 app in Excel's task panefrom ABAP
- abap2UI5-addons/table-content-loaderabap2UI5-addons/table-content-loaderAn abap2UI5 developer tool that moves the content of an ABAP table in and out of JSON, CSV or XLSX files, with a preview before download or saving to the database.independent, abapUpload, edit and download ABAP table content as JSON, CSV or XLSXfrom ABAP
- boy0korea/abap2jsonboy0korea/abap2jsonA report that exports ABAP table content to a JSON zip file, per table or per package, imports it back into its table, and compares or copies table content across servers.independent, abapExports and imports ABAP table content as zipped JSONfrom ABAP
- boy0korea/ABAP2XLSX_HELPERboy0korea/ABAP2XLSX_HELPERHelper methods over abap2xlsx to download, email or upload a table as Excel, and to convert between Excel, JSON and an ABAP table.independent, abapHelper methods over abap2xlsx for Excel, JSON and tablesfrom ABAP
- mkysoft/xlsxreadermkysoft/xlsxreaderAn ABAP library that reads the content of Excel spreadsheets in the OpenXML format; its documentation states only that scope, with no detail on the class it exposes or on writing a file back.independent, abapReader for Excel spreadsheets in OpenXML format from ABAPfrom ABAP
- ABAP Spreadsheet ImporterABAP Spreadsheet ImporterA 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.community org, abapABAP component importing XLSX or CSV files into RAP business objectsfrom ABAP
- cds-spreadsheetimporter-plugincds-spreadsheetimporter-pluginA CAP plugin that adds an ImporterService accepting an uploaded Excel file, parses it on the server and writes its rows into the CDS entity named in the URL.community org, capSpreadsheet upload into a CDS entity, parsed on the serverfrom CAP
- ui5-cc-spreadsheetimporterui5-cc-spreadsheetimporterA UI5 component that adds a spreadsheet upload dialog to a Fiori elements or freestyle app and submits the rows it reads through the app's own OData model.community org, ui5UI5 component adding a spreadsheet upload dialog to Fiori appsfrom UI5
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
abaplint
Flavors
“Written in ABAP 7.50.” — Kaszub09/abapDataToTableImport — README, Installation
History in the atlas
- First seen.
For your agent
- Ref
artifact:kaszub09-abapdatatotableimport- JSON
- /artifacts/kaszub09-abapdatatotableimport.json
- MCP
- Connecting an agent