{"ref":"artifact:dominikpanzer-result-for-abap","page":"/artifacts/dominikpanzer-result-for-abap","json":"/artifacts/dominikpanzer-result-for-abap.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"dominikpanzer-result-for-abap","name":"RESULT-for-ABAP","artifact_type":"package","ecosystem":"abap","domain":"protocols-and-apis","origin_ring":"independent","description":{"one_line":"An ABAP implementation of the result pattern: a method returns an object built with ok or fail instead of raising an exception for an expected failure, and several results combine into one.","short":"Result pattern for ABAP instead of exceptions for expected failures","what_it_solves":"A method that can succeed or fail returns a RESULT built with zcl_result=>ok or zcl_result=>fail, rather than throwing an exception for something as ordinary as a validation, or returning a bare abap_true or abap_false with no reason attached. get_value and get_error_message read the outcome back, and combine_with or combine_with_these fold several RESULTs from a batch of validations into one. A RESULT can also carry metadata as key-value pairs alongside its value or its error messages. It covers the object and how results combine; what a caller does after inspecting one is up to the calling code."},"links":{"repo":"https://github.com/dominikpanzer/RESULT-for-ABAP"},"type_properties":{"placement":{"value":"in-host","sources":[{"url":"https://github.com/dominikpanzer/RESULT-for-ABAP","title":"dominikpanzer/RESULT-for-ABAP — README, Installation","checked":"2026-10-18","quote":"You can copy and paste the source code into your system or simply clone this repository with [abapGit](https://abapgit.org/)."}]},"distribution":{"value":["abapgit","copy"],"sources":[{"url":"https://github.com/dominikpanzer/RESULT-for-ABAP","title":"dominikpanzer/RESULT-for-ABAP — README, Installation","checked":"2026-10-18","quote":"You can copy and paste the source code into your system or simply clone this repository with [abapGit](https://abapgit.org/)."}]}},"identity":{"license":"MIT"},"source_available":true,"provides":[{"capability":"capability:error-handling","what_it_does":"Returns a RESULT object from a method to indicate success or failure, with combine_with and combine_with_these to fold several results into one.","sources":[{"url":"https://github.com/dominikpanzer/RESULT-for-ABAP","title":"dominikpanzer/RESULT-for-ABAP — README","checked":"2026-09-14","quote":"The Result-Pattern indicates if the operation was successful or failed without the usage of exceptions."}]}],"maintainers":["actor:dominikpanzer"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:dotabap"}],"first_seen":"2026-09-14"},"contributors":["actor:dominikpanzer","actor:larshp","actor:mbtools","actor:rob786541"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"4 contributors"},{"label":"Repository","tier":"poor","evidence":"pushed 2024-11, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"abaplint syntax Cloud, no release"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"workflows present, no completed run on the default branch"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"README 14 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":36,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":36,"forks":7,"open_issues":1,"archived":false,"pushed_at":"2024-11-04","license_spdx":"MIT","org_owned":false,"default_branch":"main","created_at":"2023-04-17T22:40:49Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":2,"other_ci":false,"readme_bytes":14114,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2023-04-17","last_commit":"2024-11-04","commits":159,"contributors":4,"readme_path":"README.md","readme_sha":"7aa2ce14f128a6b433bf8dd697660d2f8fb7c66d","repo_read":"2026-10-26","abap_syntax":{"repo":"dominikpanzer/RESULT-for-ABAP","file":"abaplint.json","url":"https://github.com/dominikpanzer/RESULT-for-ABAP/blob/HEAD/abaplint.json","version":"Cloud","checked":"2026-10-26"}},"edges":{"maintainers":[{"ref":"actor:dominikpanzer","name":"Dominik Panzer","json":"/actors/dominikpanzer.json"}],"contributors":[{"ref":"actor:dominikpanzer","name":"Dominik Panzer","json":"/actors/dominikpanzer.json"},{"ref":"actor:larshp","name":"Lars Hvam","json":"/actors/larshp.json"},{"ref":"actor:mbtools","name":"Marc Bernard","json":"/actors/mbtools.json"},{"ref":"actor:rob786541","name":"Robert","json":"/actors/rob786541.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}