{"ref":"artifact:furkancosgun-coroutines4abap","page":"/artifacts/furkancosgun-coroutines4abap","json":"/artifacts/furkancosgun-coroutines4abap.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"furkancosgun-coroutines4abap","name":"COROUTINES4ABAP","artifact_type":"package","ecosystem":"abap","domain":"operations-and-runtime","origin_ring":"independent","description":{"one_line":"A coroutine framework for ABAP that launches a piece of work, such as a database query or a background task, as a task the caller awaits later while carrying on with other work.","short":"Coroutine framework for ABAP with awaitable results","what_it_solves":"A caller implements the zif_coroutine_scope interface with the work to run, hands it to zcl_coroutine_manager, which launches it and returns a task, and the caller keeps doing other work until it calls await on that task to get the result back. The two examples in the README cover an asynchronous MARA query and a background email send, both without the caller waiting on them synchronously. It provides the launch-and-await mechanism only: error handling around a launched coroutine, or a fixed limit on how many run at once, is not part of what the README shows."},"links":{"repo":"https://github.com/furkancosgun/COROUTINES4ABAP"},"identity":{"license":"MIT"},"source_available":true,"maintainers":["actor:furkancosgun"],"provides":[{"capability":"capability:parallel-processing","what_it_does":"Launches a caller-defined unit of work as a coroutine through a manager class and returns a task the caller can await later, for cases such as a database query or background processing.","sources":[{"url":"https://github.com/furkancosgun/COROUTINES4ABAP","title":"furkancosgun/COROUTINES4ABAP — README","checked":"2026-09-14","quote":"This project provides a framework for implementing coroutines in ABAP."}]}],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:dotabap"}],"first_seen":"2026-09-14"},"contributors":["actor:furkancosgun"]},"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":"poor","evidence":"pushed 2024-08, 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":0,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":0,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2024-08-20","license_spdx":"MIT","org_owned":false,"default_branch":"main","created_at":"2024-08-19T17:04:38Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":5083,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2024-08-19","last_commit":"2024-08-20","commits":10,"contributors":1,"readme_path":"README.md","readme_sha":"80fbef19f6e967e110bf642c8d60da3d1d9f90b7","repo_read":"2026-10-26"},"edges":{"maintainers":[{"ref":"actor:furkancosgun","name":"Furkan COSGUN","json":"/actors/furkancosgun.json"}],"contributors":[{"ref":"actor:furkancosgun","name":"Furkan COSGUN","json":"/actors/furkancosgun.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}