Moved to correct forum by moderator
hi
below is my code . in this code i used the 3 nested loops which takes the very long time to execute .
say response time > 1000.
pls some body altered this code in efficient way or provide the technique .
i knew it is resolved by read statement , it reads only a single row but in my case several entries are in
it_ekbe1 and it_ekpo.
LOOP AT IT_EKKO1 INTO WT_EKKO1. LOOP AT IT_EKBE1 INTO WT_EKBE1. LOOP AT IT_EKPO INTO WT_EKPO. IF WT_EKKO1-EBELN EQ WT_EKBE1-EBELN AND WT_EKBE1-EBELN EQ WT_EKPO-EBELN AND WT_EKBE1-EBELP EQ WT_EKPO-EBELP . * WT_EKBE1-WERKS EQ WT_EKPO-WERKS. IF WT_EKPO-MWSKZ NE SPACE . PERFORM TAX_CALCULATE_FUNCTION USING WT_EKKO1-BUKRS "company code WT_EKBE1-BUDAT "posting date WT_EKKO1-WAERS "currency key WT_EKPO-EBELN WT_EKPO-EBELP "CONDITION ITEM NUMBER WT_EKPO-MWSKZ "SALES TAX CODE WT_EKPO-TXJCD "TAX JURISIDICTION WT_EKBE1-DMBTR "AMOUNT IN DOCUMENT WT_EKKO1-LIFNR "VENDOR CODE WT_EKKO1-LANDS "COUNTRY KEY WT_EKKO1-EKORG "PURCHASE ORGANIZATION WT_EKKO1-LLIEF "SUPPLYING VENDOR WT_EKKO1-BEDAT "DOCUMENT DATE WT_EKPO-MATNR "material code WT_EKPO-WERKS "PLANT WT_EKPO-BWTAR "VALUATION TYPE WT_EKPO-MATKL "MATERIAL GROUP WT_EKPO-MEINS "BASE UNIT OF MEASURE WT_EKBE1-MENGE "QUANTITY WT_EKPO-MTART "MATERIAL TYPE CHANGING T_MWSBP. CASE WT_EKPO-WERKS. WHEN 'RAU1'. R1_BOUGHT = R1_BOUGHT + WT_EKBE1-DMBTR. R1_GROSS = R1_GROSS + WT_EKBE1-DMBTR + T_MWSBP. CLEAR T_MWSBP. WT_TAB-BOUGHT1 = R1_BOUGHT. WT_TAB-GROSS1 = R1_GROSS. WT_TAB-WERKS = WT_EKPO-WERKS. WHEN 'RAU2'. R2_BOUGHT = R2_BOUGHT + WT_EKBE1-DMBTR. R2_GROSS = R2_GROSS + WT_EKBE1-DMBTR + T_MWSBP. CLEAR T_MWSBP. WT_TAB-BOUGHT1 = R2_BOUGHT. WT_TAB-GROSS1 = R2_GROSS. WT_TAB-WERKS = WT_EKPO-WERKS. WHEN 'RAU3'. R3_BOUGHT = R3_BOUGHT + WT_EKBE1-DMBTR. R3_GROSS = R3_GROSS + WT_EKBE1-DMBTR + T_MWSBP. CLEAR T_MWSBP. WT_TAB-BOUGHT1 = R3_BOUGHT. WT_TAB-GROSS1 = R3_GROSS. WT_TAB-WERKS = WT_EKPO-WERKS. WHEN 'RAU4'. R4_BOUGHT = R4_BOUGHT + WT_EKBE1-DMBTR. R4_GROSS = R4_GROSS + WT_EKBE1-DMBTR + T_MWSBP. CLEAR T_MWSBP. WT_TAB-BOUGHT1 = R4_BOUGHT. WT_TAB-GROSS1 = R4_GROSS. WT_TAB-WERKS = WT_EKPO-WERKS. WHEN 'AP01'. AP1_BOUGHT = AP1_BOUGHT + WT_EKBE1-DMBTR. AP1_GROSS = AP1_GROSS + WT_EKBE1-DMBTR + T_MWSBP. CLEAR T_MWSBP. WT_TAB-BOUGHT1 = AP1_BOUGHT. WT_TAB-GROSS1 = AP1_GROSS. WT_TAB-WERKS = WT_EKPO-WERKS. ENDCASE. MODIFY IT_TAB FROM WT_TAB TRANSPORTING BOUGHT1 GROSS1 WERKS WHERE WERKS = WT_EKPO-WERKS. IF SY-SUBRC NE 0. APPEND WT_TAB TO IT_TAB. CLEAR WT_TAB. ENDIF. ENDLOOP. ENDLOOP. ENDLOOP.
regards
surender.
Edited by: Matt on Jan 21, 2009 5:41 PM