<?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 optimization of the code in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/optimization-of-the-code/m-p/2922534#M688308</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi, &lt;/P&gt;&lt;P&gt;plz can suggest to optimize the below code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ibkpf.&lt;/P&gt;&lt;P&gt;    DATA v_rate LIKE bset-hwste.&lt;/P&gt;&lt;P&gt;    MOVE ibkpf-belnr TO lt_output-belnr.&lt;/P&gt;&lt;P&gt;    MOVE ibkpf-awkey TO lt_output-awkey.&lt;/P&gt;&lt;P&gt;    MOVE ibkpf-budat TO lt_output-budat.&lt;/P&gt;&lt;P&gt;    MOVE ibkpf-blart TO lt_output-blart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF ibkpf-blart NE 'EP'.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE kschl&lt;/P&gt;&lt;P&gt;      INTO (bset-kschl )&lt;/P&gt;&lt;P&gt;          FROM bset&lt;/P&gt;&lt;P&gt;          WHERE  bukrs = ibkpf-bukrs&lt;/P&gt;&lt;P&gt;            AND  belnr = ibkpf-belnr&lt;/P&gt;&lt;P&gt;            AND gjahr  = gjahr&lt;/P&gt;&lt;P&gt;            AND ( kschl IN zlst OR&lt;/P&gt;&lt;P&gt;                  kschl IN zcst ).&lt;/P&gt;&lt;P&gt;      CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      COMPUTE v_rate = ( bset-hwste  / bset-hwbas ) * 100.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        CLEAR v_rate.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE vbeln erdat knumv kunag&lt;/P&gt;&lt;P&gt;            INTO  (vbrk-vbeln,vbrk-erdat,lt_output-knumv,&lt;/P&gt;&lt;P&gt;                   lt_output-kunag)&lt;/P&gt;&lt;P&gt;            FROM vbrk&lt;/P&gt;&lt;P&gt;           WHERE vbeln = ibkpf-awkey&lt;/P&gt;&lt;P&gt;             AND kunag IN s_kunnr&lt;/P&gt;&lt;P&gt;             AND rfbsk = 'C'.&lt;/P&gt;&lt;P&gt;    CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      CLEAR: lt_output-knumv,lt_output-kunag.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      SELECT * FROM vbrp WHERE vbeln = vbrk-vbeln&lt;/P&gt;&lt;P&gt;                       AND werks = p_werks&lt;/P&gt;&lt;P&gt;                       AND erdat = vbrk-erdat&lt;/P&gt;&lt;P&gt;                       AND gsber = p_gsber&lt;/P&gt;&lt;P&gt;                       AND mvgr3 IN s_mvgr3.&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING vbrp TO lt_output.&lt;/P&gt;&lt;P&gt;      CONCATENATE lt_output-matnr lt_output-arktx INTO lt_output-fmatnr&lt;/P&gt;&lt;P&gt;    SEPARATED BY ' - '.&lt;/P&gt;&lt;P&gt;          APPEND lt_output.&lt;/P&gt;&lt;P&gt;          MOVE lt_output-knumv TO ttab-knumv.&lt;/P&gt;&lt;P&gt;          MOVE vbrk-vbeln TO ttab-vbeln .&lt;/P&gt;&lt;P&gt;          MOVE vbrp-mvgr3 TO ttab-mvgr3.&lt;/P&gt;&lt;P&gt;          COLLECT ttab.&lt;/P&gt;&lt;P&gt;          CLEAR ttab.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDSELECT.&lt;/P&gt;&lt;P&gt;      CLEAR lt_output.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 18 Oct 2007 10:52:31 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-10-18T10:52:31Z</dc:date>
    <item>
      <title>optimization of the code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/optimization-of-the-code/m-p/2922534#M688308</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi, &lt;/P&gt;&lt;P&gt;plz can suggest to optimize the below code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT ibkpf.&lt;/P&gt;&lt;P&gt;    DATA v_rate LIKE bset-hwste.&lt;/P&gt;&lt;P&gt;    MOVE ibkpf-belnr TO lt_output-belnr.&lt;/P&gt;&lt;P&gt;    MOVE ibkpf-awkey TO lt_output-awkey.&lt;/P&gt;&lt;P&gt;    MOVE ibkpf-budat TO lt_output-budat.&lt;/P&gt;&lt;P&gt;    MOVE ibkpf-blart TO lt_output-blart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF ibkpf-blart NE 'EP'.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE kschl&lt;/P&gt;&lt;P&gt;      INTO (bset-kschl )&lt;/P&gt;&lt;P&gt;          FROM bset&lt;/P&gt;&lt;P&gt;          WHERE  bukrs = ibkpf-bukrs&lt;/P&gt;&lt;P&gt;            AND  belnr = ibkpf-belnr&lt;/P&gt;&lt;P&gt;            AND gjahr  = gjahr&lt;/P&gt;&lt;P&gt;            AND ( kschl IN zlst OR&lt;/P&gt;&lt;P&gt;                  kschl IN zcst ).&lt;/P&gt;&lt;P&gt;      CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      COMPUTE v_rate = ( bset-hwste  / bset-hwbas ) * 100.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        CLEAR v_rate.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE vbeln erdat knumv kunag&lt;/P&gt;&lt;P&gt;            INTO  (vbrk-vbeln,vbrk-erdat,lt_output-knumv,&lt;/P&gt;&lt;P&gt;                   lt_output-kunag)&lt;/P&gt;&lt;P&gt;            FROM vbrk&lt;/P&gt;&lt;P&gt;           WHERE vbeln = ibkpf-awkey&lt;/P&gt;&lt;P&gt;             AND kunag IN s_kunnr&lt;/P&gt;&lt;P&gt;             AND rfbsk = 'C'.&lt;/P&gt;&lt;P&gt;    CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      CLEAR: lt_output-knumv,lt_output-kunag.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      SELECT * FROM vbrp WHERE vbeln = vbrk-vbeln&lt;/P&gt;&lt;P&gt;                       AND werks = p_werks&lt;/P&gt;&lt;P&gt;                       AND erdat = vbrk-erdat&lt;/P&gt;&lt;P&gt;                       AND gsber = p_gsber&lt;/P&gt;&lt;P&gt;                       AND mvgr3 IN s_mvgr3.&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING vbrp TO lt_output.&lt;/P&gt;&lt;P&gt;      CONCATENATE lt_output-matnr lt_output-arktx INTO lt_output-fmatnr&lt;/P&gt;&lt;P&gt;    SEPARATED BY ' - '.&lt;/P&gt;&lt;P&gt;          APPEND lt_output.&lt;/P&gt;&lt;P&gt;          MOVE lt_output-knumv TO ttab-knumv.&lt;/P&gt;&lt;P&gt;          MOVE vbrk-vbeln TO ttab-vbeln .&lt;/P&gt;&lt;P&gt;          MOVE vbrp-mvgr3 TO ttab-mvgr3.&lt;/P&gt;&lt;P&gt;          COLLECT ttab.&lt;/P&gt;&lt;P&gt;          CLEAR ttab.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDSELECT.&lt;/P&gt;&lt;P&gt;      CLEAR lt_output.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2007 10:52:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/optimization-of-the-code/m-p/2922534#M688308</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-18T10:52:31Z</dc:date>
    </item>
    <item>
      <title>Re: optimization of the code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/optimization-of-the-code/m-p/2922535#M688309</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1. Avoid &amp;lt;b&amp;gt;select * from&amp;lt;/b&amp;gt; in query, instead of it place the fields sequence whatever you required. &lt;/P&gt;&lt;P&gt;2. avoid &amp;lt;b&amp;gt;MOVE-CORRESPONDING vbrp TO lt_output.&amp;lt;/b&amp;gt;. directly get the output from query to it_output.&lt;/P&gt;&lt;P&gt;3.Instead of using MOVE vbrk-vbeln TO ttab-vbeln you can use  ttab-vbeln = vbrk-vbeln to improve the perfornance and we have an option to eliminate additional checkings in MOVE stmt.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2007 13:23:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/optimization-of-the-code/m-p/2922535#M688309</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-18T13:23:08Z</dc:date>
    </item>
    <item>
      <title>Re: optimization of the code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/optimization-of-the-code/m-p/2922536#M688310</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I really don't see a problem with it. Do you?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2007 13:41:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/optimization-of-the-code/m-p/2922536#M688310</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-18T13:41:52Z</dc:date>
    </item>
    <item>
      <title>Re: optimization of the code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/optimization-of-the-code/m-p/2922537#M688311</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;  I think the most important for your code is: do not use select single during looping you internal table.&lt;/P&gt;&lt;P&gt;Solution:(For example)&lt;/P&gt;&lt;P&gt;1.Collect data into a local itab first.&lt;/P&gt;&lt;P&gt;   loop at  ibkpf.&lt;/P&gt;&lt;P&gt;   lt_bukrs-bukrs = ibkpf-bukrs.&lt;/P&gt;&lt;P&gt;   lt_bukrs-belnr  = ibkpf-belnr.&lt;/P&gt;&lt;P&gt;   append lt_bukrs.&lt;/P&gt;&lt;P&gt;   endloop.&lt;/P&gt;&lt;P&gt;  sort lt_bukrs by bukrs belnr.   "Distinct itab.&lt;/P&gt;&lt;P&gt;  delete adjacent from lt_bukrs comparing bukrs belnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.&lt;/P&gt;&lt;P&gt;check lt_bukrs[] is not initial.&lt;/P&gt;&lt;P&gt;select kschl belnr ....&lt;/P&gt;&lt;P&gt;  from bset&lt;/P&gt;&lt;P&gt;   into table lt_bset&lt;/P&gt;&lt;P&gt;  for all entries in lt_bukrs&lt;/P&gt;&lt;P&gt;WHERE bukrs = lt_bukrs-bukrs&lt;/P&gt;&lt;P&gt;AND belnr = lt_bukrs-belnr&lt;/P&gt;&lt;P&gt;AND gjahr = gjahr&lt;/P&gt;&lt;P&gt;AND ( kschl IN zlst OR&lt;/P&gt;&lt;P&gt;kschl IN zcst ).&lt;/P&gt;&lt;P&gt;3.Read the itab with binary search to double searching speed.&lt;/P&gt;&lt;P&gt; loop at  ibkpf.   &lt;/P&gt;&lt;P&gt; read table lt_bukrs with key bukrs = ibkpf-bukrs belnr = ibkpf-belnr binary search.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;  ...&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;then, modify ibkpf.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2007 15:59:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/optimization-of-the-code/m-p/2922537#M688311</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-18T15:59:18Z</dc:date>
    </item>
  </channel>
</rss>

