<?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 performance tips in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316960#M163950</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi experts&lt;/P&gt;&lt;P&gt;it seems in the following code there some costliest statements&lt;/P&gt;&lt;P&gt;can u plz analyse the code and correct the code so that performance improves&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;TABLES: AUFK, "Order master data&lt;/P&gt;&lt;P&gt;T001W, "PLANTS/BRANCHES&lt;/P&gt;&lt;P&gt;KNA1, "General Data in Customer Master&lt;/P&gt;&lt;P&gt;T003O, "ORDER TYPES&lt;/P&gt;&lt;P&gt;PMSDO, "PM Organizational data for sales documents&lt;/P&gt;&lt;P&gt;AFKO, "Order header data PP orders&lt;/P&gt;&lt;P&gt;VBAP, "Sales Document Item Data&lt;/P&gt;&lt;P&gt;FPLA, "Billing Plan&lt;/P&gt;&lt;P&gt;FPLT, "Billing Plan Dates&lt;/P&gt;&lt;P&gt;VBRK, "Billing Document Header data&lt;/P&gt;&lt;P&gt;VBAK, "Sales Document Header data&lt;/P&gt;&lt;P&gt;KONV, "Condition-Transaction Data&lt;/P&gt;&lt;P&gt;IHPA, "Plant maintenance&lt;/P&gt;&lt;P&gt;VIQMEL, "Notification&lt;/P&gt;&lt;P&gt;CAUFVD.&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_SUM LIKE FPLT-FPROZ, "Billing %&lt;/P&gt;&lt;P&gt;G_TIME LIKE AFKO-GSTRP, "Time Period&lt;/P&gt;&lt;P&gt;G_DATE LIKE FPLT-AFDAT,&lt;/P&gt;&lt;P&gt;G_FKSAF LIKE FPLT-FKSAF,&lt;/P&gt;&lt;P&gt;G_PARNR LIKE IHPA-PARNR,&lt;/P&gt;&lt;P&gt;G_NAME1 LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;G_BSTKD LIKE PMSDO-BSTKD,&lt;/P&gt;&lt;P&gt;g_gltrp LIKE caufvd-gltrp, "Period of end time&lt;/P&gt;&lt;P&gt;g_gstrp LIKE caufvd-gstrp, "Period of start time&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;/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;&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;P&gt;" Internal table containg data of table VBAP&lt;/P&gt;&lt;P&gt;DATA I_VBAK LIKE VBAK OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&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 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;KUNUM LIKE VIQMEL-KUNUM,&lt;/P&gt;&lt;P&gt;NAME1 LIKE KNA1-NAME1,&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;BSTKD LIKE PMSDO-BSTKD,&lt;/P&gt;&lt;P&gt;VBELN LIKE VBAK-VBELN,&lt;/P&gt;&lt;P&gt;POSNR LIKE VBAP-POSNR,&lt;/P&gt;&lt;P&gt;KDMAT LIKE VBAP-KDMAT,&lt;/P&gt;&lt;P&gt;ZMENG LIKE VBAP-ZMENG,&lt;/P&gt;&lt;P&gt;KBETR LIKE KONV-KBETR,&lt;/P&gt;&lt;P&gt;NETWR LIKE VBAP-NETWR,&lt;/P&gt;&lt;P&gt;ARKTX LIKE VBAP-ARKTX,&lt;/P&gt;&lt;P&gt;AFDAT LIKE FPLT-AFDAT,&lt;/P&gt;&lt;P&gt;FPROZ LIKE AUFK-USER4,&lt;/P&gt;&lt;P&gt;USER4 LIKE AUFK-USER4,&lt;/P&gt;&lt;P&gt;FKSAF TYPE CHAR30,&lt;/P&gt;&lt;P&gt;WERKS LIKE MARC-WERKS,&lt;/P&gt;&lt;P&gt;AUART LIKE AUFK-AUART,&lt;/P&gt;&lt;P&gt;GSTRP LIKE AFKO-GSTRP,&lt;/P&gt;&lt;P&gt;GLTRP LIKE AFKO-GSTRP,&lt;/P&gt;&lt;P&gt;END OF I_FINTAB.&lt;/P&gt;&lt;P&gt;DATA I_FINALTAB LIKE I_FINTAB OCCURS 0 WITH HEADER LINE.&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 FPLA table contents&lt;/P&gt;&lt;P&gt;I_FPLATAB LIKE FPLA OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;" Internal table containing FPLT table contents&lt;/P&gt;&lt;P&gt;I_FPLTTAB LIKE FPLT OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;" Internal table containing VBAPtable contents&lt;/P&gt;&lt;P&gt;I_VBAP LIKE VBAP 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;I_FPLA LIKE FPLA OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA I TYPE N.&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_WERKS FOR T001W-WERKS, "Plant&lt;/P&gt;&lt;P&gt;S_AUART FOR AUFK-AUART, "Order Type&lt;/P&gt;&lt;P&gt;S_GSTRP FOR CAUFVD-GSTRP, "Period of Time&lt;/P&gt;&lt;P&gt;S_KUNUM FOR VIQMEL-KUNUM, "Customer Number&lt;/P&gt;&lt;P&gt;S_NAME1 FOR KNA1-NAME1, "Customername&lt;/P&gt;&lt;P&gt;S_AUFNR FOR AUFK-AUFNR MATCHCODE OBJECT ORDP, "Job Number&lt;/P&gt;&lt;P&gt;S_KTEXT FOR AUFK-KTEXT, "Job Description&lt;/P&gt;&lt;P&gt;S_BSTKD FOR PMSDO-BSTKD. "Purchase order no&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,VBAP,VBAK,FPLT into internal table I_AUFKTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SUB_SELECTION_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"Internal table containing the report fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SUB_SELECTION_FINALTAB1.&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;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_TAB&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;&lt;/P&gt;&lt;P&gt;FORM SUB_SELECTION_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT AUFNR KTEXT OBJNR USER4 WERKS AUART INTO CORRESPONDING FIELDS OF TABLE&lt;/P&gt;&lt;P&gt;I_AUFKTAB 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&lt;/P&gt;&lt;P&gt;AND KTEXT IN S_KTEXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AND WERKS IN S_WERKS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AND AUART IN S_AUART&lt;/P&gt;&lt;P&gt;AND werks = it_plant-werks.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AND ERDAT IN S_GSTRP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE S017.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "SUB_SELECTION_TAB&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_FINALTAB1&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;&lt;/P&gt;&lt;P&gt;FORM SUB_SELECTION_FINALTAB1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;" Retrieve the sales line items from the table VBAK&lt;/P&gt;&lt;P&gt;*IF NOT I_AUFKTAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;*loop at i_aufktab.&lt;/P&gt;&lt;P&gt;IF S_AUFNR IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT * FROM VBAK INTO TABLE I_VBAK&lt;/P&gt;&lt;P&gt;WHERE AUFNR = I_AUFKTAB-AUFNR.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;*LOOP AT I_AUFKTAB.&lt;/P&gt;&lt;P&gt;SELECT * FROM VBAK INTO TABLE I_VBAK FOR ALL ENTRIES IN I_AUFKTAB&lt;/P&gt;&lt;P&gt;WHERE AUFNR = I_AUFKTAB-AUFNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND I_VBAK.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDLOOP.&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;IF I_VBAK IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT * FROM VBAK INTO TABLE I_VBAK.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHERE AUFNR = I_AUFKTAB-AUFNR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;*ENDIF.&lt;/P&gt;&lt;P&gt;*LOOP AT I_AUFKTAB.&lt;/P&gt;&lt;P&gt;LOOP AT I_VBAK.&lt;/P&gt;&lt;P&gt;" Retrieve the sales line items from the table VBAP&lt;/P&gt;&lt;P&gt;SELECT * INTO TABLE I_VBAP FROM VBAP&lt;/P&gt;&lt;P&gt;WHERE VBELN = I_VBAK-VBELN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AND AUFNR = I_AUFKTAB-AUFNR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;" Retrieve the billing plan dates from the table FPLA&lt;/P&gt;&lt;P&gt;SELECT * FROM FPLA INTO TABLE I_FPLA&lt;/P&gt;&lt;P&gt;WHERE VBELN = I_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I = 1.&lt;/P&gt;&lt;P&gt;LOOP AT I_FPLA.&lt;/P&gt;&lt;P&gt;" Retrieve the billing plan dates from the table FPLT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT AFDAT FPROZ FKSAF INTO CORRESPONDING FIELDS OF TABLE I_FPLTTAB&lt;/P&gt;&lt;P&gt;FROM FPLT&lt;/P&gt;&lt;P&gt;WHERE FPLNR = I_FPLA-FPLNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT I_FPLTTAB.&lt;/P&gt;&lt;P&gt;AT END OF FPLNR.&lt;/P&gt;&lt;P&gt;SUM.&lt;/P&gt;&lt;P&gt;MOVE I_FPLTTAB-FPROZ TO G_SUM.&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;I_FINTAB-FPROZ = G_SUM.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;IF I_FPLTTAB-FKSAF = 'A'.&lt;/P&gt;&lt;P&gt;CONCATENATE TEXT-001 '(' I_FPLTTAB-FKSAF ')' INTO I_FINTAB-FKSAF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF I_FPLTTAB-FKSAF = 'B'.&lt;/P&gt;&lt;P&gt;CONCATENATE TEXT-002 '(' I_FPLTTAB-FKSAF ')' INTO I_FINTAB-FKSAF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF I_FPLTTAB-FKSAF = 'C'.&lt;/P&gt;&lt;P&gt;CONCATENATE TEXT-003 '(' I_FPLTTAB-FKSAF ')' INTO I_FINTAB-FKSAF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF I_FPLTTAB-FKSAF = ' '.&lt;/P&gt;&lt;P&gt;CONCATENATE ' ' '(' I_FPLTTAB-FKSAF ')' INTO I_FINTAB-FKSAF.&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;&lt;/P&gt;&lt;P&gt;SORT I_FPLTTAB BY AFDAT DESCENDING .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE I_FPLTTAB INDEX 1.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;I_FINTAB-AFDAT = I_FPLTTAB-AFDAT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE I_VBAP INDEX I.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;MOVE : I_VBAP-VBELN TO I_FINTAB-VBELN,&lt;/P&gt;&lt;P&gt;I_VBAP-POSNR TO I_FINTAB-POSNR,&lt;/P&gt;&lt;P&gt;I_VBAP-KDMAT TO I_FINTAB-KDMAT,&lt;/P&gt;&lt;P&gt;I_VBAP-ZMENG TO I_FINTAB-ZMENG,&lt;/P&gt;&lt;P&gt;I_VBAP-NETPR TO I_FINTAB-KBETR,&lt;/P&gt;&lt;P&gt;I_VBAP-NETWR TO I_FINTAB-NETWR,&lt;/P&gt;&lt;P&gt;I_VBAP-AUFNR TO I_FINTAB-AUFNR,&lt;/P&gt;&lt;P&gt;I_VBAP-ARKTX TO I_FINTAB-ARKTX.&lt;/P&gt;&lt;P&gt;CLEAR I_AUFKTAB.&lt;/P&gt;&lt;P&gt;READ TABLE I_AUFKTAB WITH KEY AUFNR = I_VBAP-AUFNR.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&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;I_FINTAB-WERKS = I_AUFKTAB-WERKS.&lt;/P&gt;&lt;P&gt;I_FINTAB-AUART = I_AUFKTAB-AUART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"Retrieving customer number from VIQMEL into final internal table&lt;/P&gt;&lt;P&gt;SELECT SINGLE PARNR FROM IHPA INTO G_PARNR WHERE OBJNR = I_AUFKTAB-OBJNR&lt;/P&gt;&lt;P&gt;AND PARVW = TEXT-110&lt;/P&gt;&lt;P&gt;AND PARNR IN S_KUNUM.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;I_FINTAB-KUNUM = G_PARNR.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"Retrieving customer name from KNA1 into final internal table&lt;/P&gt;&lt;P&gt;SELECT SINGLE NAME1 FROM KNA1 INTO G_NAME1 WHERE KUNNR = G_PARNR.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;I_FINTAB-NAME1 = G_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;"Retrieving purchase order number from PMSDO into final internal table&lt;/P&gt;&lt;P&gt;SELECT SINGLE BSTKD FROM PMSDO INTO G_BSTKD WHERE OBJNR = I_AUFKTAB-OBJNR .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;I_FINTAB-BSTKD = G_BSTKD.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;" Retrieving Required end date from AFKO into final internal table&lt;/P&gt;&lt;P&gt;SELECT SINGLE gltrp gstrp FROM afko INTO (g_gltrp,g_gstrp) WHERE aufnr = i_aufktab-aufnr.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0. "AFKO&lt;/P&gt;&lt;P&gt;i_fintab-gltrp = g_gltrp.&lt;/P&gt;&lt;P&gt;i_fintab-gstrp = g_gstrp.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF. "AUFKTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF. "VBAP&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;I = I + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP. "FPLA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP. "I_VBAK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DELETE I_FINTAB WHERE NOT AUFNR IN S_AUFNR.&lt;/P&gt;&lt;P&gt;*DELETE I_FINTAB WHERE NOT KUNUM IN S_KUNUM.&lt;/P&gt;&lt;P&gt;LOOP AT i_fintab WHERE kunum IN s_kunum&lt;/P&gt;&lt;P&gt;AND gstrp IN s_gstrp&lt;/P&gt;&lt;P&gt;AND gltrp IN s_gstrp&lt;/P&gt;&lt;P&gt;AND werks IN s_werks&lt;/P&gt;&lt;P&gt;AND auart IN s_auart&lt;/P&gt;&lt;P&gt;AND name1 IN s_name1&lt;/P&gt;&lt;P&gt;AND aufnr IN s_aufnr&lt;/P&gt;&lt;P&gt;AND ktext IN s_ktext&lt;/P&gt;&lt;P&gt;AND bstkd IN s_bstkd.&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;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_FINALTAB[] = I_FINTAB[].&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF ( I_FINALTAB[] IS INITIAL ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE S010.&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;SORT I_FINALTAB BY AUFNR.&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;ENDFORM. "SUB_SELECTION_FINALTAB1&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_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;FORM SUB_FIELDCAT_BUILD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SUB_FIELDCAT USING '' 'KUNUM' TEXT-004 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 '' 'NAME1' 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 '' 'AUFNR' 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 '' 'KTEXT' 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 '' 'BSTKD' 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 '' 'VBELN' 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 '' 'POSNR' 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 '' 'KDMAT' 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;PERFORM SUB_FIELDCAT USING '' 'ZMENG' TEXT-012 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 '' 'KBETR' TEXT-013 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 '' 'NETWR' TEXT-014 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 '' 'ARKTX' TEXT-015 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 '' 'AFDAT' TEXT-016 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 '' 'FPROZ' TEXT-017 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-018 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 '' 'FKSAF' TEXT-019 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 '' 'WERKS' TEXT-020 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 '' 'AUART' TEXT-021 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;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;&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 = 'ZPSPAR11_SCHD_RATES'&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;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;&lt;/P&gt;&lt;P&gt;&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 = TEXT-023.&lt;/P&gt;&lt;P&gt;I_TITLE_WA-INFO = TEXT-022.&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 = TEXT-024.&lt;/P&gt;&lt;P&gt;I_TITLE_WA-KEY = TEXT-025.&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 = TEXT-024.&lt;/P&gt;&lt;P&gt;I_TITLE_WA-KEY = TEXT-026.&lt;/P&gt;&lt;P&gt;CONCATENATE SY-DATUM&lt;EM&gt;6(2) TEXT-027 SY-DATUM&lt;/EM&gt;4(2) TEXT-027 SY-DATUM+0(4) INTO I_TITLE_WA-INFO.&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 = TEXT-024.&lt;/P&gt;&lt;P&gt;I_TITLE_WA-KEY = TEXT-028.&lt;/P&gt;&lt;P&gt;CONCATENATE S_GSTRP&lt;EM&gt;9(2) TEXT-027 S_GSTRP&lt;/EM&gt;7(2) TEXT-027 S_GSTRP+3(4) INTO I_TITLE_WA-INFO.&lt;/P&gt;&lt;P&gt;IF NOT ( S_GSTRP-HIGH IS INITIAL ).&lt;/P&gt;&lt;P&gt;CONCATENATE S_GSTRP-LOW&lt;EM&gt;6(2) TEXT-027 S_GSTRP-LOW&lt;/EM&gt;4(2) TEXT-027 S_GSTRP-LOW+0(4) TEXT-029&lt;/P&gt;&lt;P&gt;S_GSTRP-HIGH&lt;EM&gt;6(2) TEXT-027 S_GSTRP-HIGH&lt;/EM&gt;4(2) TEXT-027 S_GSTRP-HIGH+0(4) INTO I_TITLE_WA-INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;APPEND I_TITLE_WA TO I_TITLE.&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 ZPSPAR11_INCLUDE_AF01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank u in advance .max points will be awarded since this is very urgent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;siri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 31 May 2006 11:57:28 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-05-31T11:57:28Z</dc:date>
    <item>
      <title>performance tips</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316960#M163950</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi experts&lt;/P&gt;&lt;P&gt;it seems in the following code there some costliest statements&lt;/P&gt;&lt;P&gt;can u plz analyse the code and correct the code so that performance improves&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;TABLES: AUFK, "Order master data&lt;/P&gt;&lt;P&gt;T001W, "PLANTS/BRANCHES&lt;/P&gt;&lt;P&gt;KNA1, "General Data in Customer Master&lt;/P&gt;&lt;P&gt;T003O, "ORDER TYPES&lt;/P&gt;&lt;P&gt;PMSDO, "PM Organizational data for sales documents&lt;/P&gt;&lt;P&gt;AFKO, "Order header data PP orders&lt;/P&gt;&lt;P&gt;VBAP, "Sales Document Item Data&lt;/P&gt;&lt;P&gt;FPLA, "Billing Plan&lt;/P&gt;&lt;P&gt;FPLT, "Billing Plan Dates&lt;/P&gt;&lt;P&gt;VBRK, "Billing Document Header data&lt;/P&gt;&lt;P&gt;VBAK, "Sales Document Header data&lt;/P&gt;&lt;P&gt;KONV, "Condition-Transaction Data&lt;/P&gt;&lt;P&gt;IHPA, "Plant maintenance&lt;/P&gt;&lt;P&gt;VIQMEL, "Notification&lt;/P&gt;&lt;P&gt;CAUFVD.&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_SUM LIKE FPLT-FPROZ, "Billing %&lt;/P&gt;&lt;P&gt;G_TIME LIKE AFKO-GSTRP, "Time Period&lt;/P&gt;&lt;P&gt;G_DATE LIKE FPLT-AFDAT,&lt;/P&gt;&lt;P&gt;G_FKSAF LIKE FPLT-FKSAF,&lt;/P&gt;&lt;P&gt;G_PARNR LIKE IHPA-PARNR,&lt;/P&gt;&lt;P&gt;G_NAME1 LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;G_BSTKD LIKE PMSDO-BSTKD,&lt;/P&gt;&lt;P&gt;g_gltrp LIKE caufvd-gltrp, "Period of end time&lt;/P&gt;&lt;P&gt;g_gstrp LIKE caufvd-gstrp, "Period of start time&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;/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;&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;P&gt;" Internal table containg data of table VBAP&lt;/P&gt;&lt;P&gt;DATA I_VBAK LIKE VBAK OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&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 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;KUNUM LIKE VIQMEL-KUNUM,&lt;/P&gt;&lt;P&gt;NAME1 LIKE KNA1-NAME1,&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;BSTKD LIKE PMSDO-BSTKD,&lt;/P&gt;&lt;P&gt;VBELN LIKE VBAK-VBELN,&lt;/P&gt;&lt;P&gt;POSNR LIKE VBAP-POSNR,&lt;/P&gt;&lt;P&gt;KDMAT LIKE VBAP-KDMAT,&lt;/P&gt;&lt;P&gt;ZMENG LIKE VBAP-ZMENG,&lt;/P&gt;&lt;P&gt;KBETR LIKE KONV-KBETR,&lt;/P&gt;&lt;P&gt;NETWR LIKE VBAP-NETWR,&lt;/P&gt;&lt;P&gt;ARKTX LIKE VBAP-ARKTX,&lt;/P&gt;&lt;P&gt;AFDAT LIKE FPLT-AFDAT,&lt;/P&gt;&lt;P&gt;FPROZ LIKE AUFK-USER4,&lt;/P&gt;&lt;P&gt;USER4 LIKE AUFK-USER4,&lt;/P&gt;&lt;P&gt;FKSAF TYPE CHAR30,&lt;/P&gt;&lt;P&gt;WERKS LIKE MARC-WERKS,&lt;/P&gt;&lt;P&gt;AUART LIKE AUFK-AUART,&lt;/P&gt;&lt;P&gt;GSTRP LIKE AFKO-GSTRP,&lt;/P&gt;&lt;P&gt;GLTRP LIKE AFKO-GSTRP,&lt;/P&gt;&lt;P&gt;END OF I_FINTAB.&lt;/P&gt;&lt;P&gt;DATA I_FINALTAB LIKE I_FINTAB OCCURS 0 WITH HEADER LINE.&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 FPLA table contents&lt;/P&gt;&lt;P&gt;I_FPLATAB LIKE FPLA OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;" Internal table containing FPLT table contents&lt;/P&gt;&lt;P&gt;I_FPLTTAB LIKE FPLT OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;" Internal table containing VBAPtable contents&lt;/P&gt;&lt;P&gt;I_VBAP LIKE VBAP 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;I_FPLA LIKE FPLA OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA I TYPE N.&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_WERKS FOR T001W-WERKS, "Plant&lt;/P&gt;&lt;P&gt;S_AUART FOR AUFK-AUART, "Order Type&lt;/P&gt;&lt;P&gt;S_GSTRP FOR CAUFVD-GSTRP, "Period of Time&lt;/P&gt;&lt;P&gt;S_KUNUM FOR VIQMEL-KUNUM, "Customer Number&lt;/P&gt;&lt;P&gt;S_NAME1 FOR KNA1-NAME1, "Customername&lt;/P&gt;&lt;P&gt;S_AUFNR FOR AUFK-AUFNR MATCHCODE OBJECT ORDP, "Job Number&lt;/P&gt;&lt;P&gt;S_KTEXT FOR AUFK-KTEXT, "Job Description&lt;/P&gt;&lt;P&gt;S_BSTKD FOR PMSDO-BSTKD. "Purchase order no&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,VBAP,VBAK,FPLT into internal table I_AUFKTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SUB_SELECTION_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"Internal table containing the report fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SUB_SELECTION_FINALTAB1.&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;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_TAB&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;&lt;/P&gt;&lt;P&gt;FORM SUB_SELECTION_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT AUFNR KTEXT OBJNR USER4 WERKS AUART INTO CORRESPONDING FIELDS OF TABLE&lt;/P&gt;&lt;P&gt;I_AUFKTAB 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&lt;/P&gt;&lt;P&gt;AND KTEXT IN S_KTEXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AND WERKS IN S_WERKS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AND AUART IN S_AUART&lt;/P&gt;&lt;P&gt;AND werks = it_plant-werks.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AND ERDAT IN S_GSTRP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE S017.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "SUB_SELECTION_TAB&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_FINALTAB1&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;&lt;/P&gt;&lt;P&gt;FORM SUB_SELECTION_FINALTAB1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;" Retrieve the sales line items from the table VBAK&lt;/P&gt;&lt;P&gt;*IF NOT I_AUFKTAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;*loop at i_aufktab.&lt;/P&gt;&lt;P&gt;IF S_AUFNR IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT * FROM VBAK INTO TABLE I_VBAK&lt;/P&gt;&lt;P&gt;WHERE AUFNR = I_AUFKTAB-AUFNR.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;*LOOP AT I_AUFKTAB.&lt;/P&gt;&lt;P&gt;SELECT * FROM VBAK INTO TABLE I_VBAK FOR ALL ENTRIES IN I_AUFKTAB&lt;/P&gt;&lt;P&gt;WHERE AUFNR = I_AUFKTAB-AUFNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND I_VBAK.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDLOOP.&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;IF I_VBAK IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT * FROM VBAK INTO TABLE I_VBAK.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHERE AUFNR = I_AUFKTAB-AUFNR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;*ENDIF.&lt;/P&gt;&lt;P&gt;*LOOP AT I_AUFKTAB.&lt;/P&gt;&lt;P&gt;LOOP AT I_VBAK.&lt;/P&gt;&lt;P&gt;" Retrieve the sales line items from the table VBAP&lt;/P&gt;&lt;P&gt;SELECT * INTO TABLE I_VBAP FROM VBAP&lt;/P&gt;&lt;P&gt;WHERE VBELN = I_VBAK-VBELN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AND AUFNR = I_AUFKTAB-AUFNR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;" Retrieve the billing plan dates from the table FPLA&lt;/P&gt;&lt;P&gt;SELECT * FROM FPLA INTO TABLE I_FPLA&lt;/P&gt;&lt;P&gt;WHERE VBELN = I_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I = 1.&lt;/P&gt;&lt;P&gt;LOOP AT I_FPLA.&lt;/P&gt;&lt;P&gt;" Retrieve the billing plan dates from the table FPLT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT AFDAT FPROZ FKSAF INTO CORRESPONDING FIELDS OF TABLE I_FPLTTAB&lt;/P&gt;&lt;P&gt;FROM FPLT&lt;/P&gt;&lt;P&gt;WHERE FPLNR = I_FPLA-FPLNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT I_FPLTTAB.&lt;/P&gt;&lt;P&gt;AT END OF FPLNR.&lt;/P&gt;&lt;P&gt;SUM.&lt;/P&gt;&lt;P&gt;MOVE I_FPLTTAB-FPROZ TO G_SUM.&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;I_FINTAB-FPROZ = G_SUM.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;IF I_FPLTTAB-FKSAF = 'A'.&lt;/P&gt;&lt;P&gt;CONCATENATE TEXT-001 '(' I_FPLTTAB-FKSAF ')' INTO I_FINTAB-FKSAF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF I_FPLTTAB-FKSAF = 'B'.&lt;/P&gt;&lt;P&gt;CONCATENATE TEXT-002 '(' I_FPLTTAB-FKSAF ')' INTO I_FINTAB-FKSAF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF I_FPLTTAB-FKSAF = 'C'.&lt;/P&gt;&lt;P&gt;CONCATENATE TEXT-003 '(' I_FPLTTAB-FKSAF ')' INTO I_FINTAB-FKSAF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF I_FPLTTAB-FKSAF = ' '.&lt;/P&gt;&lt;P&gt;CONCATENATE ' ' '(' I_FPLTTAB-FKSAF ')' INTO I_FINTAB-FKSAF.&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;&lt;/P&gt;&lt;P&gt;SORT I_FPLTTAB BY AFDAT DESCENDING .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE I_FPLTTAB INDEX 1.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;I_FINTAB-AFDAT = I_FPLTTAB-AFDAT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE I_VBAP INDEX I.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;MOVE : I_VBAP-VBELN TO I_FINTAB-VBELN,&lt;/P&gt;&lt;P&gt;I_VBAP-POSNR TO I_FINTAB-POSNR,&lt;/P&gt;&lt;P&gt;I_VBAP-KDMAT TO I_FINTAB-KDMAT,&lt;/P&gt;&lt;P&gt;I_VBAP-ZMENG TO I_FINTAB-ZMENG,&lt;/P&gt;&lt;P&gt;I_VBAP-NETPR TO I_FINTAB-KBETR,&lt;/P&gt;&lt;P&gt;I_VBAP-NETWR TO I_FINTAB-NETWR,&lt;/P&gt;&lt;P&gt;I_VBAP-AUFNR TO I_FINTAB-AUFNR,&lt;/P&gt;&lt;P&gt;I_VBAP-ARKTX TO I_FINTAB-ARKTX.&lt;/P&gt;&lt;P&gt;CLEAR I_AUFKTAB.&lt;/P&gt;&lt;P&gt;READ TABLE I_AUFKTAB WITH KEY AUFNR = I_VBAP-AUFNR.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&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;I_FINTAB-WERKS = I_AUFKTAB-WERKS.&lt;/P&gt;&lt;P&gt;I_FINTAB-AUART = I_AUFKTAB-AUART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"Retrieving customer number from VIQMEL into final internal table&lt;/P&gt;&lt;P&gt;SELECT SINGLE PARNR FROM IHPA INTO G_PARNR WHERE OBJNR = I_AUFKTAB-OBJNR&lt;/P&gt;&lt;P&gt;AND PARVW = TEXT-110&lt;/P&gt;&lt;P&gt;AND PARNR IN S_KUNUM.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;I_FINTAB-KUNUM = G_PARNR.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"Retrieving customer name from KNA1 into final internal table&lt;/P&gt;&lt;P&gt;SELECT SINGLE NAME1 FROM KNA1 INTO G_NAME1 WHERE KUNNR = G_PARNR.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;I_FINTAB-NAME1 = G_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;"Retrieving purchase order number from PMSDO into final internal table&lt;/P&gt;&lt;P&gt;SELECT SINGLE BSTKD FROM PMSDO INTO G_BSTKD WHERE OBJNR = I_AUFKTAB-OBJNR .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;I_FINTAB-BSTKD = G_BSTKD.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;" Retrieving Required end date from AFKO into final internal table&lt;/P&gt;&lt;P&gt;SELECT SINGLE gltrp gstrp FROM afko INTO (g_gltrp,g_gstrp) WHERE aufnr = i_aufktab-aufnr.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0. "AFKO&lt;/P&gt;&lt;P&gt;i_fintab-gltrp = g_gltrp.&lt;/P&gt;&lt;P&gt;i_fintab-gstrp = g_gstrp.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF. "AUFKTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF. "VBAP&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;I = I + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP. "FPLA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP. "I_VBAK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DELETE I_FINTAB WHERE NOT AUFNR IN S_AUFNR.&lt;/P&gt;&lt;P&gt;*DELETE I_FINTAB WHERE NOT KUNUM IN S_KUNUM.&lt;/P&gt;&lt;P&gt;LOOP AT i_fintab WHERE kunum IN s_kunum&lt;/P&gt;&lt;P&gt;AND gstrp IN s_gstrp&lt;/P&gt;&lt;P&gt;AND gltrp IN s_gstrp&lt;/P&gt;&lt;P&gt;AND werks IN s_werks&lt;/P&gt;&lt;P&gt;AND auart IN s_auart&lt;/P&gt;&lt;P&gt;AND name1 IN s_name1&lt;/P&gt;&lt;P&gt;AND aufnr IN s_aufnr&lt;/P&gt;&lt;P&gt;AND ktext IN s_ktext&lt;/P&gt;&lt;P&gt;AND bstkd IN s_bstkd.&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;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_FINALTAB[] = I_FINTAB[].&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF ( I_FINALTAB[] IS INITIAL ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE S010.&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;SORT I_FINALTAB BY AUFNR.&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;ENDFORM. "SUB_SELECTION_FINALTAB1&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_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;FORM SUB_FIELDCAT_BUILD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SUB_FIELDCAT USING '' 'KUNUM' TEXT-004 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 '' 'NAME1' 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 '' 'AUFNR' 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 '' 'KTEXT' 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 '' 'BSTKD' 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 '' 'VBELN' 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 '' 'POSNR' 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 '' 'KDMAT' 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;PERFORM SUB_FIELDCAT USING '' 'ZMENG' TEXT-012 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 '' 'KBETR' TEXT-013 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 '' 'NETWR' TEXT-014 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 '' 'ARKTX' TEXT-015 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 '' 'AFDAT' TEXT-016 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 '' 'FPROZ' TEXT-017 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-018 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 '' 'FKSAF' TEXT-019 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 '' 'WERKS' TEXT-020 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 '' 'AUART' TEXT-021 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;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;&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 = 'ZPSPAR11_SCHD_RATES'&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;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;&lt;/P&gt;&lt;P&gt;&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 = TEXT-023.&lt;/P&gt;&lt;P&gt;I_TITLE_WA-INFO = TEXT-022.&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 = TEXT-024.&lt;/P&gt;&lt;P&gt;I_TITLE_WA-KEY = TEXT-025.&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 = TEXT-024.&lt;/P&gt;&lt;P&gt;I_TITLE_WA-KEY = TEXT-026.&lt;/P&gt;&lt;P&gt;CONCATENATE SY-DATUM&lt;EM&gt;6(2) TEXT-027 SY-DATUM&lt;/EM&gt;4(2) TEXT-027 SY-DATUM+0(4) INTO I_TITLE_WA-INFO.&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 = TEXT-024.&lt;/P&gt;&lt;P&gt;I_TITLE_WA-KEY = TEXT-028.&lt;/P&gt;&lt;P&gt;CONCATENATE S_GSTRP&lt;EM&gt;9(2) TEXT-027 S_GSTRP&lt;/EM&gt;7(2) TEXT-027 S_GSTRP+3(4) INTO I_TITLE_WA-INFO.&lt;/P&gt;&lt;P&gt;IF NOT ( S_GSTRP-HIGH IS INITIAL ).&lt;/P&gt;&lt;P&gt;CONCATENATE S_GSTRP-LOW&lt;EM&gt;6(2) TEXT-027 S_GSTRP-LOW&lt;/EM&gt;4(2) TEXT-027 S_GSTRP-LOW+0(4) TEXT-029&lt;/P&gt;&lt;P&gt;S_GSTRP-HIGH&lt;EM&gt;6(2) TEXT-027 S_GSTRP-HIGH&lt;/EM&gt;4(2) TEXT-027 S_GSTRP-HIGH+0(4) INTO I_TITLE_WA-INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;APPEND I_TITLE_WA TO I_TITLE.&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 ZPSPAR11_INCLUDE_AF01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank u in advance .max points will be awarded since this is very urgent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;siri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 May 2006 11:57:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316960#M163950</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-31T11:57:28Z</dc:date>
    </item>
    <item>
      <title>Re: performance tips</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316961#M163951</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;-&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt;&amp;gt;before using &amp;lt;b&amp;gt;FOR ALL ENTRIES&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;check if the internal table is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt;&amp;gt; move corresponding takes time to compare the fields of the table &amp;amp; the internal table so instaed declare the itab in the same order as the fields in the data base table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt;&amp;gt; select * can b avoided (depends on ur req)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt;&amp;gt; avoid select statements in loop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt;&amp;gt; &amp;lt;b&amp;gt;TRANSPORTING NO FIELDS&amp;lt;/b&amp;gt; &amp;amp; &amp;lt;b&amp;gt;binary search&amp;lt;/b&amp;gt; can b used along with &amp;lt;b&amp;gt;read&amp;lt;/b&amp;gt; statement for more efficiency&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 May 2006 12:06:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316961#M163951</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-31T12:06:52Z</dc:date>
    </item>
    <item>
      <title>Re: performance tips</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316962#M163952</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try to avoid select within loop. Try to avoid nested loops. Check if not all the select-option is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Peter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 May 2006 12:11:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316962#M163952</guid>
      <dc:creator>Peter_Inotai</dc:creator>
      <dc:date>2006-05-31T12:11:39Z</dc:date>
    </item>
    <item>
      <title>Re: performance tips</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316963#M163953</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;&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;&amp;lt;b&amp;gt;sort the table first before using for all entries, so that you can use binary search in the read command&amp;lt;/b&amp;gt;&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;7) Try to use secondary index when you don't have&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   full key.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":smiling_face_with_sunglasses:"&gt;😎&lt;/span&gt; Modify internal table use transporting option&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;9) 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;10) free intrenal table memory wnen table is not&lt;/P&gt;&lt;P&gt;required for further processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In &amp;lt;b&amp;gt;SE30&amp;lt;/b&amp;gt; ( ABAP Runtime Analysis),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First give the program name and click execute.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now come back and click on Analyse.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This will give you the performance of the program.&lt;/P&gt;&lt;P&gt;Anything given in &amp;lt;b&amp;gt;RED barchart&amp;lt;/b&amp;gt; means you need to fine tune it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Code Inspector&amp;lt;/b&amp;gt; inspects your code and gives you information regarding the type of issue that you are facing(like performance, syntax error) so that you can correct it later.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if helpful&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>Wed, 31 May 2006 12:13:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316963#M163953</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-31T12:13:58Z</dc:date>
    </item>
    <item>
      <title>Re: performance tips</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316964#M163954</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sireesha,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have very good PDF file on performance optimization.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please give me your email id, I will forward the same to you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Also, reward points if it helps.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 May 2006 12:14:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316964#M163954</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-31T12:14:04Z</dc:date>
    </item>
    <item>
      <title>Re: performance tips</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316965#M163955</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;&lt;/P&gt;&lt;P&gt;1) Remove move corresponding from select query &lt;/P&gt;&lt;P&gt;   that is select the column in the order of internal&lt;/P&gt;&lt;P&gt;   table field or rearrange the internal table fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) avoid selection in loop; because it connect the &lt;/P&gt;&lt;P&gt;   database server in loop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3) when ever u use for all entries check wheater it is &lt;/P&gt;&lt;P&gt;   initial of not (dont perform selection initail table).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4) when ever ur going to read any value for the internal &lt;/P&gt;&lt;P&gt;   table use binary search ( for binary search sort table on that key)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Refer this link for further optimization tech.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1.	Debugger&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc" target="test_blank"&gt;http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Run Time Analyser&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/c6/617cafe68c11d2b2ab080009b43351/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/c6/617cafe68c11d2b2ab080009b43351/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. SQL trace&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/d1/801f7c454211d189710000e8322d00/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/d1/801f7c454211d189710000e8322d00/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. CATT - Computer Aided Testing Too&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/b3/410b37233f7c6fe10000009b38f936/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/b3/410b37233f7c6fe10000009b38f936/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. Test Workbench&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/a8/157235d0fa8742e10000009b38f889/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/a8/157235d0fa8742e10000009b38f889/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6. Coverage Analyser&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/c7/af9a79061a11d4b3d4080009b43351/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/c7/af9a79061a11d4b3d4080009b43351/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7. Runtime Monitor&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/b5/fa121cc15911d5993d00508b6b8b11/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/b5/fa121cc15911d5993d00508b6b8b11/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;8. Memory Inspector&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/a2/e5fc84cc87964cb2c29f584152d74e/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/a2/e5fc84cc87964cb2c29f584152d74e/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;9. ECATT - Extended Computer Aided testing tool.&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/20/e81c3b84e65e7be10000000a11402f/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/20/e81c3b84e65e7be10000000a11402f/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Mark helpfull answers&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 May 2006 12:18:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316965#M163955</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-31T12:18:27Z</dc:date>
    </item>
    <item>
      <title>Re: performance tips</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316966#M163956</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sireesha,&lt;/P&gt;&lt;P&gt;I had gone thru your code, there are lot of statement which need to change,may be rewriting the code is easier one . A few points you can consider in your code .&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;In FORM SUB_SELECTION_TAB&amp;lt;/u&amp;gt;.&lt;/P&gt;&lt;P&gt;1.create ranges for the plant and validate your select with ranges for the plant.&lt;/P&gt;&lt;P&gt;2.Create internal table i_aufk with your required fields only so that you can avoid into corresponding fields statement.&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;In FORM SUB_SELECTION_FINALTAB1.&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;1.Better YOu can use inner join for VBAK and VBAP , with your validations.&lt;/P&gt;&lt;P&gt;2.Wherever you are using Select * , try to avoid that and use your required fields only.&lt;/P&gt;&lt;P&gt;3.At the maximum try to avoid use select statements in side the loops. &lt;/P&gt;&lt;P&gt;4.Wherever possible user READ statements with Binary search.&lt;/P&gt;&lt;P&gt;5.You are using select Single statement inside the loop , better you can select the data outside the loop and with the help of READ statement you can achieve your requirement.&lt;/P&gt;&lt;P&gt;&amp;lt;i&amp;gt;&lt;/P&gt;&lt;P&gt;Hope This Info Helps YOU.&amp;lt;/i&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Raghav&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 May 2006 12:46:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316966#M163956</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-31T12:46:57Z</dc:date>
    </item>
    <item>
      <title>Re: performance tips</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316967#M163957</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1.  Do not use like, its obsolete. Instead use type and data element.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Do not declare internal table with occurs 0. Also declare  work area seperately, do not declare internal table with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Do not use corresponding fields of in select statements. Its a very expensive SQL statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4.Do not use select * instead write all the fields which you need.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. Avoid nested loops. Instead use loop at... read table ..... Also try to avoid select statements inside loops. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6. Use SQL trace, SLIN test, Runtime analysis to find the performance of your code.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 May 2006 12:58:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tips/m-p/1316967#M163957</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-31T12:58:55Z</dc:date>
    </item>
  </channel>
</rss>

