PackagePackagetypeA library you install and call yourself.See every one →What this type is →by a community orgby a community orgoriginPublished by a community organisation, so it outlives any one maintainer.See every one →

open-table-maintenance

A 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.

Gives a single table a maintenance application without generating one: zcl_otm_table_maintenance is created with the table name, and its serve method takes a request's method, path and body and returns the body, content type and status, which an ICF handler on-premise or an HTTP service in "Steampunk" passes back. The README lists where it works: open-abap, "Steampunk", embedded "Steampunk", on-premise from v740 SP05 with an automatic downport it says should also reach 702, and the SAP BTP Cloud Foundry environment, where it is built and deployed as a multi-target app and opened under /abap/. It is installed with abapGit or by copying the code into a system.

Facts

Last pushLicenceMIT

Where it sits

Lives in
Provides
Maintaining table entriesABAPMaintaining table entriescapabilityEditing the rows of a data or configuration table through a generic or generated screen, with value helps, checks and a managed change package, so that no maintenance application is written per table. Looking at what a table holds is [browsing table data](capability:abap-data-browsing), even where one transaction does both.

Who is behind it

open-abapopen-abapOrganisationMaintains this
In the atlas: maintains 9
@open-abap
maintainerGregor WolfPersonContributes to this
In the atlas: maintains 17, contributes to 59, wrote 2
@gregorwolf
Lars HvamPersonContributes to this
In the atlas: maintains 13, contributes to 92, wrote 1
@larshp
Marcello UrbaniPersonContributes to this
In the atlas: maintains 14, contributes to 21
@marcellourbani
Stoyko StoevPersonContributes to this
In the atlas: contributes to 2
@s7oev
4 contributors

Before choosing this

Conditions

PracticalFunctional boundary

Not for a table whose contents matter, and not for one chosen at run time: the name of the table is fixed in the calling code, and the maintainer's own warning is "only hardcode the table name, don't use with important tables, use at own risk!"

What it declares

Every artifact

Type
Package
Origin
By a community org

As a package

Where it runs
Inside its host
Distributed through
abapGitCopied into the project

Connections1

README

quoted from open-abap/open-table-maintenance under MIT, read
open-abap/open-table-maintenance/README.mdOn GitHub

open-table-maintenance

Works with:

  • open-abap via npm install && npm run start-local
  • Steampunk
  • Embedded Steampunk
  • On-Premise v740sp05 and up
  • (Code is automatically downported on build, so it should also work with 702)
  • SAP Business Technology Platform (BTP) Cloud Foundry environment

Install with abapGit, or copy paste into a system

Warning: only hardcode the table name, don't use with important tables, use at own risk!

Use-case: On-prem shim

  METHOD if_http_extension~handle_request.

    DATA(result) = NEW zcl_otm_table_maintenance( 'ZOPENTEST' )->serve( VALUE #(
      method = server->request->get_method( )
      path   = server->request->get_header_field( '~path' )
      body   = server->request->get_data( ) ) ).

    server->response->set_data( result-body ).
    server->response->set_content_type( result-content_type ).
    server->response->set_status(
      code   = result-status
      reason = CONV #( result-status ) ).

  ENDMETHOD.

Use-case: Steampunk shim

  METHOD if_http_service_extension~handle_request.

    DATA(result) = NEW zcl_otm_table_maintenance( 'ZOPENTEST' )->serve( VALUE #(
      method = request->get_method( )
      path   = request->get_header_field( '~path' )
      body   = request->get_binary( ) ) ).

    response->set_binary( result-body ).
    response->set_header_field(
      i_name = 'Content-Type'
      i_value = result-content_type ).
    response->set_status(
      i_code   = result-status
      i_reason = CONV #( result-status ) ).

  ENDMETHOD.

Deploy to SAP Business Technology Platform (BTP) Cloud Foundry environment

Prerequisites
  • Cloud Foundry CLI
  • Multi Target App build tool (mbt)
Installation

Login to your SAP BTP Cloud Foundry environment

npm run cf:build
npm run cf:deploy

Then you can start the app by adding /abap/ at the end of the URL.

Removal
npm run cf:undeploy
MIT, read
Maintaining table entries
  1. table-maintenanceBrowser-based table maintenance UI built on abap2UI5
  2. ZABAP_TABLE_EDITGeneric ABAP table editor writing its own change documents
  3. cuteCustom Table Editor editing table rows in an editable ALV grid

Details

Sources3
Added by handdiscovered herechecked
github.com/open-abap/open-table-maintenancetree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

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
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainabap, data-and-persistence
abaplint
issues under its own abaplint configuration0
lines391
statements173
objects2
files2
analysed, main
abaplint version2.120.84
Flavors2
Standard ABAP
“On-Premise v740sp05 and up” — open-abap/open-table-maintenance — READMEchecked
ABAP Cloud
“Embedded Steampunk” — open-abap/open-table-maintenance — READMEchecked
Contributors4

From the repository’s contributor list, .

History in the atlas1
  1. First seen.
For your agent
Ref
artifact:open-abap-open-table-maintenance
JSON
/artifacts/open-abap-open-table-maintenance.json
MCP
Connecting an agent