ZABAP_TABLE_EDIT
A generic ABAP transaction that edits any table's rows and writes its own change documents, without generating an SM30 maintenance dialog, and is extended per table through an interface.
SM30 needs its maintenance module regenerated after every change to the table, and the only way to add a change document is by editing that generated module, an edit lost the next time it regenerates. ZABAP_TABLE_EDIT keeps table changes reflected in the transaction automatically, so no module needs regenerating, and implements the change document itself, for fields not marked for one as well. Transaction ZABAP_TABLE_EDIT is called with a table name alone, or with the name of a class implementing ZIF_ZABAP_TABLE_EDIT, which extends it per table: extra described fields, non-editable fields, validation, new commands and a saved default layout. It installs through 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; one known issue is that some versions of the change-document function module require the change indicator field to be named KZ, and shortdump otherwise.
Facts
Where it sits
Who is behind it
In the atlas: maintains 6, contributes to 8@Kaszub09maintainerDaniel WegnerContributes to this
In the atlas: maintains 3, contributes to 10@WegnerDan1 contributor
What it declares
Every artifact
- Type
- App
- Origin
- Independently maintained
As an app
- Where it runs
- Inside the system it serves
- Distributed through
- abapGit
Connections
Editing table rows through a generic or generated screen
Git client written in ABAP that runs inside the system
Download
README
quoted from Kaszub09/ZABAP_TABLE_EDIT under MIT, readZABAP_TABLE_EDIT
Better SM30
FEATURES
Edit any table. Create change document automatically. Extend basic functionality if needed.
INSTALATION
Via https://github.com/abapGit/abapGit. Written in ABAP 7.50.
WHY
To streamline the process of making table available for edit and tracking changes.
With SM30:
- Every time you change table, you need to regenerate maintenance module. No more!
- Only way to add change document to SM30 is via editing maintenance module. That and any other edits are lost after recreating maintenace module, and you must implement them again (that is if you remembered copying them before regenerating module - otherwise you need to write them again from scratch). No more!
- Table and column on generated screen are really narrow and usually needs to be manually widened. No more!
With ZSM30
- Any changes to table are automatically reflected in transaction. Generating maintenance module is not needed.
- No code is ever lost
- Change document is implemented automatically - you can decide, whether to use it or not
- Change document can be generated even for fields not marked as such
- Transaction can be easily extended with custom logic per table (additional fields with description, make some fields non-editable, add additional validation, add new commands, edit entries before save etc. ) - instead of creating maintenance view or editing maintenance modules
- It's possible to save default layout, so every time you open table for edit columns width/layout will be
perfect!the same
USAGE
See examples package. Either call transaction ZABAP_TABLE_EDIT only with table name, or with name of class implementing interface ZIF_ZABAP_TABLE_EDIT.
CHANGELOG
v1.0.0 (9.06.2024)
- Refactoring plus new extension
- Support for text tables
- Unit tests
v1.1.0 (30.07.2024)
- Support for selection restriction
- Utility interfaces (allows for easy combining of multiple interafces / check whether fields are filled / add additional fields with descriptions )
v1.2.0 (25.11.2024)
- Added button to display documentation - either supplied in transaction, or default for table if exists.
v1.3.0 (06.05.2025)
- Added support for technical display - whole table, as well as details, similar to SE16N
(18.09.2025)
- drop versioning
- add new extensions - easy row statuss/colors, force allow edit
(10.11.2025)
- add new extension - AMC channel broadcast. Can be used to react to changes in table content, e.g. in order to invalidate cache. Example
(17.02.2026)
- add new extension (as option) - force edited entries to be transported.
Known issues
- Some version of function module 'CHANGEDOCUMENT_MULTIPLE_CASE2' require change indicator field to be named 'KZ', causing shortdump otherwise - you can fix it by implementing SAP notes https://github.com/Kaszub09/ZABAP_TABLE_EDIT/issues/2#issuecomment-2065116253
Others providing
Compare all 4 on the Maintaining table entries page →- table-maintenancetable-maintenanceA browser-based table maintenance UI, built on abap2UI5, for editing custom and customising table entries with no Eclipse or SAP GUI install.independent, abapBrowser-based table maintenance UI built on abap2UI5from ABAP
- open-table-maintenanceopen-table-maintenanceA low-footprint table maintenance in ABAP, served over HTTP for one table whose name is fixed in the code, running on-premise, in "Steampunk", on open-abap and on Cloud Foundry.community org, abapTable maintenance over HTTP for a table fixed in codefrom ABAP
- cutecuteCUTE, the Custom Table Editor, sets out to replace SM30's generated maintenance views by editing a custom table's rows in an editable ALV grid over a dynamically created internal table.independent, abapCustom Table Editor editing table rows in an editable ALV gridfrom ABAP
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/ZABAP_TABLE_EDIT — README, INSTALATION
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:kaszub09-zabap-table-edit- JSON
- /artifacts/kaszub09-zabap-table-edit.json
- MCP
- Connecting an agent