Skip to Content
0
Dec 09, 2006 at 09:58 AM

performance issue

30 Views

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>