<?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 issue in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330068#M168372</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;have a look at this part.. this is really take lot of time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-ucomm eq 'ONLI'.&lt;/P&gt;&lt;P&gt;if s_werks is not initial.&lt;/P&gt;&lt;P&gt;loop at s_werks.&lt;/P&gt;&lt;P&gt;if s_werks-option = 'EQ'.&lt;/P&gt;&lt;P&gt;it_plant-werks = s_werks-low.&lt;/P&gt;&lt;P&gt;append it_plant.&lt;/P&gt;&lt;P&gt;elseif s_werks-option = 'BT'.&lt;/P&gt;&lt;P&gt;select werks into it_plant-werks from T001W where werks between s_werks-low and s_werks-high.&lt;/P&gt;&lt;P&gt;append it_plant.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;select werks into it_plant-werks from T001W.&lt;/P&gt;&lt;P&gt;append it_plant.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try to avoid select and endselect and use for all entries.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;vijay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 26 May 2006 11:23:56 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-05-26T11:23:56Z</dc:date>
    <item>
      <title>Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330066#M168370</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi friends,&lt;/P&gt;&lt;P&gt;Please See the below code.It is not taking much time to exicute but when we done run time analysis, the database utillization is neary 60%  So it should be reduced.&lt;/P&gt;&lt;P&gt;I have done my  best but still it not reduced.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can any body tell me what changes need to be done.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am sure of reward points.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZPSPAR12_SER_ORD&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;       MESSAGE-ID ZPS&lt;/P&gt;&lt;P&gt;       LINE-COUNT 65&lt;/P&gt;&lt;P&gt;       LINE-SIZE 120.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; TABLES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: AUFK,        "Order master data&lt;/P&gt;&lt;P&gt;        VIQMEL,      "Notification Header&lt;/P&gt;&lt;P&gt;        KNA1,        "General Data in Customer Master&lt;/P&gt;&lt;P&gt;        IHPA,        "Plant Maintenance: Partners&lt;/P&gt;&lt;P&gt;        PMCO,        "Cost structure of maintenance order&lt;/P&gt;&lt;P&gt;        T003O,       "Order Types&lt;/P&gt;&lt;P&gt;        T001W,       "Plant&lt;/P&gt;&lt;P&gt;        AFKO.        "Order header data PP orders&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; TYPE POOLS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS SLIS.    "Global types for generic building blocks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; PROGRAM VARIABLES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: G_COL TYPE I,              "Column position for fieldcat&lt;/P&gt;&lt;P&gt;      G_REVENUE LIKE PMCO-WRT00, "Revenues&lt;/P&gt;&lt;P&gt;      G_ACTCOST LIKE PMCO-WRT01, "Actual Costs&lt;/P&gt;&lt;P&gt;      G_PLCOST LIKE PMCO-WRT02,  "Plan Costs&lt;/P&gt;&lt;P&gt;      lv_lines type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; STRUCTURES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: I_FIELDCATTAB_WA TYPE SLIS_FIELDCAT_ALV, "Fieldcat Work Area for ALV&lt;/P&gt;&lt;P&gt;      I_TITLE_WA TYPE SLIS_LISTHEADER,         "Title Work Area for ALV&lt;/P&gt;&lt;P&gt;      GT_LAYOUT TYPE SLIS_LAYOUT_ALV.  "Layout Settings for Color&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; INTERNAL TABLES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table of plants for auth check&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF it_plant OCCURS 0,&lt;/P&gt;&lt;P&gt;       werks like t001w-werks,&lt;/P&gt;&lt;P&gt;      END OF it_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;" Internal table containing AUFK table contents&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA I_AUFKTAB LIKE AUFK OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;" Internal table containing final data for the Report screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_FINTAB OCCURS 0,&lt;/P&gt;&lt;P&gt;               AUFNR LIKE AUFK-AUFNR,&lt;/P&gt;&lt;P&gt;               KTEXT LIKE AUFK-KTEXT,&lt;/P&gt;&lt;P&gt;               KUNUM LIKE VIQMEL-KUNUM,&lt;/P&gt;&lt;P&gt;               NAME1 LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;               I_PARNR LIKE IHPA-PARNR,&lt;/P&gt;&lt;P&gt;               WRT00 LIKE PMCO-WRT00,&lt;/P&gt;&lt;P&gt;               WRT01 LIKE PMCO-WRT01,&lt;/P&gt;&lt;P&gt;               USER4 LIKE AUFK-USER4,&lt;/P&gt;&lt;P&gt;               WRT02 LIKE PMCO-WRT01,&lt;/P&gt;&lt;P&gt;               PROFIT(10) TYPE P DECIMALS 2,&lt;/P&gt;&lt;P&gt;               PROFITP(5) TYPE P DECIMALS 2,&lt;/P&gt;&lt;P&gt;               GSTRP LIKE AFKO-GSTRP,&lt;/P&gt;&lt;P&gt;               LINE_COL(4) TYPE C,&lt;/P&gt;&lt;P&gt;               END OF I_FINTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;" Internal table containing PMCO table contents&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: I_PMCO LIKE PMCO OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      " Internal table containing final data for the Report screen&lt;/P&gt;&lt;P&gt;      " with selection screen criteria&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      I_FINALTAB LIKE I_FINTAB OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      " Fieldcat Internal table for ALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      I_FIELDCATTAB TYPE SLIS_T_FIELDCAT_ALV ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      " Title Internal table for ALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      I_TITLE TYPE SLIS_T_LISTHEADER .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; SELECT-OPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_AUFNR FOR AUFK-AUFNR,               "Job Number&lt;/P&gt;&lt;P&gt;                S_KTEXT FOR AUFK-KTEXT,               "Job Description&lt;/P&gt;&lt;P&gt;                S_KUNUM FOR VIQMEL-KUNUM,             "Customer Number&lt;/P&gt;&lt;P&gt;                S_NAME1 FOR KNA1-NAME1,               "Customer Name&lt;/P&gt;&lt;P&gt;                S_PARNR FOR IHPA-PARNR NO INTERVALS&lt;/P&gt;&lt;P&gt;                                       NO-EXTENSION MATCHCODE OBJECT USER_COMP,  "Supervisor&lt;/P&gt;&lt;P&gt;                S_WRT00 FOR PMCO-WRT00 ,              "Actual Costs&lt;/P&gt;&lt;P&gt;                S_WRT01 FOR PMCO-WRT01 ,              "Plan Costs&lt;/P&gt;&lt;P&gt;                S_USER4 FOR AUFK-USER4  ,              "Estimated Costs&lt;/P&gt;&lt;P&gt;                S_WRT02 FOR PMCO-WRT02,                "Revenues&lt;/P&gt;&lt;P&gt;                S_PROFIT FOR PMCO-WRT03 ,              "Profit&lt;/P&gt;&lt;P&gt;                S_PROFP FOR PMCO-WRT04 NO INTERVALS&lt;/P&gt;&lt;P&gt;                                       NO-EXTENSION,  "Profit %&lt;/P&gt;&lt;P&gt;                S_GSTRP FOR AFKO-GSTRP,               "Period of Time&lt;/P&gt;&lt;P&gt;                S_WERKS FOR AUFK-WERKS,               "Plant&lt;/P&gt;&lt;P&gt;                S_AUART FOR AUFK-AUART.               "Order Type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELECTION-SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Event which occurs each time the user hits enter on the selection&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform plant_authorization_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform validate_select_options.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  "Retrieves the data from the table AUFK into internal table I_AUFKTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_SELECTION_AUFKTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  "Final Internal table containing the report fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_SELECTION_FINALTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  "Defining the fieldcatalog to be used for the report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_FIELDCAT_BUILD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  "Define the Top-Of-Page contents&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_FIELDCAT_TITLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  "Mapping the internal table I_FINALTAB with fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_FIELDCAT_DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form SUB_SELECTION_AUFKTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieves the data from the table AUFK into internal table I_AUFKTAB&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SUB_SELECTION_AUFKTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT AUFNR KTEXT USER4 OBJNR INTO CORRESPONDING FIELDS OF TABLE I_AUFKTAB&lt;/P&gt;&lt;P&gt;  FROM AUFK&lt;/P&gt;&lt;P&gt;  FOR ALL ENTRIES IN it_plant&lt;/P&gt;&lt;P&gt;  WHERE AUFNR IN S_AUFNR AND&lt;/P&gt;&lt;P&gt;        KTEXT IN S_KTEXT AND&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      WERKS IN S_WERKS AND&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        AUART IN S_AUART AND&lt;/P&gt;&lt;P&gt;        USER4 IN S_USER4 AND&lt;/P&gt;&lt;P&gt;        werks eq it_plant-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "SUB_SELECTION_AUFKTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form SUB_SELECTION_FINALTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Final Internal table containing the report fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SUB_SELECTION_FINALTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_AUFKTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    I_FINTAB-AUFNR = I_AUFKTAB-AUFNR.&lt;/P&gt;&lt;P&gt;    I_FINTAB-KTEXT = I_AUFKTAB-KTEXT.&lt;/P&gt;&lt;P&gt;    I_FINTAB-USER4 = I_AUFKTAB-USER4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM IHPA WHERE OBJNR = I_AUFKTAB-OBJNR AND PARVW = 'AG' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      "Retrieving customer number from VIQMEL into final internal table&lt;/P&gt;&lt;P&gt;      I_FINTAB-KUNUM = IHPA-PARNR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM KNA1 WHERE KUNNR = I_FINTAB-KUNUM .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      "Retrieving customer name from KNA1 into final internal table&lt;/P&gt;&lt;P&gt;      I_FINTAB-NAME1 = KNA1-NAME1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM IHPA WHERE OBJNR = I_AUFKTAB-OBJNR AND PARVW = 'VU'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      "Retrieving supervisor from IHPA into final internal table&lt;/P&gt;&lt;P&gt;      I_FINTAB-I_PARNR = IHPA-PARNR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    "Clearing the internal table contents I_PMCO&lt;/P&gt;&lt;P&gt;    CLEAR I_PMCO[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM PMCO INTO TABLE I_PMCO WHERE OBJNR = I_AUFKTAB-OBJNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR: G_REVENUE,G_ACTCOST,G_PLCOST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT I_PMCO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      "Calculating the Plancosts, Actual Costs and Revenues depending on Type&lt;/P&gt;&lt;P&gt;      "and Category&lt;/P&gt;&lt;P&gt;      IF I_PMCO-BELTP = '2' .&lt;/P&gt;&lt;P&gt;        G_REVENUE = G_REVENUE + I_PMCO-WRT00 + I_PMCO-WRT01 + I_PMCO-WRT02 +&lt;/P&gt;&lt;P&gt;        I_PMCO-WRT03 + I_PMCO-WRT04 + I_PMCO-WRT05 + I_PMCO-WRT06 + I_PMCO-WRT07 +&lt;/P&gt;&lt;P&gt;        I_PMCO-WRT08 + I_PMCO-WRT09 + I_PMCO-WRT10 + I_PMCO-WRT11 + I_PMCO-WRT12 +&lt;/P&gt;&lt;P&gt;        I_PMCO-WRT13 + I_PMCO-WRT14 + I_PMCO-WRT15 + I_PMCO-WRT16.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF I_PMCO-BELTP = '1' and I_PMCO-WRTTP = '04'.&lt;/P&gt;&lt;P&gt;        G_ACTCOST = G_ACTCOST + I_PMCO-WRT00 + I_PMCO-WRT01 + I_PMCO-WRT02 +&lt;/P&gt;&lt;P&gt;        I_PMCO-WRT03 + I_PMCO-WRT04 + I_PMCO-WRT05 + I_PMCO-WRT06 + I_PMCO-WRT07 +&lt;/P&gt;&lt;P&gt;        I_PMCO-WRT08 + I_PMCO-WRT09 + I_PMCO-WRT10 + I_PMCO-WRT11 + I_PMCO-WRT12 +&lt;/P&gt;&lt;P&gt;        I_PMCO-WRT13 + I_PMCO-WRT14 + I_PMCO-WRT15 + I_PMCO-WRT16.&lt;/P&gt;&lt;P&gt;      ELSEIF I_PMCO-BELTP = '1' and I_PMCO-WRTTP = '01'.&lt;/P&gt;&lt;P&gt;        G_PLCOST = G_PLCOST + I_PMCO-WRT00 + I_PMCO-WRT01 + I_PMCO-WRT02 +&lt;/P&gt;&lt;P&gt;        I_PMCO-WRT03 + I_PMCO-WRT04 + I_PMCO-WRT05 + I_PMCO-WRT06 + I_PMCO-WRT07 +&lt;/P&gt;&lt;P&gt;        I_PMCO-WRT08 + I_PMCO-WRT09 + I_PMCO-WRT10 + I_PMCO-WRT11 + I_PMCO-WRT12 +&lt;/P&gt;&lt;P&gt;        I_PMCO-WRT13 + I_PMCO-WRT14 + I_PMCO-WRT15 + I_PMCO-WRT16.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM AFKO WHERE AUFNR = I_AUFKTAB-AUFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    " Retrieving the time period.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      I_FINTAB-GSTRP = AFKO-GSTRP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    I_FINTAB-WRT00 = G_ACTCOST.&lt;/P&gt;&lt;P&gt;    I_FINTAB-WRT01 = G_PLCOST.&lt;/P&gt;&lt;P&gt;    I_FINTAB-WRT02 = G_REVENUE.&lt;/P&gt;&lt;P&gt;    IF G_REVENUE &amp;lt; '0.00'.&lt;/P&gt;&lt;P&gt;      G_REVENUE = - G_REVENUE.&lt;/P&gt;&lt;P&gt;      I_FINTAB-WRT02 = G_REVENUE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    I_FINTAB-PROFIT = I_FINTAB-WRT02 - I_FINTAB-WRT00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF I_FINTAB-WRT02 IS INITIAL.&lt;/P&gt;&lt;P&gt;      I_FINALTAB-PROFITP = 0.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      I_FINTAB-PROFITP = I_FINTAB-PROFIT * 100 / I_FINTAB-WRT02.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND I_FINTAB.&lt;/P&gt;&lt;P&gt;    CLEAR I_FINTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  " Moving to final internal table for the corresponding selection screen &amp;#147;values.&lt;/P&gt;&lt;P&gt;  LOOP AT I_FINTAB WHERE WRT00 IN S_WRT00 AND WRT01 IN S_WRT01 AND WRT02 IN S_WRT02&lt;/P&gt;&lt;P&gt;  AND PROFIT IN S_PROFIT AND GSTRP IN S_GSTRP AND KUNUM IN S_KUNUM AND NAME1 IN S_NAME1&lt;/P&gt;&lt;P&gt;  AND I_PARNR IN S_PARNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    I_FINALTAB = I_FINTAB.&lt;/P&gt;&lt;P&gt;    APPEND I_FINALTAB.&lt;/P&gt;&lt;P&gt;    CLEAR I_FINALTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  " Final Internal Table is empty&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF ( I_FINALTAB[] IS INITIAL ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE S010.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  " Color handling depending on the Profit Percentage&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_FINALTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF I_FINALTAB-PROFITP &amp;lt; S_PROFP-LOW.&lt;/P&gt;&lt;P&gt;      I_FINALTAB-LINE_COL = 'C610'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      I_FINALTAB-LINE_COL = 'C300'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY I_FINALTAB.&lt;/P&gt;&lt;P&gt;    CLEAR I_FINALTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  " Default sort order - Order Number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT I_FINALTAB BY AUFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "SUB_SELECTION_FINALTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form SUB_FIELDCAT_BUILD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Defining the fieldcatalog to be used for the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SUB_FIELDCAT_BUILD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_FIELDCAT USING '' 'AUFNR' text-001 G_COL 'X'.&lt;/P&gt;&lt;P&gt;  ADD 1 TO G_COL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_FIELDCAT USING '' 'KTEXT' text-002 G_COL ''.&lt;/P&gt;&lt;P&gt;  ADD 1 TO G_COL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_FIELDCAT USING '' 'KUNUM' text-003 G_COL ''.&lt;/P&gt;&lt;P&gt;  ADD 1 TO G_COL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_FIELDCAT USING '' 'NAME1' text-004 G_COL ''.&lt;/P&gt;&lt;P&gt;  ADD 1 TO G_COL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_FIELDCAT USING '' 'I_PARNR' text-005 G_COL ''.&lt;/P&gt;&lt;P&gt;  ADD 1 TO G_COL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_FIELDCAT USING '' 'WRT00' text-006 G_COL ''.&lt;/P&gt;&lt;P&gt;  ADD 1 TO G_COL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_FIELDCAT USING  '' 'WRT01' text-007 G_COL ''.&lt;/P&gt;&lt;P&gt;  ADD 1 TO G_COL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_FIELDCAT USING '' 'USER4' text-008 G_COL ''.&lt;/P&gt;&lt;P&gt;  ADD 1 TO G_COL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_FIELDCAT USING '' 'WRT02' text-009 G_COL ''.&lt;/P&gt;&lt;P&gt;  ADD 1 TO G_COL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_FIELDCAT USING '' 'PROFIT' text-010 G_COL ''.&lt;/P&gt;&lt;P&gt;  ADD 1 TO G_COL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM SUB_FIELDCAT USING '' 'PROFITP' text-011 G_COL ''.&lt;/P&gt;&lt;P&gt;  ADD 1 TO G_COL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "SUB_FIELDCAT_BUILD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form SUB_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Defining the fields in the fieldcatalog used for the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  L_TABNAME     : Table name for the fieldcat&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  L_FNAME      : Field name for the fieldcat&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  L_SEL         : Field Description for the fieldcat&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  L_COL         : Column position for the fieldcat&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  L_KEY         : Key for the fieldcat&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SUB_FIELDCAT USING L_TABNAME TYPE SLIS_TABNAME&lt;/P&gt;&lt;P&gt;                        L_FNAME TYPE SLIS_FIELDNAME&lt;/P&gt;&lt;P&gt;                        L_SEL TYPE DD03P-SCRTEXT_L&lt;/P&gt;&lt;P&gt;                        L_COL TYPE I&lt;/P&gt;&lt;P&gt;                        L_KEY TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_FIELDCATTAB_WA-REF_TABNAME = L_TABNAME.&lt;/P&gt;&lt;P&gt;  I_FIELDCATTAB_WA-FIELDNAME   = L_FNAME.&lt;/P&gt;&lt;P&gt;  I_FIELDCATTAB_WA-SELTEXT_L   = L_SEL.&lt;/P&gt;&lt;P&gt;  I_FIELDCATTAB_WA-COL_POS     = L_COL.&lt;/P&gt;&lt;P&gt;  I_FIELDCATTAB_WA-KEY         = L_KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDCATTAB_WA TO I_FIELDCATTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.             " SUB_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form SUB_FIELDCAT_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Mapping the internal table I_FINALTAB with fieldcat&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SUB_FIELDCAT_DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  GT_LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;  GT_LAYOUT-DETAIL_POPUP = ' '.&lt;/P&gt;&lt;P&gt;  GT_LAYOUT-INFO_FIELDNAME = 'LINE_COL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_CALLBACK_PROGRAM     = 'ZPSPAR12_SER_ORD'&lt;/P&gt;&lt;P&gt;      IT_FIELDCAT            = I_FIELDCATTAB&lt;/P&gt;&lt;P&gt;      I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;      IS_LAYOUT              = GT_LAYOUT&lt;/P&gt;&lt;P&gt;      I_SAVE                 = 'A'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB               = I_FINALTAB&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;P&gt;   OTHERS                            = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.               "SUB_FIELDCAT_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form SUB_FIELDCAT_TITLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Define the Top-Of-Page contents&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SUB_FIELDCAT_TITLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_TITLE_WA-TYP = 'H'.&lt;/P&gt;&lt;P&gt;  I_TITLE_WA-INFO = text-014.&lt;/P&gt;&lt;P&gt;  APPEND I_TITLE_WA TO I_TITLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_TITLE_WA-TYP = 'S'.&lt;/P&gt;&lt;P&gt;  I_TITLE_WA-KEY = text-012.&lt;/P&gt;&lt;P&gt;  I_TITLE_WA-INFO = SY-UNAME.&lt;/P&gt;&lt;P&gt;  APPEND I_TITLE_WA TO I_TITLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_TITLE_WA-TYP = 'S'.&lt;/P&gt;&lt;P&gt;  I_TITLE_WA-KEY = text-013.&lt;/P&gt;&lt;P&gt;  I_TITLE_WA-INFO&lt;EM&gt;0(2) = SY-DATUM&lt;/EM&gt;6(2).&lt;/P&gt;&lt;P&gt;  I_TITLE_WA-INFO+2(1) = '.'.&lt;/P&gt;&lt;P&gt;  I_TITLE_WA-INFO&lt;EM&gt;3(2) = SY-DATUM&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;  I_TITLE_WA-INFO+5(1) = '.'.&lt;/P&gt;&lt;P&gt;  I_TITLE_WA-INFO&lt;EM&gt;6(4) = SY-DATUM&lt;/EM&gt;0(4).&lt;/P&gt;&lt;P&gt;  APPEND I_TITLE_WA TO I_TITLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.              "SUB_FIELDCAT_TITLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TOP-OF-PAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY = I_TITLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.            "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE ZPSPAR12_FORMS_F01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***INCLUDE ZPSPAR12_FORMS_F01 .&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  plant_authorization_check&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM plant_authorization_check .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;refresh it_plant[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Populate internal table with all plants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-ucomm eq 'ONLI'.&lt;/P&gt;&lt;P&gt;if s_werks is not initial.&lt;/P&gt;&lt;P&gt;loop at s_werks.&lt;/P&gt;&lt;P&gt;  if s_werks-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    it_plant-werks = s_werks-low.&lt;/P&gt;&lt;P&gt;    append it_plant.&lt;/P&gt;&lt;P&gt;  elseif s_werks-option = 'BT'.&lt;/P&gt;&lt;P&gt;    select werks into it_plant-werks from T001W where werks between s_werks-low and s_werks-high.&lt;/P&gt;&lt;P&gt;      append it_plant.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt; select werks into it_plant-werks from T001W.&lt;/P&gt;&lt;P&gt;  append it_plant.&lt;/P&gt;&lt;P&gt; endselect.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Allow user to enter individual plants without initiating the authority check&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; loop at it_plant.&lt;/P&gt;&lt;P&gt;   AUTHORITY-CHECK OBJECT 'I_IWERK'&lt;/P&gt;&lt;P&gt;                       ID 'TCD'          FIELD SY-TCODE&lt;/P&gt;&lt;P&gt;                       ID 'IWERK' FIELD it_plant-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   IF SY-SUBRC ne 0.                      " If user has authorization&lt;/P&gt;&lt;P&gt;    delete it_plant.&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;DESCRIBE TABLE it_plant LINES lv_lines.&lt;/P&gt;&lt;P&gt;if lv_lines eq 0.&lt;/P&gt;&lt;P&gt; message E155.&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;ENDFORM.                    " plant_authorization_check&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  validate_select_options&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM validate_select_options .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM AUFK WHERE AUFNR IN S_AUFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0 AND NOT ( S_AUFNR IS INITIAL ).&lt;/P&gt;&lt;P&gt;*---Invalid Order Number&lt;/P&gt;&lt;P&gt;    MESSAGE E001.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM AUFK WHERE KTEXT IN S_KTEXT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0 AND NOT ( S_KTEXT IS INITIAL ).&lt;/P&gt;&lt;P&gt;*---Invalid Order Description&lt;/P&gt;&lt;P&gt;    MESSAGE E002.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM VIQMEL WHERE KUNUM IN S_KUNUM.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0 AND NOT ( S_KUNUM IS INITIAL ).&lt;/P&gt;&lt;P&gt;*---Invalid Customer Number&lt;/P&gt;&lt;P&gt;    MESSAGE E003.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM KNA1 WHERE NAME1 IN S_NAME1.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0 AND NOT ( S_NAME1 IS INITIAL ).&lt;/P&gt;&lt;P&gt;*---Invalid Customer Description&lt;/P&gt;&lt;P&gt;    MESSAGE E004.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM IHPA WHERE PARNR IN S_PARNR.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0 AND NOT ( S_PARNR IS INITIAL ).&lt;/P&gt;&lt;P&gt;*---Invalid Supervisor&lt;/P&gt;&lt;P&gt;    MESSAGE E005.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM AUFK WHERE USER4 IN S_USER4.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0 AND NOT ( S_USER4 IS INITIAL ).&lt;/P&gt;&lt;P&gt;*---Invalid Estimation Costs&lt;/P&gt;&lt;P&gt;    MESSAGE E006.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM T001W WHERE WERKS IN S_WERKS.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0 AND NOT ( S_WERKS IS INITIAL ).&lt;/P&gt;&lt;P&gt;*---Invalid Plant&lt;/P&gt;&lt;P&gt;    MESSAGE E008.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM T003O WHERE AUART IN S_AUART.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0 AND NOT ( S_AUART IS INITIAL ).&lt;/P&gt;&lt;P&gt;*---Invalid Order Type&lt;/P&gt;&lt;P&gt;    MESSAGE E009.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " validate_select_options&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in Advance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2006 11:16:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330066#M168370</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-26T11:16:21Z</dc:date>
    </item>
    <item>
      <title>Re: Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330067#M168371</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;    Follow below steps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   1) Remove corresponding from select satement&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   2) Remove * from select&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   3) Select field in sequence as defined in database&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   4) Avoid unnecessary selects&lt;/P&gt;&lt;P&gt;      i.e check for internal table not initial&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   5) Use all entries and sort table by key fields&lt;/P&gt;&lt;P&gt;      &lt;/P&gt;&lt;P&gt;   6) Remove selects ferom loop and use binary search&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; Regards,&lt;/P&gt;&lt;P&gt; Amole        &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Amole&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2006 11:21:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330067#M168371</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-26T11:21:22Z</dc:date>
    </item>
    <item>
      <title>Re: Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330068#M168372</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;have a look at this part.. this is really take lot of time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-ucomm eq 'ONLI'.&lt;/P&gt;&lt;P&gt;if s_werks is not initial.&lt;/P&gt;&lt;P&gt;loop at s_werks.&lt;/P&gt;&lt;P&gt;if s_werks-option = 'EQ'.&lt;/P&gt;&lt;P&gt;it_plant-werks = s_werks-low.&lt;/P&gt;&lt;P&gt;append it_plant.&lt;/P&gt;&lt;P&gt;elseif s_werks-option = 'BT'.&lt;/P&gt;&lt;P&gt;select werks into it_plant-werks from T001W where werks between s_werks-low and s_werks-high.&lt;/P&gt;&lt;P&gt;append it_plant.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;select werks into it_plant-werks from T001W.&lt;/P&gt;&lt;P&gt;append it_plant.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try to avoid select and endselect and use for all entries.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;vijay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2006 11:23:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330068#M168372</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-26T11:23:56Z</dc:date>
    </item>
    <item>
      <title>Re: Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330069#M168373</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;   Avoid select statements in the loop. Rather than using select use read statements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Azaz Ali.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2006 11:27:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330069#M168373</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-26T11:27:39Z</dc:date>
    </item>
    <item>
      <title>Re: Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330070#M168374</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hii&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;use this &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHERE MATNR EQ &amp;#145;000101234567890123&amp;#146;.&lt;/P&gt;&lt;P&gt;SELECT SINGLE KUNNR &lt;/P&gt;&lt;P&gt;          FROM KNA1 &lt;/P&gt;&lt;P&gt;          INTO V_KUNNR &lt;/P&gt;&lt;P&gt;           WHERE KUNNR = I_FINTAB-KUNUM .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reduce Information transfer to Application server&lt;/P&gt;&lt;P&gt;Specify the individual column (field) names of the data you want to retrieve in the Select/ Get statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this , only 1 fields are transported back to the work area for each matching record.  This greatly reduces the amount of data transfer (network traffic) &amp;#150; especially for tables, which have a large number of fields/large record size.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check the performance &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Revert back for more help..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REGARDS&lt;/P&gt;&lt;P&gt;Naresh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2006 11:32:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330070#M168374</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-26T11:32:21Z</dc:date>
    </item>
    <item>
      <title>Re: Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330071#M168375</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Thaks.I have given points.But how can we write for all entries here?..there is no another itab here.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have an idea...instead of writting select and end select,&lt;/P&gt;&lt;P&gt;can we can write like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select werks from t001w into table it_plants where wreks between s_werks-low and s_werks-high.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in the same way&lt;/P&gt;&lt;P&gt;instaed of:&lt;/P&gt;&lt;P&gt;select werks into it_plant-werks from T001W.&lt;/P&gt;&lt;P&gt;append it_plant.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can i writelike: &lt;/P&gt;&lt;P&gt;select werks from t001w into table it_plants.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pls give me any suggessions.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2006 11:39:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330071#M168375</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-26T11:39:25Z</dc:date>
    </item>
    <item>
      <title>Re: Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330072#M168376</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;  1) Try to use secondary index when you don't have &lt;/P&gt;&lt;P&gt;     full key.&lt;/P&gt;&lt;P&gt;  2) Modify internal table use transporting option&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;  3) Avoid nested loop . Use read table and loop at itab&lt;/P&gt;&lt;P&gt;     from sy-tabix statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  4) free intrenal table memory wnen table is not   &lt;/P&gt;&lt;P&gt;     required for further processing.&lt;/P&gt;&lt;P&gt;  5)&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Follow below logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SUB_SELECTION_AUFKTAB.&lt;/P&gt;&lt;P&gt;if not it_plant[] is initial.&lt;/P&gt;&lt;P&gt; it_plant1[] = it_plant[].&lt;/P&gt;&lt;P&gt; sort it_plant1 by werks.&lt;/P&gt;&lt;P&gt; delete adjacent duplicates from it_plant1 comparing werks  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;SELECT AUFNR KTEXT USER4 OBJNR INTO CORRESPONDING FIELDS OF TABLE I_AUFKTAB&lt;/P&gt;&lt;P&gt;FROM AUFK&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN it_plant1&lt;/P&gt;&lt;P&gt;WHERE AUFNR IN S_AUFNR AND&lt;/P&gt;&lt;P&gt;KTEXT IN S_KTEXT AND&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WERKS IN S_WERKS AND&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AUART IN S_AUART AND&lt;/P&gt;&lt;P&gt;USER4 IN S_USER4 AND&lt;/P&gt;&lt;P&gt;werks eq it_plant1-werks.&lt;/P&gt;&lt;P&gt;free it_plant1.&lt;/P&gt;&lt;P&gt;Endif.&lt;/P&gt;&lt;P&gt;ENDFORM. "SUB_SELECTION_AUFKTAB&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;Amole&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2006 11:41:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330072#M168376</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-26T11:41:26Z</dc:date>
    </item>
    <item>
      <title>Re: Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330073#M168377</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes you are right,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but why are looping in your previous code?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you can do something like this....&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&amp;lt;b&amp;gt;select werks from t001w into table it_plants where werks in s_werks&amp;lt;/b&amp;gt;.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;vijay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2006 11:44:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330073#M168377</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-26T11:44:44Z</dc:date>
    </item>
    <item>
      <title>Re: Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330074#M168378</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;select werks from t001w into table it_plants where wreks in s_werks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in the same way&lt;/P&gt;&lt;P&gt;instaed of:&lt;/P&gt;&lt;P&gt;select werks into it_plant-werks from T001W.&lt;/P&gt;&lt;P&gt;append it_plant.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can i writelike: &lt;/P&gt;&lt;P&gt;select werks from t001w into table it_plants.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ya  it  is  ok....&lt;/P&gt;&lt;P&gt;it  increase  ur   performance  but &lt;/P&gt;&lt;P&gt;also avoid  to use  select statement in loop it  is  one   of  the   big  reason  for  ur  down performance....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2006 11:46:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330074#M168378</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-26T11:46:29Z</dc:date>
    </item>
    <item>
      <title>Re: Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330075#M168379</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi jak,&lt;/P&gt;&lt;P&gt; yes u can and for the first select also give as&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select werks from t001w into table it_plants where werks in s_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this helps,&lt;/P&gt;&lt;P&gt;priya.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2006 11:50:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330075#M168379</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-26T11:50:58Z</dc:date>
    </item>
    <item>
      <title>Re: Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330076#M168380</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jaj,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	Please follow the tips below  as applicable and then check if the performance (database utillization wise) improves or not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;i&amp;gt;SELECT AUFNR KTEXT USER4 OBJNR INTO CORRESPONDING FIELDS OF TABLE I_AUFKTAB&lt;/P&gt;&lt;P&gt;FROM AUFK&amp;lt;/i&amp;gt;&lt;/P&gt;&lt;P&gt;1. Select the fields in the order in which it's specified in the Database Table.&lt;/P&gt;&lt;P&gt;2. Also try to avoid using "INTO CORRESPONDING FIELDS OF TABLE" clause.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;i&amp;gt;SELECT SINGLE * FROM IHPA WHERE OBJNR = I_AUFKTAB-OBJNR AND PARVW = 'AG' .&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM AFKO WHERE AUFNR = I_AUFKTAB-AUFNR.&amp;lt;/i&amp;gt;&lt;/P&gt;&lt;P&gt;1. Avoid Selects in a loop. This is a serious issue with respect to performance.&lt;/P&gt;&lt;P&gt;2. Use FOR ALL ENTRIES, wherever possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;i&amp;gt;select werks into it_plant-werks from T001W where werks between s_werks-low and s_werks-high.&lt;/P&gt;&lt;P&gt;append it_plant.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;select werks into it_plant-werks from T001W.&lt;/P&gt;&lt;P&gt;append it_plant.&lt;/P&gt;&lt;P&gt;endselect.&amp;lt;/i&amp;gt;&lt;/P&gt;&lt;P&gt;1. Avoid using SELECT ... ENDSELECT.This is another serious issue with respect to performance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In 90% of the practical cases, you can avoid all these typical issues by following these tips.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Roopesh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2006 12:00:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330076#M168380</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-26T12:00:15Z</dc:date>
    </item>
    <item>
      <title>Re: Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330077#M168381</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please see my answer on your duplicate post.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2006 13:54:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1330077#M168381</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-26T13:54:49Z</dc:date>
    </item>
  </channel>
</rss>

