ABAP Code For Parallel Cursor - Loop Processing - Code Gallery - SCN Wiki
ABAP Code For Parallel Cursor - Loop Processing - Code Gallery - SCN Wiki
Community WIKI SAP Community Welcome, Guest Login Register Search the Community
Code Gallery
http://karsap.blogspot.com/2007/06/avoiding-nested-loops-using-parallel_19.html
http://karsap.blogspot.com/2007/06/improved-version-of-parallel-cursor.html
Abstract
This page will explain how to code very efficiently for nested un-related tables. The article describes how to improve the performance of processing huge data amounts.
Problem Description
The most common performance problem that occurs in ABAP programs is because of huge number of records in the internal tables. The problem complexifies if a program has huge nested internal
tables. How much ever efficient data select routines are, data processing routines would be contributing significantly for the bad performance. When analysed it would be revealed that the where condition
that is used in inner loops expend a significant amount of processing time. The idea is to avoid where conditions in the inner loops by maintaining the loop indexes manually.
endloop.
endloop.
Statical Analysis
Nested loop for BSEG and BKPF internal tables were analysed for Conventional Method and Parallel Cursor methods. Following gragh explains the observations.
https://wiki.scn.sap.com/wiki/display/Snippets/ABAP+Code+for+Parallel+Cursor+-+Loop+Processing 1/2
11/8/2019 ABAP Code for Parallel Cursor - Loop Processing - Code Gallery - SCN Wiki
Observation: One can observe that as the data increases, the time taken for the nested loop increases drastically, at the same time, the Parallel cursor method did not suffer any considerable time
impact.
Verdict: Use the parallel cursor method whenever there is a need to process data in a nested loop.
abap performance snippet parallel cursor
1 Comment
Former Member
1) I am not sure if the sort on table lt_vbpa is required at all.
2) SE30 Documentation talks about O (n1+n2) runtime for a parallel cursor algorithm.
However for the code given here it is O (n1*log n2). Surely its a far more efficient algorithm
compared to original nested loop with O (n1*n2) runtime. BUT, I am nNot sure if this is
the intended parallel cursor algorithm. which is supposedly O (n1 + n2)
https://wiki.scn.sap.com/wiki/display/Snippets/ABAP+Code+for+Parallel+Cursor+-+Loop+Processing 2/2