{"ref":"artifact:jrgkraus-abap-gencust","page":"/artifacts/jrgkraus-abap-gencust","json":"/artifacts/jrgkraus-abap-gencust.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"jrgkraus-abap-gencust","name":"abap-gencust","artifact_type":"package","ecosystem":"abap","domain":"operations-and-runtime","origin_ring":"independent","description":{"one_line":"A 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.","short":"Generic customizing table and reader for ad hoc ABAP parameters","what_it_solves":"New customizing parameters in a project usually mean a new table, a view, a view cluster and an access routine each time. This replaces them with one generic pair of header and item tables, keyed by a purpose key, holding single values, structure-like parameters or multi-value parameters, and read through a reader class that a factory instantiates and that returns an object saying whether a value was found rather than the value alone. An item key can also carry an organisational level, a valid-from date and a user id, so a setting can be switched on for one user during a test phase or from a key date onwards. There are two identical table pairs: one is normal customizing with a link to the transport system, the other has none and is meant for maintaining values directly in the production system. Validating values against domains or check tables stays outside it, which the maintainer leaves to normal customizing features."},"links":{"repo":"https://github.com/jrgkraus/abap-gencust"},"type_properties":{"placement":{"value":"in-host","sources":[{"url":"https://github.com/jrgkraus/abap-gencust","title":"jrgkraus/abap-gencust — README, Installation","checked":"2026-10-18","quote":"Download the repository and install it with ABAPGIT"}]},"distribution":{"value":["abapgit"],"sources":[{"url":"https://github.com/jrgkraus/abap-gencust","title":"jrgkraus/abap-gencust — README, Installation","checked":"2026-10-18","quote":"Download the repository and install it with ABAPGIT"}]}},"identity":{"license":"GPL-3.0"},"source_available":true,"maintainers":["actor:jrgkraus"],"provides":[{"capability":"capability:configuration","what_it_does":"Stores ad hoc configuration parameters in one generic table pair, read through a factory-instantiated reader class.","sources":[{"url":"https://github.com/jrgkraus/abap-gencust","title":"jrgkraus/abap-gencust — README, Use case","checked":"2026-09-14","quote":"We would have an unique access module and could store as many parameters as we want using an access key."}]}],"requires":[{"ref":"artifact:abapgit-abapgit","for":"Installs the repository into the ABAP system; the README names [abapGit](artifact:abapgit-abapgit) as the install method, before the view maintenance dialogues are generated.","sources":[{"url":"https://github.com/jrgkraus/abap-gencust","title":"jrgkraus/abap-gencust — README, Installation","checked":"2026-10-18","quote":"Download the repository and install it with ABAPGIT"}]}],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:dotabap"}],"first_seen":"2026-09-14"},"contributors":["actor:jrgkraus"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-06, not archived"}],"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":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"README 5 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":9,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":9,"forks":1,"open_issues":1,"archived":false,"pushed_at":"2026-06-17","license_spdx":"GPL-3.0","org_owned":false,"default_branch":"main","created_at":"2025-02-18T12:05:20Z","open_prs":1,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":4749,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2025-02-18","last_commit":"2026-06-17","commits":36,"contributors":1,"readme_path":"README.md","readme_sha":"5f6224233b06687f2520c6282acc334774f7237b","repo_read":"2026-10-26"},"edges":{"maintainers":[{"ref":"actor:jrgkraus","name":"Jörg Krause","json":"/actors/jrgkraus.json"}],"contributors":[{"ref":"actor:jrgkraus","name":"Jörg Krause","json":"/actors/jrgkraus.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}