<?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: Performance Tuning Issues  ( How to Optimize this Code) in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning-issues-how-to-optimize-this-code/m-p/3279990#M784401</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you John... If possible can u pls explain in brief?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Vijay.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 08 Jan 2008 13:39:50 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-01-08T13:39:50Z</dc:date>
    <item>
      <title>Performance Tuning Issues  ( How to Optimize this Code)</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning-issues-how-to-optimize-this-code/m-p/3279988#M784399</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;_How to Optimize this Code&lt;/STRONG&gt;_ &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM MATL_CODE_DESC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM VBAK WHERE VKORG EQ SAL_ORG AND&lt;/P&gt;&lt;P&gt;                           VBELN IN VBELN AND&lt;/P&gt;&lt;P&gt;                           VTWEG IN DIS_CHN AND&lt;/P&gt;&lt;P&gt;                           SPART IN DIVISION AND&lt;/P&gt;&lt;P&gt;                           VKBUR IN SAL_OFF AND&lt;/P&gt;&lt;P&gt;                           VBTYP EQ 'C' AND&lt;/P&gt;&lt;P&gt;                           KUNNR IN KUNNR AND&lt;/P&gt;&lt;P&gt;                           ERDAT BETWEEN DAT_FROM AND DAT_TO.&lt;/P&gt;&lt;P&gt;    SELECT * FROM VBAP WHERE VBELN EQ VBAK-VBELN AND&lt;/P&gt;&lt;P&gt;                             MATNR IN MATNR.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM MAKT WHERE MATNR EQ VBAP-MATNR.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        IF ( VBAP-NETWR EQ 0 AND VBAP-UEPOS NE 0 ).&lt;/P&gt;&lt;P&gt;          IF ( VBAP-UEPVW NE 'B' AND VBAP-UEPVW NE 'C' ).&lt;/P&gt;&lt;P&gt;            MOVE VBAP-VBELN TO ITAB1-SAL_ORD_NUM.&lt;/P&gt;&lt;P&gt;            MOVE VBAP-POSNR TO ITAB1-POSNR.&lt;/P&gt;&lt;P&gt;            MOVE VBAP-MATNR TO ITAB1-FREE_MATL.&lt;/P&gt;&lt;P&gt;            MOVE VBAP-KWMENG TO ITAB1-FREE_QTY.&lt;/P&gt;&lt;P&gt;            MOVE VBAP-KLMENG TO ITAB1-KLMENG.&lt;/P&gt;&lt;P&gt;            MOVE VBAP-VRKME TO ITAB1-FREE_UNIT.&lt;/P&gt;&lt;P&gt;            MOVE VBAP-WAVWR TO ITAB1-FREE_VALUE.&lt;/P&gt;&lt;P&gt;            MOVE VBAK-VTWEG TO ITAB1-VTWEG.&lt;/P&gt;&lt;P&gt;            MOVE VBAP-UEPOS TO ITAB1-UEPOS.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MOVE VBAK-VBELN TO ITAB1-SAL_ORD_NUM.&lt;/P&gt;&lt;P&gt;          MOVE VBAK-VTWEG TO ITAB1-VTWEG.&lt;/P&gt;&lt;P&gt;          MOVE VBAK-ERDAT TO ITAB1-SAL_ORD_DATE.&lt;/P&gt;&lt;P&gt;          MOVE VBAK-KUNNR TO ITAB1-CUST_NUM.&lt;/P&gt;&lt;P&gt;          MOVE VBAK-KNUMV TO ITAB1-KNUMV.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         SELECT SINGLE * FROM KONV WHERE KNUMV EQ VBAK-KNUMV AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         KSTEU = 'C' AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         KHERK EQ 'A' AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         KMPRS = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ITAB1-REMARKS = 'Manual Price Change'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          SELECT SINGLE * FROM KONV WHERE KNUMV EQ VBAK-KNUMV AND&lt;/P&gt;&lt;P&gt;                                          KSTEU = 'C' AND&lt;/P&gt;&lt;P&gt;                                          KHERK IN ('C','D') AND&lt;/P&gt;&lt;P&gt;                                          KMPRS = 'X' AND&lt;/P&gt;&lt;P&gt;                                          KRECH IN ('A','B').&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;            IF KONV-KRECH EQ 'A'.&lt;/P&gt;&lt;P&gt;              MOVE : KONV-KSCHL TO G_KSCHL.&lt;/P&gt;&lt;P&gt;              G_KBETR = ( KONV-KBETR / 10 ).&lt;/P&gt;&lt;P&gt;              MOVE G_KBETR TO G_KBETR1.&lt;/P&gt;&lt;P&gt;              CONCATENATE G_KSCHL G_KBETR1 '%'&lt;/P&gt;&lt;P&gt;                          INTO ITAB1-REMARKS SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;            ELSEIF KONV-KRECH EQ 'B'.&lt;/P&gt;&lt;P&gt;              MOVE : KONV-KSCHL TO G_KSCHL.&lt;/P&gt;&lt;P&gt;              G_KBETR = KONV-KBETR.&lt;/P&gt;&lt;P&gt;              MOVE G_KBETR TO G_KBETR1.&lt;/P&gt;&lt;P&gt;              CONCATENATE G_KSCHL G_KBETR1&lt;/P&gt;&lt;P&gt;                          INTO ITAB1-REMARKS SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            ITAB1-REMARKS = 'Manual Price Change'.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          CLEAR : G_KBETR, G_KSCHL,G_KBETR1.&lt;/P&gt;&lt;P&gt;          MOVE VBAP-KWMENG TO ITAB1-QTY.&lt;/P&gt;&lt;P&gt;          MOVE VBAP-VRKME TO ITAB1-QTY_UNIT.&lt;/P&gt;&lt;P&gt;          IF VBAP-UMVKN NE 0.&lt;/P&gt;&lt;P&gt;            ITAB1-KLMENG = ( VBAP-UMVKZ / VBAP-UMVKN ) * VBAP-KWMENG.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF ITAB1-KLMENG NE 0.&lt;/P&gt;&lt;P&gt;            VBAP-NETWR = ( VBAP-NETWR / VBAP-KWMENG ).&lt;/P&gt;&lt;P&gt;            MOVE VBAP-NETWR TO ITAB1-INV_PRICE.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          MOVE VBAP-POSNR TO ITAB1-POSNR.&lt;/P&gt;&lt;P&gt;          MOVE VBAP-MATNR TO ITAB1-MATNR.&lt;/P&gt;&lt;P&gt;          MOVE MAKT-MAKTX TO ITAB1-MAKTX.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM VBKD WHERE VBELN EQ VBAK-VBELN AND&lt;/P&gt;&lt;P&gt;                                        BSARK NE 'DFUE'.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          ITAB1-INV_PRICE = ITAB1-INV_PRICE * VBKD-KURSK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND ITAB1.&lt;/P&gt;&lt;P&gt;          CLEAR ITAB1.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          CLEAR ITAB1.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " MATL_CODE_DESC&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2008 12:31:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning-issues-how-to-optimize-this-code/m-p/3279988#M784399</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-08T12:31:11Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Tuning Issues  ( How to Optimize this Code)</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning-issues-how-to-optimize-this-code/m-p/3279989#M784400</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vijay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You could start by using INNER JOINS:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT ......&lt;/P&gt;&lt;P&gt;            FROM (                    VBAK&lt;/P&gt;&lt;P&gt;                         INNER JOIN VBAP&lt;/P&gt;&lt;P&gt;                                       ON VBAP&lt;SUB&gt;VBELN = VBAK&lt;/SUB&gt;VBELN&lt;/P&gt;&lt;P&gt;                         INNER JOIN MAKT&lt;/P&gt;&lt;P&gt;                                       ON MAKT&lt;SUB&gt;MATNR = VBAP&lt;/SUB&gt;MATNR AND&lt;/P&gt;&lt;P&gt;                                             MAKT~SPRAS = SYST-LANGU )&lt;/P&gt;&lt;P&gt;            INTO TABLE itab&lt;/P&gt;&lt;P&gt;          WHERE VBAK~VBELN IN VBELN &lt;/P&gt;&lt;P&gt;               AND VBAK~VTWEG IN DIS_CHN&lt;/P&gt;&lt;P&gt;               AND VBAK~SPART IN DIVISION&lt;/P&gt;&lt;P&gt;               AND VBAK~VKBUR IN SAL_OFF &lt;/P&gt;&lt;P&gt;               AND VBAK~VBTYP EQ 'C' &lt;/P&gt;&lt;P&gt;               AND VBAK~KUNNR IN KUNNR &lt;/P&gt;&lt;P&gt;               AND VBAK~ERDAT BETWEEN DAT_FROM AND DAT_TO&lt;/P&gt;&lt;P&gt;               AND VBAP~NETWR EQ 0 &lt;/P&gt;&lt;P&gt;               AND VBAP~UEPOS NE 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;John.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2008 12:50:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning-issues-how-to-optimize-this-code/m-p/3279989#M784400</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-08T12:50:12Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Tuning Issues  ( How to Optimize this Code)</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning-issues-how-to-optimize-this-code/m-p/3279990#M784401</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you John... If possible can u pls explain in brief?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Vijay.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2008 13:39:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning-issues-how-to-optimize-this-code/m-p/3279990#M784401</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-08T13:39:50Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Tuning Issues  ( How to Optimize this Code)</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning-issues-how-to-optimize-this-code/m-p/3279991#M784402</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vijay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Instead of selecting each record in VBAK, then in VBAP and then in MAKT you select all needed fields of all records satisfying the selection criteria in one go from the database into an internal table.&lt;/P&gt;&lt;P&gt;You can then loop over the internal table to get any additional data where needed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;John.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2008 15:26:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning-issues-how-to-optimize-this-code/m-p/3279991#M784402</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-08T15:26:12Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Tuning Issues  ( How to Optimize this Code)</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning-issues-how-to-optimize-this-code/m-p/3279992#M784403</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;select only the necessary fields into an internal table. then READ that internal table using required KEYS.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2008 16:32:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tuning-issues-how-to-optimize-this-code/m-p/3279992#M784403</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-08T16:32:16Z</dc:date>
    </item>
  </channel>
</rss>

