{"ref":"artifact:victorizbitskiy-zconcurrency-api","page":"/artifacts/victorizbitskiy-zconcurrency-api","json":"/artifacts/victorizbitskiy-zconcurrency-api.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"victorizbitskiy-zconcurrency-api","name":"zconcurrency_api","artifact_type":"package","ecosystem":"abap","domain":"operations-and-runtime","origin_ring":"independent","description":{"one_line":"A Java-inspired ABAP library that runs tasks in parallel over SAP's SPTA framework without an RFC-enabled function module, capping concurrent tasks at 40% of the dialog work processes.","short":"Parallel task library for ABAP over the SPTA framework","what_it_solves":"Parallel processing in ABAP traditionally means creating an RFC-enabled function module, implementing the logic inside it, calling it asynchronously in a loop and waiting to retrieve the results; SPTA removes the custom function module, and its low-level API still leaves serialisation, task lifecycle and error handling to the caller. This library takes a Context, Task and Result class the caller defines and an executor modelled on Java's java.util.concurrent package, and handles the rest; a separate facade package, ZCAPI_FACADE_HCM, splits personnel numbers into batches for HCM use cases. The maximum number of tasks running at once is capped automatically at 40% of the available dialog work processes to ensure system stability. SPTA is required, and batch input (BDC) is not supported, because SPTA does not allow BDC sessions in parallel task execution."},"links":{"repo":"https://github.com/victorizbitskiy/zconcurrency_api"},"type_properties":{"placement":{"value":"in-host","sources":[{"url":"https://github.com/victorizbitskiy/zconcurrency_api","title":"victorizbitskiy/zconcurrency_api — README, Installation","checked":"2026-10-19","quote":"Install the package via [abapGit](http://www.abapgit.org)."},{"url":"https://github.com/victorizbitskiy/zconcurrency_api","title":"victorizbitskiy/zconcurrency_api — README, Facade for HCM","checked":"2026-10-19","quote":"The maximum number of concurrently running tasks is automatically capped at **40%** of available dialog work processes (visible in transaction SM50) to ensure system stability."}]},"distribution":{"value":["abapgit"],"sources":[{"url":"https://github.com/victorizbitskiy/zconcurrency_api","title":"victorizbitskiy/zconcurrency_api — README, Installation","checked":"2026-10-19","quote":"Install the package via [abapGit](http://www.abapgit.org)."}]}},"identity":{"license":"MIT"},"source_available":true,"maintainers":["actor:victorizbitskiy"],"provides":[{"capability":"capability:parallel-processing","what_it_does":"Runs caller-defined tasks in parallel over SPTA through Context, Task and Result classes and an executor, handling serialisation, task lifecycle and error handling so the caller does not write an RFC-enabled function module by hand.","sources":[{"url":"https://github.com/victorizbitskiy/zconcurrency_api","title":"victorizbitskiy/zconcurrency_api — README","checked":"2026-10-19","quote":"The ABAP Concurrency API abstracts all that away. You define what to run (your logic) and what to return (your result), and the framework handles how it runs in parallel - cleanly and safely."},{"url":"https://github.com/victorizbitskiy/zconcurrency_api","title":"victorizbitskiy/zconcurrency_api — README","checked":"2026-10-19","quote":"A set of high-level ABAP utility classes that simplify parallel task execution using SAP's **SPTA Framework**, without requiring manual RFC module creation."}]}],"requires":[{"ref":"artifact:abapgit-abapgit","requirement":"required","basis":"binding","role":"installation","for":"Installing the package into the ABAP system; the README names [abapGit](artifact:abapgit-abapgit) as the install method.","sources":[{"url":"https://github.com/victorizbitskiy/zconcurrency_api","title":"victorizbitskiy/zconcurrency_api — README, Installation","checked":"2026-10-19","quote":"Install the package via [abapGit](http://www.abapgit.org)."}]}],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:dotabap"}],"first_seen":"2026-09-14"},"contributors":["actor:larshp","actor:victorizbitskiy"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"2 contributors"},{"label":"Repository","tier":"fair","evidence":"pushed 2026-01, not archived"}],"compatibility":[{"label":"Declared for","tier":"good","evidence":"SAP_BASIS 700 and up, in its abaplint config: includes every maintained line to 816"},{"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 20 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":51,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":51,"forks":10,"open_issues":0,"archived":false,"pushed_at":"2026-01-18","license_spdx":"MIT","org_owned":false,"default_branch":"main","created_at":"2021-01-09T19:42:50Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":20672,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2021-01-09","last_commit":"2026-01-18","commits":341,"contributors":2,"readme_path":"README.md","readme_sha":"c7cc251a497a8b93759cdbc9a0acc3202712d04e","repo_read":"2026-10-24","abap_syntax":{"repo":"victorizbitskiy/zconcurrency_api","file":"abaplint.json","url":"https://github.com/victorizbitskiy/zconcurrency_api/blob/HEAD/abaplint.json","version":"v700","floor":"700","checked":"2026-10-26"}},"edges":{"maintainers":[{"ref":"actor:victorizbitskiy","name":"Victor Izbitskiy","json":"/actors/victorizbitskiy.json"}],"contributors":[{"ref":"actor:larshp","name":"Lars Hvam","json":"/actors/larshp.json"},{"ref":"actor:victorizbitskiy","name":"Victor Izbitskiy","json":"/actors/victorizbitskiy.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}