<?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: code performance in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/code-performance/m-p/4575352#M1079540</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can Improve more..but try like this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
SELECT * FROM mkpf INTO TABLE lt_mkpf
WHERE mjahr = fgodina
AND budat IN budat.


*LOOP AT lt_mkpf INTO ls_mkpf.
*  SELECT * FROM mseg INTO ls_mseg " table lt_mseg
SELECT * FROM mseg INTO TABLE lt_mseg " table lt_mseg
FOR ALL ENTRIES IN lt_mkpf
*  WHERE mblnr = ls_mkpf-mblnr
WHERE mblnr = lt_mkpf-mblnr
AND mjahr = ls_mkpf-mjahr
AND werks = plant
AND lgort = stocc.
*    APPEND ls_mseg TO lt_mseg.
*    CLEAR ls_mseg.
*  ENDSELECT.
*  IF ls_mkpf-xblnr NE ' '.
*    SELECT * FROM vbrp INTO ls_vbrp
SELECT * FROM vbrp INTO lt_vbrp
FOR ALL ENTRIES IN lt_mkpf
WHERE vgbel = lt_mkpf-xblnr.
*      APPEND ls_vbrp TO lt_vbrp.
*    ENDSELECT.
*  ENDIF.
*ENDLOOP.


  LOOP AT lt_mseg INTO ls_mseg.
    MOVE-CORRESPONDING ls_mseg TO zintrec.

