<?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: Runtime Analyasis in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580812#M262071</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi vijay&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding your program to reduce the execution time you can do following things in your program :&lt;/P&gt;&lt;P&gt;1) Avoid the following select * statements in the &lt;/P&gt;&lt;P&gt;   FORM get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * from likp into corresponding fields of table it_likp&lt;/P&gt;&lt;P&gt;where vstel IN s_vstel&lt;/P&gt;&lt;P&gt;and lfdat IN s_lfdat&lt;/P&gt;&lt;P&gt;and werks IN s_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * from lips into corresponding fields of table it_lips&lt;/P&gt;&lt;P&gt;for all entries in it_likp&lt;/P&gt;&lt;P&gt;where vbeln = it_likp-vbeln&lt;/P&gt;&lt;P&gt;and matnr IN s_matnr&lt;/P&gt;&lt;P&gt;and matkl IN s_matkl&lt;/P&gt;&lt;P&gt;and bwart IN ('641')&lt;/P&gt;&lt;P&gt;and LFIMG ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Instead you can select only the required fields into your internal tables it_likp &amp;amp; it_lips&amp;lt;/b&amp;gt;. we must avoid select * statements . try not using into corresponding instead define your internal table according to field required. and use select field1 field2 .. from table name into table ITAB where...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) In start of selection you can have perform get_data above other perform and these three &lt;/P&gt;&lt;P&gt;PERFORM build_eventtab USING gt_events[].&lt;/P&gt;&lt;P&gt;PERFORM build_comment USING heading[].&lt;/P&gt;&lt;P&gt;PERFORM build_layout &lt;/P&gt;&lt;P&gt;can be above PERFORM display_data if itab is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just try both it might solve your problem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 12 Oct 2006 12:43:19 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-10-12T12:43:19Z</dc:date>
    <item>
      <title>Runtime Analyasis</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580806#M262065</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1.This is pgm Execute  it will take more time . how to  less time  ?&lt;/P&gt;&lt;P&gt;please Sort out  my problem?&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;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;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZRPT_MM_006.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables : likp, lips, bseg, bkpf, mara, t001w, makt,ekko,ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : gt_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA : heading TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;DATA : gt_events TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;DATA : gs_keyinfo TYPE slis_keyinfo_alv.&lt;/P&gt;&lt;P&gt;DATA : gt_sort TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;DATA : gt_sp_group TYPE slis_t_sp_group_alv.&lt;/P&gt;&lt;P&gt;DATA : g_header_tab TYPE slis_tabname.&lt;/P&gt;&lt;P&gt;DATA : g_item_tab TYPE slis_tabname.&lt;/P&gt;&lt;P&gt;DATA : g_repid TYPE sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK t1 WITH FRAME TITLE text-007 .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : s_vstel FOR likp-vstel OBLIGATORY,&lt;/P&gt;&lt;P&gt;                 s_matnr FOR lips-matnr,&lt;/P&gt;&lt;P&gt;                 s_lfdat FOR likp-lfdat OBLIGATORY,&lt;/P&gt;&lt;P&gt;                 s_matkl for mara-matkl,&lt;/P&gt;&lt;P&gt;                 s_werks for likp-werks.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : END   OF BLOCK t1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_vari LIKE disvariant-variant. " ALV Variant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of itab occurs 0,&lt;/P&gt;&lt;P&gt;        lfdat like likp-lfdat,&lt;/P&gt;&lt;P&gt;        vbeln like likp-vbeln,&lt;/P&gt;&lt;P&gt;        vstel like likp-vstel,&lt;/P&gt;&lt;P&gt;        werks like likp-werks,&lt;/P&gt;&lt;P&gt;        matnr like lips-matnr,&lt;/P&gt;&lt;P&gt;        maktx like makt-maktx,&lt;/P&gt;&lt;P&gt;        matkl like lips-matkl,&lt;/P&gt;&lt;P&gt;        lfimg like lips-lfimg,&lt;/P&gt;&lt;P&gt;        vrkme like lips-vrkme,&lt;/P&gt;&lt;P&gt;        dmbtr like bseg-dmbtr,&lt;/P&gt;&lt;P&gt;        ebeln like ekko-ebeln,&lt;/P&gt;&lt;P&gt;        ebelp like ekpo-ebelp,&lt;/P&gt;&lt;P&gt;        bedat like ekko-bedat,&lt;/P&gt;&lt;P&gt;        menge like ekpo-menge,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end of itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : it_likp like likp occurs 0 with header line,&lt;/P&gt;&lt;P&gt;       it_lips like lips occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS : formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE',&lt;/P&gt;&lt;P&gt;            formaname_foreign_top_of_page TYPE slis_formname&lt;/P&gt;&lt;P&gt;                                          VALUE 'FOREIGN_TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : g_save(1)  TYPE  c,&lt;/P&gt;&lt;P&gt;       g_exit(1)  TYPE  c,&lt;/P&gt;&lt;P&gt;       gx_variant LIKE  disvariant,&lt;/P&gt;&lt;P&gt;       g_variant  LIKE  disvariant,&lt;/P&gt;&lt;P&gt;       f2code     LIKE  sy-ucomm VALUE  '&amp;amp;ETA',&lt;/P&gt;&lt;P&gt;       layout     TYPE  slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : repid     LIKE sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.&lt;/P&gt;&lt;P&gt;  PERFORM f4_for_variant.&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;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  PERFORM pai_of_selection_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM field_cat_fill USING gt_fieldcat[].&lt;/P&gt;&lt;P&gt;  PERFORM initialize_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM build_eventtab USING gt_events[].&lt;/P&gt;&lt;P&gt;  PERFORM build_comment USING heading[].&lt;/P&gt;&lt;P&gt;  PERFORM build_layout .&lt;/P&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;P&gt;  perform process_data.&lt;/P&gt;&lt;P&gt;  PERFORM display_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&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;*&amp;amp;      Form  field_cat_fill&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;RT_FIELDCATtext&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 field_cat_fill USING&lt;/P&gt;&lt;P&gt;           rt_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : ls_fieldcat TYPE slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         v_pos TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'LFDAT'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = 'Del.Date'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen     = '10'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_pos = v_pos + 1.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'VBELN'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = 'Del.Doc.No.'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen     = '12'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_pos = v_pos + 1.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'VSTEL'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = 'Iss.Plant'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen     = '10'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_pos = v_pos + 1.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'WERKS'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = 'Rec.Plant'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen     = '10'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_pos = v_pos + 1.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'MATNR'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = 'Material code'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen     = '18'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_pos = v_pos + 1.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'MAKTX'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = 'Material Description'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen     = '40'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_pos = v_pos + 1.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'MATKL'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = 'Mat.Group'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen     = '10'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_pos = v_pos + 1.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'LFIMG'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = 'Delivery Qty.'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen     = '20'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-just          = 'R'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_pos = v_pos + 1.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'VRKME'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = 'UOM'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen     = '3'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_pos = v_pos + 1.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'DMBTR'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = 'Value'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen     = '15'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-just          = 'R'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_pos = v_pos + 1.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'EBELN'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = 'PO No'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen     = '10'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-just          = 'R'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_pos = v_pos + 1.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'EBELP'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = 'PO Item'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen     = '8'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-just          = 'R'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_pos = v_pos + 1.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'BEDAT'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = 'PO Date'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen     = '10'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-just          = 'R'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_pos = v_pos + 1.&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname     = 'MENGE'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l     = 'PO qty'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen     = '15'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-just          = 'R'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; v_pos = v_pos + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR ls_fieldcat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ls_fieldcat-col_pos       =  v_pos.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ls_fieldcat-fieldname     = 'DMBTR'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ls_fieldcat-tabname       = 'ITAB'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ls_fieldcat-seltext_l     = 'Total'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ls_fieldcat-outputlen     = '15'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ls_fieldcat-just          = 'R'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND ls_fieldcat TO  rt_fieldcat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "field_cat_fill&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  build_eventtab&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;P_EVENTS   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 build_eventtab USING p_events TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;  DATA : ls_event TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events   = p_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE p_events WITH KEY name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;                           INTO ls_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE formname_top_of_page TO ls_event-form.&lt;/P&gt;&lt;P&gt;    APPEND ls_event TO p_events.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_eventtab&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;*&amp;amp;      Form  build_comment&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;P_HEADING  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;&lt;/P&gt;&lt;P&gt;FORM build_comment USING p_heading LIKE heading.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: hline TYPE slis_listheader,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       text(60) TYPE c,&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       text1(60) type c,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       sep(20) TYPE c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       option(10).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR: hline, text.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; hline-typ  = 'H'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: 'RunDate:' TO text,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         sy-datum  TO text+9,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         'User'    TO text+23,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         sy-uname  TO text+29,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         'TCode'   TO text+45,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         sy-tcode  TO text+52.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; hline-info = text.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND hline TO p_heading.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR text.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; INCLUDE zselectionsalv.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    "build_comment&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;*&amp;amp;      Form  top_of_page&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;P&gt;FORM top_of_page.&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 = heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_vstel-low is initial.&lt;/P&gt;&lt;P&gt;    clear t001w.&lt;/P&gt;&lt;P&gt;    select single * from t001w where werks = s_vstel-low.&lt;/P&gt;&lt;P&gt;    write: / 'Issuing Plant   :', s_vstel-low, ' - ', t001w-name1.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  if not s_vstel-high is initial.&lt;/P&gt;&lt;P&gt;    clear t001w.&lt;/P&gt;&lt;P&gt;    select single * from t001w where werks = s_vstel-high.&lt;/P&gt;&lt;P&gt;    write: / ' to ', s_vstel-high, ' - ', t001w-name1.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_matnr-low is initial.&lt;/P&gt;&lt;P&gt;    write: / 'Material Code   :', s_matnr-low.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  if not s_matnr-high is initial.&lt;/P&gt;&lt;P&gt;    write: ' to ', s_matnr-high.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_lfdat-low is initial.&lt;/P&gt;&lt;P&gt;    write: / 'Duration        :', s_lfdat-low.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  if not s_lfdat-high is initial.&lt;/P&gt;&lt;P&gt;    write: ' to ', s_lfdat-high.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_matkl-low is initial.&lt;/P&gt;&lt;P&gt;    write: / 'Material Grp    :', s_matkl-low.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  if not s_matkl-high is initial.&lt;/P&gt;&lt;P&gt;    write: ' to ', s_matkl-high.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_werks-low is initial.&lt;/P&gt;&lt;P&gt;    clear t001w.&lt;/P&gt;&lt;P&gt;    select single * from t001w where werks = s_werks-low.&lt;/P&gt;&lt;P&gt;    write: / 'Receiving Plant :', s_werks-low, ' - ', t001w-name1.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  if not s_werks-high is initial.&lt;/P&gt;&lt;P&gt;    clear t001w.&lt;/P&gt;&lt;P&gt;    select single * from t001w where werks = s_werks-high.&lt;/P&gt;&lt;P&gt;    write: ' to ', s_werks-high, ' - ', t001w-name1.&lt;/P&gt;&lt;P&gt;  endif.&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;&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  display_data&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;P&gt;FORM display_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       i_callback_program              = repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        i_callback_user_command        = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_STRUCTURE_NAME               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       is_layout                      = layout&lt;/P&gt;&lt;P&gt;       it_fieldcat                    = gt_fieldcat[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_SORT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       i_default                      = 'A'&lt;/P&gt;&lt;P&gt;       i_save                         = g_save&lt;/P&gt;&lt;P&gt;       is_variant                     = g_variant&lt;/P&gt;&lt;P&gt;         it_events                      = gt_events[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IS_PRINT                       =  gt_print&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     TABLES&lt;/P&gt;&lt;P&gt;        t_outtab                       = itab&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;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.       " WRITE_ALV&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  get_data&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 get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select * from likp into corresponding fields of table it_likp&lt;/P&gt;&lt;P&gt;           where vstel IN s_vstel&lt;/P&gt;&lt;P&gt;             and lfdat IN s_lfdat&lt;/P&gt;&lt;P&gt;             and werks IN s_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT it_likp[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if p_grn is initial.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select * from lips into corresponding fields of table it_lips&lt;/P&gt;&lt;P&gt;           for all entries in it_likp&lt;/P&gt;&lt;P&gt;           where vbeln = it_likp-vbeln&lt;/P&gt;&lt;P&gt;             and matnr IN s_matnr&lt;/P&gt;&lt;P&gt;             and matkl IN s_matkl&lt;/P&gt;&lt;P&gt;             and bwart IN ('641')&lt;/P&gt;&lt;P&gt;             and LFIMG ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; else.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   select * from lips into corresponding fields of table it_lips&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            for all entries in it_likp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            where vbeln = it_likp-vbeln&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              and matnr IN s_matnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              and matkl IN s_matkl&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              and bwart IN ('642').&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&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 : it_likp, it_lips.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data&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  process_data&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;P&gt;form process_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_likp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at it_lips where vbeln = it_likp-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      move it_likp-lfdat to itab-lfdat.&lt;/P&gt;&lt;P&gt;      move it_likp-vbeln to itab-vbeln.&lt;/P&gt;&lt;P&gt;      move it_likp-vstel to itab-vstel.&lt;/P&gt;&lt;P&gt;      move it_likp-werks to itab-werks.&lt;/P&gt;&lt;P&gt;      move it_lips-matnr to itab-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear makt.&lt;/P&gt;&lt;P&gt;      select single * from makt where matnr = it_lips-matnr.&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        move makt-maktx to itab-maktx.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      move it_lips-matkl to itab-matkl.&lt;/P&gt;&lt;P&gt;      move it_lips-lfimg to itab-lfimg.&lt;/P&gt;&lt;P&gt;      move it_lips-vrkme to itab-vrkme.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear bkpf.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     if p_grn is initial.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      select single * from bkpf where xblnr = it_likp-vbeln&lt;/P&gt;&lt;P&gt;                                  and tcode = 'VL02N'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     else.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       select single * from bkpf where xblnr = it_likp-vbeln&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   and tcode = 'VL09'.&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;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        clear bseg.&lt;/P&gt;&lt;P&gt;        select single * from bseg where belnr = bkpf-belnr&lt;/P&gt;&lt;P&gt;                                    and bschl = '89'&lt;/P&gt;&lt;P&gt;                                    and shkzg = 'S'&lt;/P&gt;&lt;P&gt;                                    and ebeln = it_lips-VGBEL&lt;/P&gt;&lt;P&gt;                                    and ebelp = it_lips-vgpos.&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          move bseg-dmbtr to itab-dmbtr.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;          itab-dmbtr = 0.&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;      perform get_poinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      append itab.&lt;/P&gt;&lt;P&gt;      clear itab.&lt;/P&gt;&lt;P&gt;      clear it_lips.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear it_likp.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endform.                    "proccess_data&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;*&amp;amp;      Form  get_poinfo&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;P&gt;form get_poinfo.&lt;/P&gt;&lt;P&gt;clear : ekko,ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select single * from ekko&lt;/P&gt;&lt;P&gt;        where ebeln = it_lips-VGBEL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select single * from ekpo&lt;/P&gt;&lt;P&gt;        where ebeln = it_lips-VGBEL&lt;/P&gt;&lt;P&gt;        and ebelp = it_lips-vgpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;move : ekko-ebeln to itab-ebeln,&lt;/P&gt;&lt;P&gt;       ekko-bedat to itab-bedat,&lt;/P&gt;&lt;P&gt;       ekpo-ebelp to itab-ebelp,&lt;/P&gt;&lt;P&gt;       ekpo-menge to itab-menge.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "get_poinfo&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  f4_for_variant&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;P&gt;FORM f4_for_variant.&lt;/P&gt;&lt;P&gt;  g_save = 'A'.&lt;/P&gt;&lt;P&gt;  g_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_variant = g_variant&lt;/P&gt;&lt;P&gt;      i_save     = g_save&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_exit     = g_exit&lt;/P&gt;&lt;P&gt;      es_variant = gx_variant&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      not_found  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 2.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE 'S'      NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF g_exit = space.&lt;/P&gt;&lt;P&gt;      p_vari = gx_variant-variant.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F4_FOR_VARIANT&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;*&amp;amp;      Form  pai_of_selection_screen&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;P&gt;FORM pai_of_selection_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT p_vari IS INITIAL.&lt;/P&gt;&lt;P&gt;    MOVE g_variant TO gx_variant.&lt;/P&gt;&lt;P&gt;    MOVE p_vari TO gx_variant-variant.&lt;/P&gt;&lt;P&gt;    gx_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_save     = g_save&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        cs_variant = gx_variant.&lt;/P&gt;&lt;P&gt;    g_variant = gx_variant.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM initialize_variant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " PAI_OF_SELECTION_SCREEN&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;*&amp;amp;      Form  initialize_variant&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;P&gt;FORM initialize_variant.&lt;/P&gt;&lt;P&gt;  g_save = 'A'.&lt;/P&gt;&lt;P&gt;  CLEAR g_variant.&lt;/P&gt;&lt;P&gt;  g_variant-report = repid.&lt;/P&gt;&lt;P&gt;  gx_variant = g_variant.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_save     = g_save&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      cs_variant = gx_variant&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      not_found  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    p_vari = gx_variant-variant.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " INITIALIZE_VARIANT&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;*&amp;amp;      Form  build_layout&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;P&gt;FORM build_layout.&lt;/P&gt;&lt;P&gt;  layout-f2code       = f2code.&lt;/P&gt;&lt;P&gt;  layout-zebra        = 'X'.&lt;/P&gt;&lt;P&gt;  layout-detail_popup = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;layout-no_vline      = ' '.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    "build_layout&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Oct 2006 12:23:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580806#M262065</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-12T12:23:01Z</dc:date>
    </item>
    <item>
      <title>Re: Runtime Analyasis</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580807#M262066</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In form process_data,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Loop inside Loop not permitted.&lt;/P&gt;&lt;P&gt;2. Select Query Inseide loop not at all permitted. Use FOR ALL ENTRIES...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Oct 2006 12:27:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580807#M262066</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-12T12:27:32Z</dc:date>
    </item>
    <item>
      <title>Re: Runtime Analyasis</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580808#M262067</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. First all remove all select * and select only the fields which you require for processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Since LIKP and LIPS are header and item table you can put a join between them, so that you can reduce a select&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. You need to remove select single * from BKPF and BSEG inside the LOOP and write it outside the LOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. Remove perform get_poinfo inside the LOOP and execute it separately.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. Inside this perform get_poinfo, EKKO and EKPO are header and item level tables. So a inner join can be put on those tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will improve the performance of the report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;JLN.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Oct 2006 12:30:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580808#M262067</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-12T12:30:39Z</dc:date>
    </item>
    <item>
      <title>Re: Runtime Analyasis</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580809#M262068</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.In your select statements from LIKP,LIPS select required fields only. Use join for tables LIKP &amp;amp; Lips. &lt;/P&gt;&lt;P&gt;2.If required create index on table with fields vstel&lt;/P&gt;&lt;P&gt;lfdat &amp;amp; werks.&lt;/P&gt;&lt;P&gt;3.Avoid using nested loops. This would take more abap time.&lt;/P&gt;&lt;P&gt;4.Take out select single statements outside the loop and retreive data by using for all entries . Inside the loop do the same logic by using read statements ( Binary search).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These steps will definetly improve performance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sudheer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Oct 2006 12:32:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580809#M262068</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-12T12:32:38Z</dc:date>
    </item>
    <item>
      <title>Re: Runtime Analyasis</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580810#M262069</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can also use the transaction SE30 and monitor the program for the statements which are taking more time to excute.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Oct 2006 12:32:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580810#M262069</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-12T12:32:38Z</dc:date>
    </item>
    <item>
      <title>Re: Runtime Analyasis</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580811#M262070</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would advice to couple the below query into one...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * from likp into corresponding fields of table it_likp&lt;/P&gt;&lt;P&gt;where vstel IN s_vstel&lt;/P&gt;&lt;P&gt;and lfdat IN s_lfdat&lt;/P&gt;&lt;P&gt;and werks IN s_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CHECK NOT it_likp[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if p_grn is initial.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * from lips into corresponding fields of table it_lips&lt;/P&gt;&lt;P&gt;for all entries in it_likp&lt;/P&gt;&lt;P&gt;where vbeln = it_likp-vbeln&lt;/P&gt;&lt;P&gt;and matnr IN s_matnr&lt;/P&gt;&lt;P&gt;and matkl IN s_matkl&lt;/P&gt;&lt;P&gt;and bwart IN ('641')&lt;/P&gt;&lt;P&gt;and LFIMG ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Change it to --&amp;gt;&lt;/P&gt;&lt;P&gt;--&amp;gt;Also instead of all fields list the ones you are planning to use.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select {list of fields}&lt;/P&gt;&lt;P&gt;into corresponding fields of table it_lips&lt;/P&gt;&lt;P&gt;from lips as a inner join likp as b on a&lt;SUB&gt;vbeln = b&lt;/SUB&gt;vbeln&lt;/P&gt;&lt;P&gt;where a~matnr IN s_matnr&lt;/P&gt;&lt;P&gt;and a~matkl IN s_matkl&lt;/P&gt;&lt;P&gt;and a~bwart IN ('641')&lt;/P&gt;&lt;P&gt;and a~LFIMG ne 0 &lt;/P&gt;&lt;P&gt;and b~vstel IN s_vstel&lt;/P&gt;&lt;P&gt;and b~lfdat IN s_lfdat&lt;/P&gt;&lt;P&gt;and b~werks IN s_werks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Oct 2006 12:33:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580811#M262070</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-12T12:33:44Z</dc:date>
    </item>
    <item>
      <title>Re: Runtime Analyasis</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580812#M262071</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi vijay&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding your program to reduce the execution time you can do following things in your program :&lt;/P&gt;&lt;P&gt;1) Avoid the following select * statements in the &lt;/P&gt;&lt;P&gt;   FORM get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * from likp into corresponding fields of table it_likp&lt;/P&gt;&lt;P&gt;where vstel IN s_vstel&lt;/P&gt;&lt;P&gt;and lfdat IN s_lfdat&lt;/P&gt;&lt;P&gt;and werks IN s_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * from lips into corresponding fields of table it_lips&lt;/P&gt;&lt;P&gt;for all entries in it_likp&lt;/P&gt;&lt;P&gt;where vbeln = it_likp-vbeln&lt;/P&gt;&lt;P&gt;and matnr IN s_matnr&lt;/P&gt;&lt;P&gt;and matkl IN s_matkl&lt;/P&gt;&lt;P&gt;and bwart IN ('641')&lt;/P&gt;&lt;P&gt;and LFIMG ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Instead you can select only the required fields into your internal tables it_likp &amp;amp; it_lips&amp;lt;/b&amp;gt;. we must avoid select * statements . try not using into corresponding instead define your internal table according to field required. and use select field1 field2 .. from table name into table ITAB where...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) In start of selection you can have perform get_data above other perform and these three &lt;/P&gt;&lt;P&gt;PERFORM build_eventtab USING gt_events[].&lt;/P&gt;&lt;P&gt;PERFORM build_comment USING heading[].&lt;/P&gt;&lt;P&gt;PERFORM build_layout &lt;/P&gt;&lt;P&gt;can be above PERFORM display_data if itab is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just try both it might solve your problem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Oct 2006 12:43:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580812#M262071</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-10-12T12:43:19Z</dc:date>
    </item>
    <item>
      <title>Re: Runtime Analyasis</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580813#M262072</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;     Most of the performance problems are due to the database statements. Open SQl statements. Please use the columns names instead of '*' where ever possible and avoid into corresponding fileds of table. This is a costly operation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where ever you use select single try and see if you can implement signle record buffering for the table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where ever possible dont use negative statements in Where clause and avoid using IN for range tables unless it is very important for your functionality.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Never execute select in a loop, try and see if you can use into table and appending table instead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * into table itab or&lt;/P&gt;&lt;P&gt;select * appending table itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope the above will help you.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sesh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Seshatalpasai Madala&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Oct 2006 12:50:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/runtime-analyasis/m-p/1580813#M262072</guid>
      <dc:creator>seshatalpasai_madala</dc:creator>
      <dc:date>2006-10-12T12:50:57Z</dc:date>
    </item>
  </channel>
</rss>

