Inner Join and parallel Cursor in ABAP

We will see some examples of inner join and parallel cursor in abap

Parallel Cursor Method

REPORT ZPARALLEL_CURSOR.
 
DATA: it_ekko TYPE  TABLE OF ekko,
wa_ekko TYPE ekko,
it_ekpo TYPE  TABLE OF ekpo,
wa_ekpo TYPE ekpo.
DATA: lv_tabix TYPE sy-tabix.
 
SELECT * from ekko INTO TABLE it_ekko UP TO 50 ROWS.
SELECT * from ekpo INTO TABLE it_ekpo UP TO 50 ROWS.
 
SORT : it_ekko by ebeln,
it_ekpo by ebeln.
 
LOOP at it_ekko INTO wa_ekko.
READ TABLE it_ekpo INTO wa_ekpo WITH KEY
ebeln = wa_ekko-ebeln BINARY SEARCH.
if sy-subrc EQ 0.
lv_tabix = sy-tabix.
ENDIF.
LOOP at it_ekpo INTO wa_ekpo FROM lv_tabix.
WRITE : / wa_ekpo-ebeln.
ENDLOOP.
ENDLOOP.

Inner Join

*&---------------------------------------------------------------------*
*& Report  ZTEST_INNER_JOIN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
 
REPORT ZTEST_INNER_JOIN.
 
TYPES : BEGIN OF TY_MARA,
MATNR TYPE MATNR,
MAKTX TYPE MAKTX,
MTART TYPE MTART,
END OF TY_MARA.
 
DATA  : IT_MARA TYPE TABLE OF TY_MARA,
WA_MARA TYPE          TY_MARA.
 
SELECT MARA~MATNR
MARA~MTART
MAKT~MAKTX
INTO TABLE IT_MARA
FROM MARA
INNER JOIN MAKT
ON ( MARA~MATNR = MAKT~MATNR )
UP TO 10 ROWS.
 
LOOP AT IT_MARA INTO WA_MARA.
WRITE : / WA_MARA-MATNR,
WA_MARA-MAKTX,
WA_MARA-MTART.
ENDLOOP.

Difference between For all entries and inner join

nner Join : here you are going to use two database tables having common fields, on the basis of which you will fetch the data.

For all entries: Here at first you are going to fetch data from Db1 into itab1 for specified condition. then again you will use one more select query to fetch the values from DB2 for the corresponding entries in internal table itab1. Some drawbacks of for all entries are :-

1. duplicate rows are automatically removed

2. if the itab used in the clause is empty , all the rows in the source table will be selected .

3. performance degradation when using the clause on big tables.

Leave a comment