github.com/victorizbitskiy/zconcurrency_api ↗
ABAP Сoncurrency API
Open this visualization on its own page →
Contributors
2
Lines of Code
216
From
2021-01-09
To
2021-02-14
About victorizbitskiy/zconcurrency_api
ABAP Concurrency API is a library that simplifies parallel task execution in SAP ABAP systems using the SPTA Framework. Inspired by Java's concurrency model, it eliminates the need to manually create RFC-enabled function modules for parallel processing. Instead of managing serialization, task lifecycle, and error handling manually with global variables and fragile code, developers can define clean task classes that inherit from abstract base classes and implement a single callable method to express their business logic.
The library provides a high-level executor pattern where you create a collection of tasks, pass them to an executor (such as a fixed thread pool), and receive back a collection of results. For simple cases like processing a list of integers or numbers in parallel, the API requires minimal boilerplate—just a context class for inputs, a task class implementing the core logic, and a result class that implements the serializable object interface. The framework handles all the complexity of distributing work across parallel processes and aggregating results.
For SAP HCM module users, the library includes a facade implementation that further reduces boilerplate by automatically handling common patterns like splitting personnel numbers into batches and managing task instantiation. The maximum number of concurrent tasks is automatically capped at 40 percent of available dialog work processes to maintain system stability. One notable limitation is that batch input (BDC) operations are not supported in parallel execution due to restrictions in the underlying SPTA Framework.