Monday, March 02, 2009

Usage and Benefits of Parallel Cursor in ABAP

Conventional Method
loop at lt_vbpa into wa_vbpa.  
loop at lt_kna1 into wa_kna1 where kunnr = wa_vbpa-kunnr.
****** Your Actual logic within inner loop ******
endloop.
endloop.
Parallel Cursor Method.
sort: lt_vbpa by kunnr, "Sorting by key is very important
lt_kna1 by kunnr. "Same key which is used for where condition is used here
loop at lt_vbpa into wa_vbpa.
read lt_kna1 into wa_kna1 " This sets the sy-tabix
with key kunnr = wa_vbpa-kunnr
binary search.
if sy-subrc = 0. "Does not enter the inner loop
v_kna1_index = sy-tabix.
loop at lt_kna1 into wa_kna1 from v_kna1_index. "Avoiding Where clause
if wa_kna1-kunnr <> wa_vbpa-kunnr. "This checks whether to exit out of loop
exit.
endif.

****** Your Actual logic within inner loop ******

endloop. "KNA1 Loop
endif.
endloop. " VBPA Loop
Regards,
Ankur Bhandari

No comments: