2007 Feb 21 9:26 PM
I have two internal tables, T_EKKO(for PO Header data) and T_EKPO(for PO Item data). These tables carry data for 10 PO's with at least 1 line item in each one.
The requirement is to write the following fields on the result screen:
Line 1: PO Number.-
Line 2:PO Item, Article Number.
What is the most efficient way to do this?
2007 Feb 21 9:29 PM
Hi,
You can use parallel processing techinque..
Ex.
SORT T_EKPO BY EBELN.
DATA: V_TABIX TYPE SYTABIX.
LOOP AT T_EKKO.
WRITE: / 'PO Number - ', T_EKKO-EBELN.
READ TABLE T_EKPO TRANSPORTING NO FIELDS
WITH KEY EBELN = T_EKKO-EBELN
BINARY SEARCH.
IF SY-SUBRC = 0.
Store the row number.
V_TABIX = SY-TABIX.
LOOP AT T_EKPO FROM V_TABIX.
Exit condition.
IF T_EKPO-EBELN <> T_EKKO-EBELN.
EXIT.
ENDIF.
WRITE: / 'PO item', T_EKPO-EBELP.
.......
ENDLOOP.
ENDIF.
ENDLOOP.
Thanks,
Naren
Hi,
You can use parallel processing techinque..
Ex.
SORT T_EKPO BY EBELN.
DATA: V_TABIX TYPE SYTABIX.
LOOP AT T_EKKO.
WRITE: / 'PO Number - ', T_EKKO-EBELN.
READ TABLE T_EKPO TRANSPORTING NO FIELDS
WITH KEY EBELN = T_EKKO-EBELN
BINARY SEARCH.
IF SY-SUBRC = 0.
Store the row number.
V_TABIX = SY-TABIX.
LOOP AT T_EKPO FROM V_TABIX.
Exit condition.
IF T_EKPO-EBELN <> T_EKKO-EBELN.
EXIT.
ENDIF.
WRITE: / 'PO item', T_EKPO-EBELP.
.......
ENDLOOP.
ENDIF.
ENDLOOP.
Thanks,
Naren
2007 Feb 21 9:29 PM
Hi,
You can use parallel processing techinque..
Ex.
SORT T_EKPO BY EBELN.
DATA: V_TABIX TYPE SYTABIX.
LOOP AT T_EKKO.
WRITE: / 'PO Number - ', T_EKKO-EBELN.
READ TABLE T_EKPO TRANSPORTING NO FIELDS
WITH KEY EBELN = T_EKKO-EBELN
BINARY SEARCH.
IF SY-SUBRC = 0.
Store the row number.
V_TABIX = SY-TABIX.
LOOP AT T_EKPO FROM V_TABIX.
Exit condition.
IF T_EKPO-EBELN <> T_EKKO-EBELN.
EXIT.
ENDIF.
WRITE: / 'PO item', T_EKPO-EBELP.
.......
ENDLOOP.
ENDIF.
ENDLOOP.
Thanks,
Naren
2007 Feb 21 9:31 PM
For small tables like this, it doesn't really matter, but for larger ones, check this:
/people/rob.burbank/blog/2006/02/07/performance-of-nested-loops
Rob
2007 Feb 21 9:33 PM
try this..
sort t_ekko.
delete adjacent duplicates from t_ekko.
sort t_ekpo.
loop at t_ekko.
write: / t_ekko-ebeln.
read table t_ekpo with key ebeln = t_ekko-ebeln
binary search.
if sy-subrc eq 0.
write: / t_ekpo-EBELP,t_ekpo-EAN11.
endif.
endloop.
~Suresh
2007 Feb 22 1:59 AM
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |