hi SDNs.,
pls check the following code. where program taking more time...
it_final_temp[] = it_final[]. " both tables are of type STANDARD
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'TR-FAULTY'.
APPEND R_BWTAR.
*
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'TR-CHURN'.
APPEND R_BWTAR.
*
LOOP AT LT_FINAL INTO LW_FINAL WHERE BWTAR IN R_BWTAR OR
BWART = '351' .
*
LW_FINAL-AG_DATE = LW_FINAL-BUDAT.
LW_FINAL-AG_MBLNR = LW_FINAL-MBLNR.
MODIFY LT_FINAL FROM LW_FINAL TRANSPORTING AG_DATE AG_MBLNR.
CLEAR LW_FINAL-AG_DATE.
ENDLOOP.
REFRESH : R_BWTAR.
*
-New ESNs...
*
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'ABUCAPNEW'.
APPEND R_BWTAR.
*
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'HNICAPNEW'.
APPEND R_BWTAR.
*
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'MASSCAPNEW'.
APPEND R_BWTAR.
*
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'TR-NEW-IND'.
APPEND R_BWTAR.
*
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'TR-NEW-IMP'.
APPEND R_BWTAR.
*
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'NEW-IM-PRE'.
APPEND R_BWTAR.
*
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'NEW-IM-POS'.
APPEND R_BWTAR.
*
R_BWART-OPTION = 'EQ'.
R_BWART-SIGN = 'I'.
R_BWART-LOW = '101'.
APPEND R_BWART.
*
R_BWART-OPTION = 'EQ'.
R_BWART-SIGN = 'I'.
R_BWART-LOW = '105'.
APPEND R_BWART.
*
R_BWART-OPTION = 'EQ'.
R_BWART-SIGN = 'I'.
R_BWART-LOW = 'Z51'.
APPEND R_BWART.
*
R_BWART-OPTION = 'EQ'.
R_BWART-SIGN = 'I'.
R_BWART-LOW = 'Y51'.
APPEND R_BWART.
*
R_BWART-OPTION = 'EQ'.
R_BWART-SIGN = 'I'.
R_BWART-LOW = '301'.
APPEND R_BWART.
*
R_BWART-OPTION = 'EQ'.
R_BWART-SIGN = 'I'.
R_BWART-LOW = '561'.
APPEND R_BWART.
**sort lt_final by sernr.
LOOP AT LT_FINAL_TEMP INTO LW_FINAL_TEMP WHERE BWTAR IN R_BWTAR.
ON CHANGE OF LW_FINAL_TEMP-SERNR.
LOOP AT LT_FINAL INTO LW_FINAL WHERE BWART IN R_BWART AND
SERNR = LW_FINAL_TEMP-SERNR.
LW_FINAL-AG_DATE = LW_FINAL-BUDAT.
LW_FINAL-AG_MBLNR = LW_FINAL-MBLNR.
MODIFY LT_FINAL FROM LW_FINAL TRANSPORTING AG_DATE AG_MBLNR WHERE SERNR = LW_FINAL_TEMP-SERNR.
CLEAR : LW_FINAL-AG_DATE, LW_FINAL-BUDAT.
EXIT.
ENDLOOP.
ENDON.
ENDLOOP.
*
-REFURB ESNs
REFRESH : R_BWTAR.
*
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'TR-REFURB'.
APPEND R_BWTAR.
*
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'TR-REF-POS'.
APPEND R_BWTAR.
*
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'TR-REF-PRE'.
APPEND R_BWTAR.
*
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'TR-DOA'.
APPEND R_BWTAR.
*
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'DOA'.
APPEND R_BWTAR.
*
R_BWTAR-OPTION = 'EQ'.
R_BWTAR-SIGN = 'I'.
R_BWTAR-LOW = 'TR-BER'.
APPEND R_BWTAR.
*
**sort lt_final by sernr.
LOOP AT LT_FINAL_TEMP INTO LW_FINAL_TEMP WHERE BWTAR IN R_BWTAR.
ON CHANGE OF LW_FINAL_TEMP-SERNR.
LOOP AT LT_FINAL INTO LW_FINAL WHERE SERNR = LW_FINAL_TEMP-SERNR.
IF ( LW_FINAL-BWART = '315' ) OR ( LW_FINAL-BWART = '316' ) .
CONTINUE.
ELSE.
IF ( LW_FINAL-BWART = 'Z51' ) OR ( LW_FINAL-BWART = 'Y51' ) OR
( LW_FINAL-BWART = '561' ) OR ( LW_FINAL-BWART = '101' ) OR
( LW_FINAL-BWART = '301' ).
*
LW_FINAL-AG_DATE = LW_FINAL-BUDAT.
LW_FINAL-AG_MBLNR = LW_FINAL-MBLNR.
ELSE.
IF ( LW_FINAL-SHKZG = 'S' ) AND ( LW_FINAL-BWTAR <> LW_FINAL-UMCHA ).
LW_FINAL-AG_DATE = LW_FINAL-BUDAT.
LW_FINAL-AG_MBLNR = LW_FINAL-MBLNR.
ELSE.
CONTINUE.
ENDIF.
ENDIF.
MODIFY LT_FINAL FROM LW_FINAL TRANSPORTING AG_DATE AG_MBLNR WHERE SERNR = LW_FINAL_TEMP-SERNR.
CLEAR : LW_FINAL.
EXIT.
ENDIF.
ENDLOOP.
ENDON.
ENDLOOP.
----
Can we write the code effective way???
Could any one help me out...
<b>Ram</b>