*  LOOP AT lt_mkpf INTO ls_mkpf WHERE mblnr = ls_mseg-mblnr
*                               AND   mjahr = ls_mseg-mjahr.
*  MOVE-CORRESPONDING ls_mkpf TO zintrec.
*  ENDLOOP.
    READ TABLE lt_mkpf INTO ls_mkpf WITH KEY mblnr = ls_mseg-mblnr
                                             mjahr = ls_mseg-mjahr.
    CHECK sy-subrc EQ 0.
    MOVE-CORRESPONDING ls_mkpf TO zintrec.

    zintrec-status = '5'.
    IF l_loc_curr IS INITIAL.
      IF ls_mkpf-xblnr ' '.
        CONCATENATE '0' mseg-zeile '0' INTO xvgpos.
        LOOP AT lt_vbrp INTO ls_vbrp
        WHERE vgbel = ls_mkpf-xblnr.


          SELECT * FROM vbrp WHERE vgbel = ls_mkpf-xblnr.
            and vgpos = xvgpos.
            IF zintrec-charg = ls_vbrp-charg. "
              zintrec-vbeln = ls_vbrp-vbeln.
              zintrec-netwr = ls_vbrp-netwr.
              zintrec-wavwr = ls_vbrp-wavwr.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 02 Oct 2008 13:53:51 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-10-02T13:53:51Z</dc:date>
    <item>
      <title>code performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/code-performance/m-p/4575349#M1079537</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 problem with this code , because table VBRK is to much big ( 890.000 rec). &lt;/P&gt;&lt;P&gt;and have &lt;STRONG&gt;runtime error&lt;/STRONG&gt;rror, how to improve this code?! &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM mkpf INTO  TABLE lt_mkpf &lt;/P&gt;&lt;P&gt;  WHERE mjahr = fgodina &lt;/P&gt;&lt;P&gt;     AND budat IN budat. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lt_mkpf INTO ls_mkpf. &lt;/P&gt;&lt;P&gt;    SELECT * FROM mseg INTO ls_mseg " table lt_mseg &lt;/P&gt;&lt;P&gt;    WHERE mblnr = ls_mkpf-mblnr &lt;/P&gt;&lt;P&gt;    AND   mjahr = ls_mkpf-mjahr &lt;/P&gt;&lt;P&gt;    AND   werks = plant &lt;/P&gt;&lt;P&gt;    AND   lgort = stocc. &lt;/P&gt;&lt;P&gt;      APPEND ls_mseg TO lt_mseg. &lt;/P&gt;&lt;P&gt;      CLEAR ls_mseg. &lt;/P&gt;&lt;P&gt;    ENDSELECT. &lt;/P&gt;&lt;P&gt;    IF ls_mkpf-xblnr NE ' '. &lt;/P&gt;&lt;P&gt;      SELECT * FROM vbrp INTO ls_vbrp &lt;/P&gt;&lt;P&gt;      WHERE vgbel = ls_mkpf-xblnr. &lt;/P&gt;&lt;P&gt;        APPEND ls_vbrp TO lt_vbrp. &lt;/P&gt;&lt;P&gt;      ENDSELECT. &lt;/P&gt;&lt;P&gt;    ENDIF. &lt;/P&gt;&lt;P&gt;  ENDLOOP. &lt;/P&gt;&lt;P&gt;  LOOP AT lt_mseg INTO ls_mseg. &lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING ls_mseg TO zintrec. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT lt_mkpf INTO ls_mkpf &lt;/P&gt;&lt;P&gt;    WHERE mblnr = ls_mseg-mblnr &lt;/P&gt;&lt;P&gt;    AND   mjahr = ls_mseg-mjahr. &lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING ls_mkpf TO zintrec. &lt;/P&gt;&lt;P&gt;    ENDLOOP. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    zintrec-status = '5'. &lt;/P&gt;&lt;P&gt;    IF l_loc_curr IS INITIAL. &lt;/P&gt;&lt;P&gt;     &lt;/P&gt;&lt;P&gt;    IF ls_mkpf-xblnr &amp;lt;&amp;gt; ' '. &lt;/P&gt;&lt;P&gt;      CONCATENATE '0' mseg-zeile '0' INTO xvgpos. &lt;/P&gt;&lt;P&gt;      LOOP AT lt_vbrp INTO ls_vbrp &lt;/P&gt;&lt;P&gt;      WHERE  vgbel = ls_mkpf-xblnr. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SELECT * FROM vbrp WHERE vgbel = ls_mkpf-xblnr. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      AND   vgpos = xvgpos. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF zintrec-charg = ls_vbrp-charg.   " &lt;/P&gt;&lt;P&gt;          zintrec-vbeln = ls_vbrp-vbeln. &lt;/P&gt;&lt;P&gt;          zintrec-netwr = ls_vbrp-netwr. &lt;/P&gt;&lt;P&gt;          zintrec-wavwr = ls_vbrp-wavwr.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Oct 2008 13:31:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/code-performance/m-p/4575349#M1079537</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-02T13:31:33Z</dc:date>
    </item>
    <item>
      <title>Re: code performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/code-performance/m-p/4575350#M1079538</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try to avoid Select...Endselect loop. &lt;/P&gt;&lt;P&gt;make use of for all entries instead of SELECT....ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the sample code below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM mkpf INTO TABLE lt_mkpf &lt;/P&gt;&lt;P&gt;WHERE mjahr = fgodina &lt;/P&gt;&lt;P&gt;AND budat IN budat. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM mseg INTO  table lt_mseg for all entries in it_mkpf&lt;/P&gt;&lt;P&gt;WHERE mblnr = lt_mkpf-mblnr &lt;/P&gt;&lt;P&gt;AND mjahr = lt_mkpf-mjahr &lt;/P&gt;&lt;P&gt;AND werks = plant &lt;/P&gt;&lt;P&gt;AND lgort = stocc. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM vbrp INTO table lt_vbrp for all entries in it_mkpf&lt;/P&gt;&lt;P&gt;WHERE vgbel = ls_mkpf-xblnr &lt;/P&gt;&lt;P&gt;and lt_mkpf-xblnr NE ' '..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Oct 2008 13:45:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/code-performance/m-p/4575350#M1079538</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-02T13:45:42Z</dc:date>
    </item>
    <item>
      <title>Re: code performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/code-performance/m-p/4575351#M1079539</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your problem is that you are doing two unindexed SELECTs on VBRP. You may be able to find a solution by using sales document flow (table VBFA).&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, 02 Oct 2008 13:51:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/code-performance/m-p/4575351#M1079539</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-02T13:51:47Z</dc:date>
    </item>
    <item>
      <title>Re: code performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/code-performance/m-p/4575352#M1079540</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can Improve more..but try like this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
SELECT * FROM mkpf INTO TABLE lt_mkpf
WHERE mjahr = fgodina
AND budat IN budat.


