<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Performance Tuning in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/3794455#M912602</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;             I have one RFC 'ZBW_XXXXX' . Maximum performance needed from my RFC. Currently it is taking some micro seconds. i want to reduce as possible we can do.&lt;/P&gt;&lt;P&gt;Iam pasting code...&lt;/P&gt;&lt;P&gt;In the Below statmemt i have remove aggregate functions&lt;/P&gt;&lt;P&gt;and i done my best in ABAP Coding for this part.&lt;/P&gt;&lt;P&gt;Functionality wise that logic is working correct . it is done&lt;/P&gt;&lt;P&gt;with help at end of control statement and use SUM keyword&lt;/P&gt;&lt;P&gt;inside the internal table loop.&lt;/P&gt;&lt;P&gt;But still performance wise it is taking more time than &lt;/P&gt;&lt;P&gt;the Current select stamt with AggregateFunctions.&lt;/P&gt;&lt;P&gt;Also one point  in given select query , group by Clause&lt;/P&gt;&lt;P&gt;fields like kf_key, TEXT1, TEXT2, TEXT3 ,TEXT4, are not key fields of Ztable.&lt;/P&gt;&lt;P&gt;Apart from select query,any other also Performance can &lt;/P&gt;&lt;P&gt;be Improved.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;CODE AS FOLLOWS&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select subreg country site plant kf_key TEXT1 TEXT2 TEXT3 TEXT4 sum( period1 ) as period1 sum( period2 ) as period2&lt;/P&gt;&lt;P&gt;      sum( period3 ) as period3 sum( period4 ) as period4&lt;/P&gt;&lt;P&gt;      sum( period5 ) as period5 sum( period6 ) as period6&lt;/P&gt;&lt;P&gt;      sum( period7 ) as period7 sum( period8 ) as period8&lt;/P&gt;&lt;P&gt;      sum( period9 ) as period9 sum( period10 ) as period10&lt;/P&gt;&lt;P&gt;      sum( period11 ) as period11 sum( period12 ) as period12&lt;/P&gt;&lt;P&gt;      sum( period13 ) as period13 sum( period14 ) as period14&lt;/P&gt;&lt;P&gt;      sum( period15 ) as period15 sum( period16 ) as period16&lt;/P&gt;&lt;P&gt;      sum( period17 ) as period17 sum( period18 ) as period18&lt;/P&gt;&lt;P&gt;      sum( period19 ) as period19 sum( period20 ) as period20&lt;/P&gt;&lt;P&gt;      sum( period21 ) as period21 sum( period22 ) as period22&lt;/P&gt;&lt;P&gt;      sum( period23 ) as period23 sum( period24 ) as period24&lt;/P&gt;&lt;P&gt;       from ZBW_LPAD_ANALYST&lt;/P&gt;&lt;P&gt;       into corresponding fields of table xit_analyst&lt;/P&gt;&lt;P&gt;      where subreg   in S_SUBREG&lt;/P&gt;&lt;P&gt;        and country  in S_COUNTRY&lt;/P&gt;&lt;P&gt;        and site     in S_SITE&lt;/P&gt;&lt;P&gt;and plant    in S_PLANT&lt;/P&gt;&lt;P&gt;        and sph      in S_SPH&lt;/P&gt;&lt;P&gt;        and spm      in S_SPM&lt;/P&gt;&lt;P&gt;        and spl      in S_SPL&lt;/P&gt;&lt;P&gt;        and supgbu   in S_SUPGBU&lt;/P&gt;&lt;P&gt;        and gbu      in S_GBU&lt;/P&gt;&lt;P&gt;        and procmt   in S_PROCMT&lt;/P&gt;&lt;P&gt;        and apvendor in S_VENDOR&lt;/P&gt;&lt;P&gt;      group by subreg country site plant kf_key TEXT1 TEXT2 TEXT3 TEXT4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; loop at xit_analyst into WA_ANALYST.&lt;/P&gt;&lt;P&gt;    clear: WA_CY, WA_LY, wa_from, wa_from1.&lt;/P&gt;&lt;P&gt;    wa_from1 = wa_from_c.&lt;/P&gt;&lt;P&gt;    wa_from  = wa_from_l.&lt;/P&gt;&lt;P&gt;    do wa_to times.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get current year period values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if wa_from1 &amp;gt;= 13.&lt;/P&gt;&lt;P&gt;        move: wa_from1 to period_from.&lt;/P&gt;&lt;P&gt;        concatenate 'PERIOD' period_from into wa_period.&lt;/P&gt;&lt;P&gt;        condense wa_period.&lt;/P&gt;&lt;P&gt;        assign wa_period to &amp;lt;wa_fs&amp;gt;.&lt;/P&gt;&lt;P&gt;        assign component &amp;lt;wa_fs&amp;gt; of structure wa_analyst to &amp;lt;wa_fs1&amp;gt;.&lt;/P&gt;&lt;P&gt;        wa_cy = wa_cy + &amp;lt;wa_fs1&amp;gt;.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Last year period values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if wa_from &amp;lt;= 12.&lt;/P&gt;&lt;P&gt;        move: wa_from to period_from.&lt;/P&gt;&lt;P&gt;        concatenate 'PERIOD' period_from into wa_period.&lt;/P&gt;&lt;P&gt;        condense wa_period.&lt;/P&gt;&lt;P&gt;        assign wa_period to &amp;lt;wa_fs&amp;gt;.&lt;/P&gt;&lt;P&gt;        assign component &amp;lt;wa_fs&amp;gt; of structure wa_analyst to &amp;lt;wa_fs1&amp;gt;.&lt;/P&gt;&lt;P&gt;        wa_ly = wa_ly + &amp;lt;wa_fs1&amp;gt;.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      wa_from  = wa_from + 1.&lt;/P&gt;&lt;P&gt;      wa_from1 = wa_from1 + 1.&lt;/P&gt;&lt;P&gt;    enddo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if wa_cy eq 0 and wa_ly eq 0.&lt;/P&gt;&lt;P&gt;       clear: WA_ANALYST, wa_cy, wa_ly, WA_ANLST.&lt;/P&gt;&lt;P&gt;       continue.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    read table IT_ANLST into WA_ANLST with key&lt;/P&gt;&lt;P&gt;                                               ZP_SUBREG     = WA_ANALYST-SUBREG&lt;/P&gt;&lt;P&gt;                                               GPU_0COUNTRY  = WA_ANALYST-COUNTRY&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                              GPUBWSITE     = WA_ANALYST-SITE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                                               GPU_0PLANT    = WA_ANALYST-PLANT.&lt;/P&gt;&lt;P&gt;    if SY-SUBRC eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      case WA_ANALYST-KF_KEY.&lt;/P&gt;&lt;P&gt;        when '49FBA3CTDNHMK46IHJRCXO7W5'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUGLBCUR_CY = WA_ANLST-GPUGLBCUR_CY + WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUGLBCUR_LY = WA_ANLST-GPUGLBCUR_LY + WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA3KHWM3C2QPYNDTP7Q6LX'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINVHDR_CY = WA_ANLST-GPUINVHDR_CY + WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINVHDR_LY = WA_ANLST-GPUINVHDR_LY + WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA3S6FKP1LD9ET7W1HS5BP'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINLITM_CY = WA_ANLST-GPUINLITM_CY + WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINLITM_LY = WA_ANLST-GPUINLITM_LY + WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA3ZUYJAR3ZSUZ1YDRU41H'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINWOPO_CY = WA_ANLST-GPUINWOPO_CY + WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINWOPO_LY = WA_ANLST-GPUINWOPO_LY + WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA47JHHWGMMCB4W0Q1W2R9'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUTOT_PO_CY = WA_ANLST-GPUTOT_PO_CY + WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUTOT_PO_LY = WA_ANLST-GPUTOT_PO_LY + WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA4F80GI658VRAQ32BY1H1'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUN_LNIT_CY = WA_ANLST-GPUN_LNIT_CY + WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUN_LNIT_LY = WA_ANLST-GPUN_LNIT_LY + WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA4UL2DPL6HYNME7QW1YWL'.      " FI Spend&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUFISPND_CY = WA_ANLST-GPUFISPND_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUFISPND_LY = WA_ANLST-GPUFISPND_LY + WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA5HMN9IPQDL03WERQ7V1X'.      " Compliant spend&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCMS_CY = WA_ANLST-GPUPSLCMS_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCMS_LY = WA_ANLST-GPUPSLCMS_LY + WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA6RPT14YU4TP2WSTEJNCL'.      " Compliant #&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCOM_CY = WA_ANLST-GPUPSLCOM_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCOM_LY = WA_ANLST-GPUPSLCOM_LY + WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA81SYSR7XW2E1X6V2VFN9'.      " MRP and Catalog PO lines&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLMRP_CY = WA_ANLST-GPUPSLMRP_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLMRP_LY = WA_ANLST-GPUPSLMRP_LY + WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA772UYCDVDWLEKXHYNKS5'.      " Procurement method compliant #&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCOMP_CY = WA_ANLST-GPUMTCOMP_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCOMP_LY = WA_ANLST-GPUMTCOMP_LY + WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA7MFWVJSWMZHQ926IRI7P'.      " Sourcing compliant #&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCOMP_CY = WA_ANLST-GPUSRCOMP_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCOMP_LY = WA_ANLST-GPUSRCOMP_LY + WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA5WZP6Q4RMNWFKJGABSHH'.      " Procurement method compliant spend&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCMPS_CY = WA_ANLST-GPUMTCMPS_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCMPS_LY = WA_ANLST-GPUMTCMPS_LY + WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA6CCR3XJSVQSR8O4UFPX1'.      " Sourcing compliant spend&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCMPS_CY = WA_ANLST-GPUSRCMPS_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCMPS_LY = WA_ANLST-GPUSRCMPS_LY + WA_LY.		&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endcase.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clear: wa_anlst-gpu_0plant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      modify it_anlst from wa_anlst index sy-tabix.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      move: WA_ANALYST-SUBREG   to wa_anlst-ZP_SUBREG,&lt;/P&gt;&lt;P&gt;            WA_ANALYST-TEXT1    to wa_anlst-text1,&lt;/P&gt;&lt;P&gt;            WA_ANALYST-COUNTRY  to wa_anlst-GPU_0COUNTRY,&lt;/P&gt;&lt;P&gt;            WA_ANALYST-TEXT2    to wa_anlst-text2,&lt;/P&gt;&lt;P&gt;            WA_ANALYST-SITE     to wa_anlst-GPUBWSITE,&lt;/P&gt;&lt;P&gt;            WA_ANALYST-TEXT3    to wa_anlst-text3,&lt;/P&gt;&lt;P&gt;            WA_ANALYST-PLANT    to wa_anlst-GPU_0PLANT,&lt;/P&gt;&lt;P&gt;            WA_ANALYST-TEXT4    to wa_anlst-text4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      case WA_ANALYST-KF_KEY.&lt;/P&gt;&lt;P&gt;        when '49FBA3CTDNHMK46IHJRCXO7W5'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUGLBCUR_CY = WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUGLBCUR_LY = WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA3KHWM3C2QPYNDTP7Q6LX'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINVHDR_CY = WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINVHDR_LY = WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA3S6FKP1LD9ET7W1HS5BP'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINLITM_CY = WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINLITM_LY = WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA3ZUYJAR3ZSUZ1YDRU41H'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINWOPO_CY = WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINWOPO_LY = WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA47JHHWGMMCB4W0Q1W2R9'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUTOT_PO_CY = WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUTOT_PO_LY = WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA4F80GI658VRAQ32BY1H1'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUN_LNIT_CY = WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUN_LNIT_LY = WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA4UL2DPL6HYNME7QW1YWL'.      " FI Spend&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUFISPND_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUFISPND_LY =  WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA5HMN9IPQDL03WERQ7V1X'.      " Compliant spend&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCMS_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCMS_LY =  WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA6RPT14YU4TP2WSTEJNCL'.      " Compliant #&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCOM_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCOM_LY =  WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA81SYSR7XW2E1X6V2VFN9'.      " MRP and Catalog PO lines&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLMRP_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLMRP_LY =  WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA772UYCDVDWLEKXHYNKS5'.      " Procurement method compliant #&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCOMP_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCOMP_LY =  WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA7MFWVJSWMZHQ926IRI7P'.      " Sourcing compliant #&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCOMP_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCOMP_LY =  WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA5WZP6Q4RMNWFKJGABSHH'.      " Procurement method compliant spend&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCMPS_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCMPS_LY =  WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA6CCR3XJSVQSR8O4UFPX1'.      " Sourcing compliant spend&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCMPS_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCMPS_LY =  WA_LY.		&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endcase.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clear: wa_anlst-gpu_0plant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      append wa_anlst to it_anlst.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Subregion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table ew_subreg into wa_nv with key fieldname = wa_anlst-zp_subreg.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;       move: wa_anlst-zp_subreg to wa_nv-fieldname,&lt;/P&gt;&lt;P&gt;             wa_anlst-text1     to wa_nv-value.&lt;/P&gt;&lt;P&gt;       append wa_nv to ew_subreg.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Country&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table ew_country into wa_nv with key fieldname = wa_anlst-gpu_0country.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;       move: wa_anlst-gpu_0country to wa_nv-fieldname,&lt;/P&gt;&lt;P&gt;             wa_anlst-text2     to wa_nv-value.&lt;/P&gt;&lt;P&gt;       append wa_nv to ew_country.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Plant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table ew_plant into wa_nv with key fieldname = wa_anlst-GPU_0PLANT.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;       move: wa_anlst-gpu_0plant to wa_nv-fieldname,&lt;/P&gt;&lt;P&gt;             wa_anlst-text4     to wa_nv-value.&lt;/P&gt;&lt;P&gt;       append wa_nv to ew_plant.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Site&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table ew_site into wa_nv with key fieldname = wa_anlst-GPUBWSITE.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;       move: wa_anlst-GPUBWSITE to wa_nv-fieldname,&lt;/P&gt;&lt;P&gt;             wa_anlst-text3     to wa_nv-value.&lt;/P&gt;&lt;P&gt;       append wa_nv to ew_site.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear: WA_ANALYST, wa_cy, wa_ly, WA_ANLST.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        and plant    in S_PLANT&lt;/P&gt;&lt;P&gt;        and sph      in S_SPH&lt;/P&gt;&lt;P&gt;        and spm      in S_SPM&lt;/P&gt;&lt;P&gt;        and spl      in S_SPL&lt;/P&gt;&lt;P&gt;        and supgbu   in S_SUPGBU&lt;/P&gt;&lt;P&gt;        and gbu      in S_GBU&lt;/P&gt;&lt;P&gt;        and procmt   in S_PROCMT&lt;/P&gt;&lt;P&gt;        and apvendor in S_VENDOR&lt;/P&gt;&lt;P&gt;      group by subreg country site plant kf_key TEXT1 TEXT2 TEXT3 TEXT4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Helpful answers wil be rewarded.&lt;/P&gt;&lt;P&gt;BestRegards,&lt;/P&gt;&lt;P&gt;anilkumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 15 May 2008 08:56:14 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-05-15T08:56:14Z</dc:date>
    <item>
      <title>Performance Tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/3794455#M912602</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;             I have one RFC 'ZBW_XXXXX' . Maximum performance needed from my RFC. Currently it is taking some micro seconds. i want to reduce as possible we can do.&lt;/P&gt;&lt;P&gt;Iam pasting code...&lt;/P&gt;&lt;P&gt;In the Below statmemt i have remove aggregate functions&lt;/P&gt;&lt;P&gt;and i done my best in ABAP Coding for this part.&lt;/P&gt;&lt;P&gt;Functionality wise that logic is working correct . it is done&lt;/P&gt;&lt;P&gt;with help at end of control statement and use SUM keyword&lt;/P&gt;&lt;P&gt;inside the internal table loop.&lt;/P&gt;&lt;P&gt;But still performance wise it is taking more time than &lt;/P&gt;&lt;P&gt;the Current select stamt with AggregateFunctions.&lt;/P&gt;&lt;P&gt;Also one point  in given select query , group by Clause&lt;/P&gt;&lt;P&gt;fields like kf_key, TEXT1, TEXT2, TEXT3 ,TEXT4, are not key fields of Ztable.&lt;/P&gt;&lt;P&gt;Apart from select query,any other also Performance can &lt;/P&gt;&lt;P&gt;be Improved.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;CODE AS FOLLOWS&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select subreg country site plant kf_key TEXT1 TEXT2 TEXT3 TEXT4 sum( period1 ) as period1 sum( period2 ) as period2&lt;/P&gt;&lt;P&gt;      sum( period3 ) as period3 sum( period4 ) as period4&lt;/P&gt;&lt;P&gt;      sum( period5 ) as period5 sum( period6 ) as period6&lt;/P&gt;&lt;P&gt;      sum( period7 ) as period7 sum( period8 ) as period8&lt;/P&gt;&lt;P&gt;      sum( period9 ) as period9 sum( period10 ) as period10&lt;/P&gt;&lt;P&gt;      sum( period11 ) as period11 sum( period12 ) as period12&lt;/P&gt;&lt;P&gt;      sum( period13 ) as period13 sum( period14 ) as period14&lt;/P&gt;&lt;P&gt;      sum( period15 ) as period15 sum( period16 ) as period16&lt;/P&gt;&lt;P&gt;      sum( period17 ) as period17 sum( period18 ) as period18&lt;/P&gt;&lt;P&gt;      sum( period19 ) as period19 sum( period20 ) as period20&lt;/P&gt;&lt;P&gt;      sum( period21 ) as period21 sum( period22 ) as period22&lt;/P&gt;&lt;P&gt;      sum( period23 ) as period23 sum( period24 ) as period24&lt;/P&gt;&lt;P&gt;       from ZBW_LPAD_ANALYST&lt;/P&gt;&lt;P&gt;       into corresponding fields of table xit_analyst&lt;/P&gt;&lt;P&gt;      where subreg   in S_SUBREG&lt;/P&gt;&lt;P&gt;        and country  in S_COUNTRY&lt;/P&gt;&lt;P&gt;        and site     in S_SITE&lt;/P&gt;&lt;P&gt;and plant    in S_PLANT&lt;/P&gt;&lt;P&gt;        and sph      in S_SPH&lt;/P&gt;&lt;P&gt;        and spm      in S_SPM&lt;/P&gt;&lt;P&gt;        and spl      in S_SPL&lt;/P&gt;&lt;P&gt;        and supgbu   in S_SUPGBU&lt;/P&gt;&lt;P&gt;        and gbu      in S_GBU&lt;/P&gt;&lt;P&gt;        and procmt   in S_PROCMT&lt;/P&gt;&lt;P&gt;        and apvendor in S_VENDOR&lt;/P&gt;&lt;P&gt;      group by subreg country site plant kf_key TEXT1 TEXT2 TEXT3 TEXT4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; loop at xit_analyst into WA_ANALYST.&lt;/P&gt;&lt;P&gt;    clear: WA_CY, WA_LY, wa_from, wa_from1.&lt;/P&gt;&lt;P&gt;    wa_from1 = wa_from_c.&lt;/P&gt;&lt;P&gt;    wa_from  = wa_from_l.&lt;/P&gt;&lt;P&gt;    do wa_to times.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get current year period values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if wa_from1 &amp;gt;= 13.&lt;/P&gt;&lt;P&gt;        move: wa_from1 to period_from.&lt;/P&gt;&lt;P&gt;        concatenate 'PERIOD' period_from into wa_period.&lt;/P&gt;&lt;P&gt;        condense wa_period.&lt;/P&gt;&lt;P&gt;        assign wa_period to &amp;lt;wa_fs&amp;gt;.&lt;/P&gt;&lt;P&gt;        assign component &amp;lt;wa_fs&amp;gt; of structure wa_analyst to &amp;lt;wa_fs1&amp;gt;.&lt;/P&gt;&lt;P&gt;        wa_cy = wa_cy + &amp;lt;wa_fs1&amp;gt;.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Last year period values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if wa_from &amp;lt;= 12.&lt;/P&gt;&lt;P&gt;        move: wa_from to period_from.&lt;/P&gt;&lt;P&gt;        concatenate 'PERIOD' period_from into wa_period.&lt;/P&gt;&lt;P&gt;        condense wa_period.&lt;/P&gt;&lt;P&gt;        assign wa_period to &amp;lt;wa_fs&amp;gt;.&lt;/P&gt;&lt;P&gt;        assign component &amp;lt;wa_fs&amp;gt; of structure wa_analyst to &amp;lt;wa_fs1&amp;gt;.&lt;/P&gt;&lt;P&gt;        wa_ly = wa_ly + &amp;lt;wa_fs1&amp;gt;.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      wa_from  = wa_from + 1.&lt;/P&gt;&lt;P&gt;      wa_from1 = wa_from1 + 1.&lt;/P&gt;&lt;P&gt;    enddo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if wa_cy eq 0 and wa_ly eq 0.&lt;/P&gt;&lt;P&gt;       clear: WA_ANALYST, wa_cy, wa_ly, WA_ANLST.&lt;/P&gt;&lt;P&gt;       continue.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    read table IT_ANLST into WA_ANLST with key&lt;/P&gt;&lt;P&gt;                                               ZP_SUBREG     = WA_ANALYST-SUBREG&lt;/P&gt;&lt;P&gt;                                               GPU_0COUNTRY  = WA_ANALYST-COUNTRY&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                              GPUBWSITE     = WA_ANALYST-SITE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                                               GPU_0PLANT    = WA_ANALYST-PLANT.&lt;/P&gt;&lt;P&gt;    if SY-SUBRC eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      case WA_ANALYST-KF_KEY.&lt;/P&gt;&lt;P&gt;        when '49FBA3CTDNHMK46IHJRCXO7W5'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUGLBCUR_CY = WA_ANLST-GPUGLBCUR_CY + WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUGLBCUR_LY = WA_ANLST-GPUGLBCUR_LY + WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA3KHWM3C2QPYNDTP7Q6LX'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINVHDR_CY = WA_ANLST-GPUINVHDR_CY + WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINVHDR_LY = WA_ANLST-GPUINVHDR_LY + WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA3S6FKP1LD9ET7W1HS5BP'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINLITM_CY = WA_ANLST-GPUINLITM_CY + WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINLITM_LY = WA_ANLST-GPUINLITM_LY + WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA3ZUYJAR3ZSUZ1YDRU41H'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINWOPO_CY = WA_ANLST-GPUINWOPO_CY + WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINWOPO_LY = WA_ANLST-GPUINWOPO_LY + WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA47JHHWGMMCB4W0Q1W2R9'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUTOT_PO_CY = WA_ANLST-GPUTOT_PO_CY + WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUTOT_PO_LY = WA_ANLST-GPUTOT_PO_LY + WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA4F80GI658VRAQ32BY1H1'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUN_LNIT_CY = WA_ANLST-GPUN_LNIT_CY + WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUN_LNIT_LY = WA_ANLST-GPUN_LNIT_LY + WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA4UL2DPL6HYNME7QW1YWL'.      " FI Spend&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUFISPND_CY = WA_ANLST-GPUFISPND_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUFISPND_LY = WA_ANLST-GPUFISPND_LY + WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA5HMN9IPQDL03WERQ7V1X'.      " Compliant spend&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCMS_CY = WA_ANLST-GPUPSLCMS_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCMS_LY = WA_ANLST-GPUPSLCMS_LY + WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA6RPT14YU4TP2WSTEJNCL'.      " Compliant #&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCOM_CY = WA_ANLST-GPUPSLCOM_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCOM_LY = WA_ANLST-GPUPSLCOM_LY + WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA81SYSR7XW2E1X6V2VFN9'.      " MRP and Catalog PO lines&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLMRP_CY = WA_ANLST-GPUPSLMRP_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLMRP_LY = WA_ANLST-GPUPSLMRP_LY + WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA772UYCDVDWLEKXHYNKS5'.      " Procurement method compliant #&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCOMP_CY = WA_ANLST-GPUMTCOMP_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCOMP_LY = WA_ANLST-GPUMTCOMP_LY + WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA7MFWVJSWMZHQ926IRI7P'.      " Sourcing compliant #&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCOMP_CY = WA_ANLST-GPUSRCOMP_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCOMP_LY = WA_ANLST-GPUSRCOMP_LY + WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA5WZP6Q4RMNWFKJGABSHH'.      " Procurement method compliant spend&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCMPS_CY = WA_ANLST-GPUMTCMPS_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCMPS_LY = WA_ANLST-GPUMTCMPS_LY + WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA6CCR3XJSVQSR8O4UFPX1'.      " Sourcing compliant spend&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCMPS_CY = WA_ANLST-GPUSRCMPS_CY + WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCMPS_LY = WA_ANLST-GPUSRCMPS_LY + WA_LY.		&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endcase.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clear: wa_anlst-gpu_0plant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      modify it_anlst from wa_anlst index sy-tabix.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      move: WA_ANALYST-SUBREG   to wa_anlst-ZP_SUBREG,&lt;/P&gt;&lt;P&gt;            WA_ANALYST-TEXT1    to wa_anlst-text1,&lt;/P&gt;&lt;P&gt;            WA_ANALYST-COUNTRY  to wa_anlst-GPU_0COUNTRY,&lt;/P&gt;&lt;P&gt;            WA_ANALYST-TEXT2    to wa_anlst-text2,&lt;/P&gt;&lt;P&gt;            WA_ANALYST-SITE     to wa_anlst-GPUBWSITE,&lt;/P&gt;&lt;P&gt;            WA_ANALYST-TEXT3    to wa_anlst-text3,&lt;/P&gt;&lt;P&gt;            WA_ANALYST-PLANT    to wa_anlst-GPU_0PLANT,&lt;/P&gt;&lt;P&gt;            WA_ANALYST-TEXT4    to wa_anlst-text4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      case WA_ANALYST-KF_KEY.&lt;/P&gt;&lt;P&gt;        when '49FBA3CTDNHMK46IHJRCXO7W5'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUGLBCUR_CY = WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUGLBCUR_LY = WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA3KHWM3C2QPYNDTP7Q6LX'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINVHDR_CY = WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINVHDR_LY = WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA3S6FKP1LD9ET7W1HS5BP'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINLITM_CY = WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINLITM_LY = WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA3ZUYJAR3ZSUZ1YDRU41H'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINWOPO_CY = WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUINWOPO_LY = WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA47JHHWGMMCB4W0Q1W2R9'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUTOT_PO_CY = WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUTOT_PO_LY = WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA4F80GI658VRAQ32BY1H1'.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUN_LNIT_CY = WA_CY.&lt;/P&gt;&lt;P&gt;          WA_ANLST-GPUN_LNIT_LY = WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA4UL2DPL6HYNME7QW1YWL'.      " FI Spend&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUFISPND_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUFISPND_LY =  WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA5HMN9IPQDL03WERQ7V1X'.      " Compliant spend&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCMS_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCMS_LY =  WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA6RPT14YU4TP2WSTEJNCL'.      " Compliant #&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCOM_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLCOM_LY =  WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA81SYSR7XW2E1X6V2VFN9'.      " MRP and Catalog PO lines&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLMRP_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUPSLMRP_LY =  WA_LY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        when '49FBA772UYCDVDWLEKXHYNKS5'.      " Procurement method compliant #&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCOMP_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCOMP_LY =  WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA7MFWVJSWMZHQ926IRI7P'.      " Sourcing compliant #&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCOMP_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCOMP_LY =  WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA5WZP6Q4RMNWFKJGABSHH'.      " Procurement method compliant spend&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCMPS_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUMTCMPS_LY =  WA_LY.&lt;/P&gt;&lt;P&gt;        when '49FBA6CCR3XJSVQSR8O4UFPX1'.      " Sourcing compliant spend&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCMPS_CY =  WA_CY.&lt;/P&gt;&lt;P&gt;            WA_ANLST-GPUSRCMPS_LY =  WA_LY.		&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endcase.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clear: wa_anlst-gpu_0plant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      append wa_anlst to it_anlst.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Subregion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table ew_subreg into wa_nv with key fieldname = wa_anlst-zp_subreg.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;       move: wa_anlst-zp_subreg to wa_nv-fieldname,&lt;/P&gt;&lt;P&gt;             wa_anlst-text1     to wa_nv-value.&lt;/P&gt;&lt;P&gt;       append wa_nv to ew_subreg.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Country&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table ew_country into wa_nv with key fieldname = wa_anlst-gpu_0country.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;       move: wa_anlst-gpu_0country to wa_nv-fieldname,&lt;/P&gt;&lt;P&gt;             wa_anlst-text2     to wa_nv-value.&lt;/P&gt;&lt;P&gt;       append wa_nv to ew_country.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Plant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table ew_plant into wa_nv with key fieldname = wa_anlst-GPU_0PLANT.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;       move: wa_anlst-gpu_0plant to wa_nv-fieldname,&lt;/P&gt;&lt;P&gt;             wa_anlst-text4     to wa_nv-value.&lt;/P&gt;&lt;P&gt;       append wa_nv to ew_plant.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Site&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table ew_site into wa_nv with key fieldname = wa_anlst-GPUBWSITE.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;       move: wa_anlst-GPUBWSITE to wa_nv-fieldname,&lt;/P&gt;&lt;P&gt;             wa_anlst-text3     to wa_nv-value.&lt;/P&gt;&lt;P&gt;       append wa_nv to ew_site.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear: WA_ANALYST, wa_cy, wa_ly, WA_ANLST.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        and plant    in S_PLANT&lt;/P&gt;&lt;P&gt;        and sph      in S_SPH&lt;/P&gt;&lt;P&gt;        and spm      in S_SPM&lt;/P&gt;&lt;P&gt;        and spl      in S_SPL&lt;/P&gt;&lt;P&gt;        and supgbu   in S_SUPGBU&lt;/P&gt;&lt;P&gt;        and gbu      in S_GBU&lt;/P&gt;&lt;P&gt;        and procmt   in S_PROCMT&lt;/P&gt;&lt;P&gt;        and apvendor in S_VENDOR&lt;/P&gt;&lt;P&gt;      group by subreg country site plant kf_key TEXT1 TEXT2 TEXT3 TEXT4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Helpful answers wil be rewarded.&lt;/P&gt;&lt;P&gt;BestRegards,&lt;/P&gt;&lt;P&gt;anilkumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 May 2008 08:56:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/3794455#M912602</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-15T08:56:14Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/3794456#M912603</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi sutharapu,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perhaps a view tipps and questions that will get you on your way. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;why the ... into corresponding fields of table xit_analyst ...? It could be better if you work with one internal table for the selection result and another for the result of logical operations.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; loop at xit_analyst into WA_ANALYST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;better would be loop at ... assigning &amp;lt;FS_ANALYST&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Instad of your read table with key you could try READ TABLE ... WITH BINARY SEARCH if it's possible to sort your internal tables in the correct way.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 May 2008 11:32:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/3794456#M912603</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-15T11:32:35Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/3794457#M912604</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Robert,&lt;/P&gt;&lt;P&gt;                 I forgot to say one more point here .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Iam using 5 select queries with different search criteria&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select query1:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i mean to say  GROUP BY clause  subrg country site plant kf_key TEXT1 TEXT2 TEXT3 TEXT4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selectquery2:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; I mean to say Group by clause for&lt;/P&gt;&lt;P&gt; sph spm spl kf_key TEXT5 TEXT6 TEXT7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selectquery3:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GROUP BY clause for&lt;/P&gt;&lt;P&gt;supgbu gbu kf_key TEXT8 TEXT9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select query4:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Group by clause for&lt;/P&gt;&lt;P&gt;apvendor kf_key TEXT11.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select query 5:&lt;/P&gt;&lt;P&gt;group by clause for&lt;/P&gt;&lt;P&gt;procmt kf_key TEXT10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All the 5 select queries are same but group by clause will change and also different data(fields) is fetched but same where condition.&lt;/P&gt;&lt;P&gt;Here in Group by clause,non key fields also specified.&lt;/P&gt;&lt;P&gt;All the code i pasted is same for 5 select queries  but with &lt;/P&gt;&lt;P&gt;differnt group by clause but SUM to be done for all queries.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thats why  *&lt;STRONG&gt;select into correspondign fields of table is used&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also binary search is not possible in my case,since internal&lt;/P&gt;&lt;P&gt;tables are building dynamically.so i cannt sort itab by fields....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: sutharapu anilkumar on May 15, 2008 5:20 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 May 2008 14:32:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/3794457#M912604</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-15T14:32:39Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/3794458#M912605</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Anil,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the code that you have written looks pretty much in accordance with the performance considerations..  However I am still confused on your using of 'into corresponding fields of table' . Could you kindly explain it to me.. I am sure this can be removed in some way and that will improve the performance of your code further.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 May 2008 16:03:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/3794458#M912605</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-15T16:03:53Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Tuning</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/3794459#M912606</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Harmeet singh,&lt;/P&gt;&lt;P&gt;                           In my second conversation of posting,&lt;/P&gt;&lt;P&gt;I have explained why iam usign INTO CORRSPONDING &lt;/P&gt;&lt;P&gt;FIELDS OF TABLE is used.&lt;/P&gt;&lt;P&gt;I mean to say that  i have used 5 select queries, after each &lt;/P&gt;&lt;P&gt;select and  given logic i will be  using commands as follows.&lt;/P&gt;&lt;P&gt;refresh:xit_analyst.&lt;/P&gt;&lt;P&gt;clear:xit_analyst.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it will be no contents in xit_analyst when new  select query is &lt;/P&gt;&lt;P&gt;used.This select query is similiar to the first select query but&lt;/P&gt;&lt;P&gt;only  by Differnet GROUP BY CLAUSE and fetching fields also&lt;/P&gt;&lt;P&gt;differnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here xit_analyst type standard table of ztable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All 5 queries iam using differnt group by clause fields.&lt;/P&gt;&lt;P&gt;since ztable has 9 key fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for example first select query iam using 3 key fields of ztable and 4 non key fields in group by clause.&lt;/P&gt;&lt;P&gt;in second select qurey lam using next 2 key fileds of ztable &lt;/P&gt;&lt;P&gt;and 3 non key fields in group by clause.&lt;/P&gt;&lt;P&gt;in third select qury iam usign next 3 key fields of ztable and&lt;/P&gt;&lt;P&gt;2 non key fieleds in group by clause.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All the select queries iam fetchign data from ztable but with differnt group by clause(differnt key fields and  non key fileds).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope it is understood.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BestRegards,&lt;/P&gt;&lt;P&gt;S.Anilkumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 May 2008 04:15:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning/m-p/3794459#M912606</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-16T04:15:47Z</dc:date>
    </item>
  </channel>
</rss>

