victorizbitskiy/zconcurrency_api ↗
Created Feb 15, 2021 · View the victorizbitskiy/zconcurrency_api repository page
ABAP Сoncurrency API
Want this for your repo?
Render a free sample of any GitHub repo in seconds.
Contributors
2
Lines of Code
216
From
Jan 9, 2021
To
Feb 14, 2021
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.