<?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 Re: How to avoid inner loops in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097371#M102503</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ramesh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can avoid the inner loops by using the &lt;/P&gt;&lt;P&gt;READ TABLE ITAB WITH KEY.. BINARY SEARCH statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Suresh Datti&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 27 Dec 2005 14:30:55 GMT</pubDate>
    <dc:creator>suresh_datti</dc:creator>
    <dc:date>2005-12-27T14:30:55Z</dc:date>
    <item>
      <title>How to avoid inner loops</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097369#M102501</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi abapers,&lt;/P&gt;&lt;P&gt;how can i avoid inner loops in performance point of view.&lt;/P&gt;&lt;P&gt;for example my code as follows .. what are the other statements i can use to get more performance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if not itab_afvc[] is initial.&lt;/P&gt;&lt;P&gt;        loop at itab_afvc.&lt;/P&gt;&lt;P&gt;          if not itab_afvc-qmnum is initial.&lt;/P&gt;&lt;P&gt;           loop at itab_s where&lt;/P&gt;&lt;P&gt;                            NLMIS_qmnum eq itab_afvc-qmnum&lt;/P&gt;&lt;P&gt;                            and opno = itab_afvc-vornr.&lt;/P&gt;&lt;P&gt;              if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;                itab_afvc-aufnr1 = itab_s-NLMIS_ORDNO.&lt;/P&gt;&lt;P&gt;                itab_afvc-vornr =  itab_s-vornr.&lt;/P&gt;&lt;P&gt;                modify itab_afvc.&lt;/P&gt;&lt;P&gt;              endif.&lt;/P&gt;&lt;P&gt;            endloop.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;          loop at itab_crhd where objid = itab_afvc-arbid.&lt;/P&gt;&lt;P&gt;            if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;              itab_afvc-arbpl = itab_crhd-arbpl.&lt;/P&gt;&lt;P&gt;              itab_afvc-werks = itab_crhd-werks.&lt;/P&gt;&lt;P&gt;              modify itab_afvc.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          endloop.&lt;/P&gt;&lt;P&gt;          if not itab_afko[] is initial.&lt;/P&gt;&lt;P&gt;          loop at itab_afko where aufpl = itab_afvc-aufpl.&lt;/P&gt;&lt;P&gt;              if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;                itab_afvc-qmnum = itab_afko-qmnum.&lt;/P&gt;&lt;P&gt;                modify itab_afvc.&lt;/P&gt;&lt;P&gt;              endif.&lt;/P&gt;&lt;P&gt;            endloop.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;          loop at itab_s where qmnum eq itab_afvc-qmnum&lt;/P&gt;&lt;P&gt;                           and opno  eq itab_afvc-opno.&lt;/P&gt;&lt;P&gt;        endloop.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;P&gt;please help me.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Dec 2005 14:26:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097369#M102501</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-27T14:26:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to avoid inner loops</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097370#M102502</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;u can use read table by equating the common key instead of loop and endloop&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Dec 2005 14:29:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097370#M102502</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-27T14:29:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to avoid inner loops</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097371#M102503</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ramesh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can avoid the inner loops by using the &lt;/P&gt;&lt;P&gt;READ TABLE ITAB WITH KEY.. BINARY SEARCH statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Suresh Datti&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Dec 2005 14:30:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097371#M102503</guid>
      <dc:creator>suresh_datti</dc:creator>
      <dc:date>2005-12-27T14:30:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to avoid inner loops</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097372#M102504</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First loop at the internal table. Then read the other table with proper feilds. Try to use Binary search while reading as this improves performance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maheshwari.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Dec 2005 14:33:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097372#M102504</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-27T14:33:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to avoid inner loops</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097373#M102505</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;From my understanding you are modifying outer loop internal table so, you can use READ instead of looping the records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; loop at itab_afvc.&lt;/P&gt;&lt;P&gt;          if not itab_afvc-qmnum is initial.&lt;/P&gt;&lt;P&gt;           Read table itab_s with key&lt;/P&gt;&lt;P&gt;                            NLMIS_qmnum eq itab_afvc-qmnum&lt;/P&gt;&lt;P&gt;                            opno = itab_afvc-vornr.&lt;/P&gt;&lt;P&gt;              if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;                itab_afvc-aufnr1 = itab_s-NLMIS_ORDNO.&lt;/P&gt;&lt;P&gt;                itab_afvc-vornr =  itab_s-vornr.&lt;/P&gt;&lt;P&gt;                modify itab_afvc.&lt;/P&gt;&lt;P&gt;              endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;          Read table itab_crhd with key objid = itab_afvc-arbid.&lt;/P&gt;&lt;P&gt;            if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;              itab_afvc-arbpl = itab_crhd-arbpl.&lt;/P&gt;&lt;P&gt;              itab_afvc-werks = itab_crhd-werks.&lt;/P&gt;&lt;P&gt;              modify itab_afvc.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          if not itab_afko[] is initial.&lt;/P&gt;&lt;P&gt;          read table itab_afko with key aufpl = itab_afvc-aufpl.&lt;/P&gt;&lt;P&gt;              if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;                itab_afvc-qmnum = itab_afko-qmnum.&lt;/P&gt;&lt;P&gt;                modify itab_afvc.&lt;/P&gt;&lt;P&gt;              endif.&lt;/P&gt;&lt;P&gt;            endloop.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;       endif.&lt;/P&gt;&lt;P&gt;     endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;May be you can sort all internal tables which are used in READ by the same key and use Binary search.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Dec 2005 14:33:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097373#M102505</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-27T14:33:34Z</dc:date>
    </item>
    <item>
      <title>Re: How to avoid inner loops</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097374#M102506</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Some more additions.&lt;/P&gt;&lt;P&gt;  U need not check for initial if U R looping at &lt;/P&gt;&lt;P&gt;  something.(if not itab_afko[] is initial).&lt;/P&gt;&lt;P&gt;  Also sy-subrc is not required inside a loop.&lt;/P&gt;&lt;P&gt;  (if sy-subrc eq 0.)&lt;/P&gt;&lt;P&gt;  Also the last loop is not meaningful.&lt;/P&gt;&lt;P&gt;  (loop at itab_s where qmnum eq itab_afvc-qmnum&lt;/P&gt;&lt;P&gt;    and opno eq itab_afvc-opno.&lt;/P&gt;&lt;P&gt;   endloop.) since UR not doing anything here.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;GSR.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Dec 2005 14:35:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097374#M102506</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-27T14:35:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to avoid inner loops</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097375#M102507</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can't use inner join with LOOP/ENDLOOP statament, you colud improve the performance using SORT TABLE:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: itab_s LIKE SORTED TABLE OF .... with non unique key nlmis_qmnum&lt;/P&gt;&lt;P&gt;                                                opno with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: itab_crhd LIKE SORTED TABLE OF crhd WITH non unique KEY objid&lt;/P&gt;&lt;P&gt;                                       WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: itab_afko LIKE SORTED TABLE OF afko WITH non unique KEY aufpl&lt;/P&gt;&lt;P&gt;                                       WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;......&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT itab_afvc.&lt;/P&gt;&lt;P&gt;  LOOP AT itab_s WHERE nlmis_qmnum EQ itab_afvc-qmnum&lt;/P&gt;&lt;P&gt;                   AND opno = itab_afvc-vornr.&lt;/P&gt;&lt;P&gt;    itab_afvc-aufnr1 = itab_s-nlmis_ordno.&lt;/P&gt;&lt;P&gt;    itab_afvc-vornr = itab_s-vornr.&lt;/P&gt;&lt;P&gt;    MODIFY itab_afvc.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  LOOP AT itab_crhd WHERE objid = itab_afvc-arbid.&lt;/P&gt;&lt;P&gt;    itab_afvc-arbpl = itab_crhd-arbpl.&lt;/P&gt;&lt;P&gt;    itab_afvc-werks = itab_crhd-werks.&lt;/P&gt;&lt;P&gt;    MODIFY itab_afvc.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  LOOP AT itab_afko WHERE aufpl = itab_afvc-aufpl.&lt;/P&gt;&lt;P&gt;    itab_afvc-qmnum = itab_afko-qmnum.&lt;/P&gt;&lt;P&gt;    MODIFY itab_afvc.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  LOOP AT itab_s WHERE qmnum EQ itab_afvc-qmnum&lt;/P&gt;&lt;P&gt;                   AND opno  EQ itab_afvc-opno.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Max&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Dec 2005 14:38:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-avoid-inner-loops/m-p/1097375#M102507</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-27T14:38:22Z</dc:date>
    </item>
  </channel>
</rss>