*LOOP AT lt_mkpf INTO ls_mkpf.
*  SELECT * FROM mseg INTO ls_mseg " table lt_mseg
SELECT * FROM mseg INTO TABLE lt_mseg " table lt_mseg
FOR ALL ENTRIES IN lt_mkpf
*  WHERE mblnr = ls_mkpf-mblnr
WHERE mblnr = lt_mkpf-mblnr
AND mjahr = ls_mkpf-mjahr
AND werks = plant
AND lgort = stocc.
*    APPEND ls_mseg TO lt_mseg.
*    CLEAR ls_mseg.
*  ENDSELECT.
*  IF ls_mkpf-xblnr NE ' '.
*    SELECT * FROM vbrp INTO ls_vbrp
SELECT * FROM vbrp INTO lt_vbrp
FOR ALL ENTRIES IN lt_mkpf
WHERE vgbel = lt_mkpf-xblnr.
*      APPEND ls_vbrp TO lt_vbrp.
*    ENDSELECT.
*  ENDIF.
*ENDLOOP.


  LOOP AT lt_mseg INTO ls_mseg.
    MOVE-CORRESPONDING ls_mseg TO zintrec.

*  LOOP AT lt_mkpf INTO ls_mkpf WHERE mblnr = ls_mseg-mblnr
*                               AND   mjahr = ls_mseg-mjahr.
*  MOVE-CORRESPONDING ls_mkpf TO zintrec.
*  ENDLOOP.
    READ TABLE lt_mkpf INTO ls_mkpf WITH KEY mblnr = ls_mseg-mblnr
                                             mjahr = ls_mseg-mjahr.
    CHECK sy-subrc EQ 0.
    MOVE-CORRESPONDING ls_mkpf TO zintrec.

    zintrec-status = '5'.
    IF l_loc_curr IS INITIAL.
      IF ls_mkpf-xblnr ' '.
        CONCATENATE '0' mseg-zeile '0' INTO xvgpos.
        LOOP AT lt_vbrp INTO ls_vbrp
        WHERE vgbel = ls_mkpf-xblnr.


          SELECT * FROM vbrp WHERE vgbel = ls_mkpf-xblnr.
            and vgpos = xvgpos.
            IF zintrec-charg = ls_vbrp-charg. "
              zintrec-vbeln = ls_vbrp-vbeln.
              zintrec-netwr = ls_vbrp-netwr.
              zintrec-wavwr = ls_vbrp-wavwr.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Oct 2008 13:53:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/code-performance/m-p/4575352#M1079540</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-02T13:53:51Z</dc:date>
    </item>
    <item>
      <title>Re: code performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/code-performance/m-p/4575353#M1079541</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;SELECT * FROM mkpf INTO TABLE lt_mkpf &lt;/P&gt;&lt;P&gt;WHERE mjahr = fgodina &lt;/P&gt;&lt;P&gt;AND budat IN budat. &lt;/P&gt;&lt;P&gt;if  lt_mkpf[] is not initial.&lt;/P&gt;&lt;P&gt;sort lt_mkpf[] ascending.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM mseg INTO ls_mseg &lt;/P&gt;&lt;P&gt;for all entries in lt_mkpf&lt;/P&gt;&lt;P&gt;WHERE mblnr = ls_mkpf-mblnr &lt;/P&gt;&lt;P&gt;AND mjahr = ls_mkpf-mjahr &lt;/P&gt;&lt;P&gt;AND werks = plant &lt;/P&gt;&lt;P&gt;AND lgort = stocc. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT lt_mkpf INTO ls_mkpf where xblnr is not initial.&lt;/P&gt;&lt;P&gt;move-corresponding  ls_mkpf to ls_mkpf1.&lt;/P&gt;&lt;P&gt;append ls_mkpf1 to mkpf1.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if mkpf1 is not initial.&lt;/P&gt;&lt;P&gt;SELECT * FROM vbrp INTO ls_vbrp  for all entries in mkpf1 &lt;/P&gt;&lt;P&gt;WHERE vgbel = ls_mkpf-xblnr. &lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Oct 2008 14:47:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/code-performance/m-p/4575353#M1079541</guid>
      <dc:creator>kesavadas_thekkillath</dc:creator>
      <dc:date>2008-10-02T14:47:40Z</dc:date>
    </item>
  </channel>
</rss>

