{"ref":"artifact:jrgkraus-zotr-utility","page":"/artifacts/jrgkraus-zotr-utility","json":"/artifacts/jrgkraus-zotr-utility.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"jrgkraus-zotr-utility","name":"ZOTR_UTILITY","artifact_type":"package","ecosystem":"abap","domain":"ui-and-frontend-bridge","origin_ring":"independent","description":{"one_line":"A small ABAP framework that reads language-dependent texts from SAP's online text repository through inheritance and named constants rather than a direct API call with a string alias.","short":"ABAP framework reading texts from SAP's online text repository","what_it_solves":"Apart from the well-known text elements in programs, SAP offers a more modern way to use language-dependent texts: the online text repository, but reading one still means calling `CL_BSP_GET_TEXT_BY_ALIAS` by hand with a package-prefixed alias every time. This package wraps that call in two superclasses: one sets the package prefix once, for a class to inherit from wherever it needs texts; the other declares each text as a class-data constant, so it is referenced by name instead of a string alias. Where a text is not present in the logon language, the framework provides the English text if one is available."},"links":{"repo":"https://github.com/jrgkraus/ZOTR_UTILITY"},"identity":{"license":"MIT"},"source_available":true,"maintainers":["actor:jrgkraus"],"provides":[{"capability":"capability:localization","what_it_does":"Wraps SAP's online text repository (OTR) in two superclasses (one for reading a package's alias texts, one for enumerating them as constants) so language-dependent texts are inherited rather than fetched with a direct call to CL_BSP_GET_TEXT_BY_ALIAS.","sources":[{"url":"https://github.com/jrgkraus/ZOTR_UTILITY","title":"jrgkraus/ZOTR_UTILITY — README, The SAP basics","checked":"2026-09-14","quote":"Apart from the well-known text elements in programs, SAP offers a more modern way to use language-dependent texts: the online text repository (OTR)."},{"url":"https://github.com/jrgkraus/ZOTR_UTILITY","title":"jrgkraus/ZOTR_UTILITY — README, Motivation","checked":"2026-09-14","quote":"Here is a package, that offers two classes for an easy usage of OTR texts. They are intended to be used for inheritance."}]}],"provenance":{"discovered_via":[{"source":"source:dotabap"}],"first_seen":"2026-09-14"},"drafted_with_ai":true,"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":"fair","evidence":"pushed 2025-04, 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":1,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":1,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2025-04-30","license_spdx":"MIT","org_owned":false,"default_branch":"main","created_at":"2025-04-30T09:07:02Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":4827,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2025-04-30","last_commit":"2025-04-30","commits":10,"contributors":1,"readme_path":"README.md","readme_sha":"26bd7721a3d7d02b6b9a52d448857e3a48b4ad04","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":[]}}