abaK
A beta library for ABAP constants that lets each program register its own source, a custom table or CSV, XML or JSON content from a URL, standard text, server file or remote system, rather than one shared table.
Constants in ABAP usually end up hard-coded, in a dedicated Z table, or in TVARVC. abaK lets one program register a constants source of its own instead of reading from a monolithic table: the content sits in a custom database table or, formatted as CSV, XML or JSON, comes inline, from a URL, an SO10 standard text, a GS03 set, a server file, or another abaK instance in a remote SAP system over RFC. A constant can be system-wide or belong to a single program, every source is registered in a central table so the existing ones can be tracked, and a format it does not cover can be added as a custom FORMAT or CONTENT class.
Facts
Where it sits
Who is behind it
In the atlas: maintains 2@abapinhomaintainerNuno GodinhoContributes to this
In the atlas: contributes to 5@nununosdfragaContributes to this
In the atlas: contributes to 2@sdfraga2 contributors
Before choosing this
Signals
ActivityQuietNo published releases; repository quiet for 41 months
It publishes no releases, and its repository has been quiet for at least 24 full months. This may be normal for stable software; check whether its current state still fits your use.
Conditions
PracticalFunctional boundary
Not in a production environment yet: the maintainer puts abaK in beta, says its API can still change and more tests are needed, and asks that a non-beta release be waited for.
What it declares
Every artifact
- Type
- Package
- Origin
- Independently maintained
As a package
- Where it runs
- does not say
- Distributed through
- does not say
Connections
Per-environment settings without per-environment code
Git client written in ABAP that runs inside the system
Download
README
quoted from abapinho/abaK under MIT, read(abaK is now in beta stage. It's mostly stable but its API can still change and more tests need to be done so please don't use it in a production environment yet. Wait for a non-beta release.)
abaK
A powerful yet simple ABAP library to manage constants.
Why
Nowadays, whenever a constant is needed in a program, it has to be hard coded, stored in a dedicated custom ZTABLE or, even worse, stored in the standard table TVARVC (or similar).
What
abaK aims to become the standard constants library that ABAP so desperately needs.
It's single design goal is to address most common needs while still being extremely easy to use, by both developers and functional people alike. And if its standard functionality doesn't cover your particular needs, you can easily extend it.
With abaK you can finally stop developing a new ZCONSTANTS table every time you need one. Or, even worse, stop storing your constants in obscure standard tables like TVARVC.
How
abaK offers a simple yet powerful and flexible way for any program to manage its constants. Advantages of using abaK:
- decentralized: there is no monolithic table holding all the constants. One program can decide to have its own constants source.
- easily customizable: a project can decide to have its constants maintainable directly in PRD while another may required them to be maintained in DEV and then transported;
- multiple scopes: some constants can be used system-wide while others can belong to a single program and no one else will mess with them;
- system-wide management: constant sources are registered in a central table so that it is easy to keep track of the existing data sources;
- different formats: besides using a custom database table, the constants data can be formatted as
CSV,XMLorJSON; - different content locations: besides providing content directly inline, it can also be fetched from an
URL, anSO10standard text, aGS03set, a server file or even anotherabaKinstance in a remote SAP system viaRFC; - extensible: if needed, new custom
FORMAT/CONTENTclasses can be created (ex.: to read legacy data in a specific data format).
Providing a well-defined API, abaK clearly separates the way it is used from the way the constants are stored.
Documentation in the wiki.
Requirements
- ABAP Version: 702 or higher.
- abapGit
FAQ
For questions/comments/bugs/feature requests/wishes please create an issue.
Others providing
Compare all 6 on the Configuration page →- config-managementconfig-managementKeeps the theme, UI5 bootstrap source, custom CSS and Content-Security-Policy of an abap2UI5 page in database tables instead of in code, with a popup app to edit them.community org, abapTheme, CSS and CSP settings of abap2UI5 pages kept in tables
- aqoaqoA library for defining ABAP application options as a structure or class, with change history, transport integration and a maintenance UI generated from that description, instead of SM30 tables or STVARV.independent, abapABAP application options as a structure with a generated editor
- abap-dynamic-assignmentabap-dynamic-assignmentA framework for maintaining runtime parameters, ranges and value mappings in ABAP instead of hard-coded values or TVARVC, checked against data elements and maintained in a RAP Fiori app.independent, abapFramework for runtime parameters, ranges and value mappings in ABAP
- abap-gencustabap-gencustA generic customizing table pair and reader class for ad hoc configuration parameters in ABAP, replacing a new table, view and access routine per parameter, with values per user or key date.independent, abapGeneric customizing table and reader for ad hoc ABAP parameters
- abap-tvarvcabap-tvarvcA helper class for reading TVARVC parameters and select-options from ABAP, with one method for a single parameter and two for select-options, raising zcx_core_tvarvc when a read fails.independent, abapHelper class for reading TVARVC parameters and select-options
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
“## Requirements * ABAP Version: 702 or higher. * [abapGit](https://abapgit.org)” — abapinho/abaK — README, Requirements
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:abapinho-abak- JSON
- /artifacts/abapinho-abak.json
- MCP
- Connecting an agent