<?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: help on performance in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778845#M335742</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How long is the range of dates between p_erdat1 and p_erdat2. There is an index on this field, so that should help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On the other hand, maybe it doesn't like the BETWEEN. Have you tried:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
  SELECT vbeln netwr vgbel FROM vbak
    INTO CORRESPONDING FIELDS OF TABLE zvbak
    WHERE erdat &amp;gt;= p_erdat1
      AND erdat &amp;lt;= p_erdat2 ....
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 06 Dec 2006 17:37:45 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-12-06T17:37:45Z</dc:date>
    <item>
      <title>help on performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778840#M335737</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;/P&gt;&lt;P&gt;ALL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am new to this forum &lt;/P&gt;&lt;P&gt;I am jez learning ABAP . I anm sure that this site will help me grow in SAP via the help of all the gurus &lt;/P&gt;&lt;P&gt;I thank U all in advance &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have written a code and there is a Performance issue . The particular form 'cal_no_of_orders' is taking lotof time say more than 5 mins to execute can anyone suggest me the better way of writing this where I need to pass the valid to and valid from dates to calculate the noof orders and dollars . please tell me the flaw inthe code &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report orders .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   DICTIONARY TABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;tables: vbak,            "Sales Document: Header Data&lt;/P&gt;&lt;P&gt;        vbpa,            "Sales Document: Partner&lt;/P&gt;&lt;P&gt;        vbuk,  "Sales Document: Header Status and Administrative Data&lt;/P&gt;&lt;P&gt;        adrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV Declarations                                                     *&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;type-pools: slis, kkblo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: g_repid      like  sy-repid,&lt;/P&gt;&lt;P&gt;      gs_layout    type  slis_layout_alv,&lt;/P&gt;&lt;P&gt;      gt_fieldcat  type  slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      fieldcat_in  like  line of  gt_fieldcat,&lt;/P&gt;&lt;P&gt;      cos_pos      type  i,&lt;/P&gt;&lt;P&gt;      months like komp-anz_monate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: g_anzlines  type  i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : t_list_top_of_page type slis_t_listheader.&lt;/P&gt;&lt;P&gt;data : t_list_end_of_list type slis_t_listheader.&lt;/P&gt;&lt;P&gt;data : t_events type slis_t_event.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  DATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;data: gv_netwr like vbak-netwr,&lt;/P&gt;&lt;P&gt;      gv_netwr0 like vbak-netwr,&lt;/P&gt;&lt;P&gt;      zvbeln like vbak-vbeln,&lt;/P&gt;&lt;P&gt;      gv_count(6) type n,&lt;/P&gt;&lt;P&gt;      gv_count0(6) type n,&lt;/P&gt;&lt;P&gt;      erdat1 like vbak-erdat,&lt;/P&gt;&lt;P&gt;      erdat2 like vbak-erdat,&lt;/P&gt;&lt;P&gt;      vkorg like vbak-vkorg,&lt;/P&gt;&lt;P&gt;      erdat(25),&lt;/P&gt;&lt;P&gt;      hyphen(3) value '---',&lt;/P&gt;&lt;P&gt;      p_name1 like adrc-name1,&lt;/P&gt;&lt;P&gt;      zlines type i.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  INTERNAL TABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of zvbak occurs 0,&lt;/P&gt;&lt;P&gt;       vbeln like vbak-vbeln,                "order no&lt;/P&gt;&lt;P&gt;       vgbel like vbak-vgbel,                "reference doc num&lt;/P&gt;&lt;P&gt;       netwr like vbak-netwr,                " amount&lt;/P&gt;&lt;P&gt;      end of zvbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: zvbak0 like zvbak occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of zvbpa occurs 0,&lt;/P&gt;&lt;P&gt;        vbeln like vbpa-vbeln,&lt;/P&gt;&lt;P&gt;        parvw like vbpa-parvw,        " partner function&lt;/P&gt;&lt;P&gt;        kunnr like vbpa-kunnr,&lt;/P&gt;&lt;P&gt;        adrnr like vbpa-adrnr,&lt;/P&gt;&lt;P&gt;        netwr like vbak-netwr,&lt;/P&gt;&lt;P&gt;        name1 like adrc-name1,&lt;/P&gt;&lt;P&gt;      end of zvbpa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: zvbpa0 like zvbpa occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data: alv_tab like zvbpa occurs 0 with header line,&lt;/P&gt;&lt;P&gt;      alv_dat like zvbpa occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of zvbuk occurs 0,&lt;/P&gt;&lt;P&gt;       vbeln like vbak-vbeln,&lt;/P&gt;&lt;P&gt;       netwr like vbak-netwr,&lt;/P&gt;&lt;P&gt; end of zvbuk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of ztab_period occurs 0.&lt;/P&gt;&lt;P&gt;        include structure scscp_period_str.&lt;/P&gt;&lt;P&gt;data:   name(10) type c,&lt;/P&gt;&lt;P&gt;      end of ztab_period.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data ztab_period0 like ztab_period occurs 0 with header line.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  SELECTION SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;selection-screen begin of block b with frame title text-001 .&lt;/P&gt;&lt;P&gt;select-options:  s_erdat for vbak-erdat obligatory,&lt;/P&gt;&lt;P&gt;                 s_vkorg for vbak-vkorg obligatory.&lt;/P&gt;&lt;P&gt;selection-screen end of block b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INITIALIZATION.&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;initialization.&lt;/P&gt;&lt;P&gt;  g_repid = sy-repid.&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;*START-OF-SELECTION.&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;start-of-selection.&lt;/P&gt;&lt;P&gt;  perform select_orders.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**END-OF-SELECTION.&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;end-of-selection.&lt;/P&gt;&lt;P&gt;  describe table alv_tab lines g_anzlines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if g_anzlines gt 0.&lt;/P&gt;&lt;P&gt;    perform display_list.&lt;/P&gt;&lt;P&gt;  endif.&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  select_orders&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 select_orders.&lt;/P&gt;&lt;P&gt;  data: gv_index like sy-tabix,&lt;/P&gt;&lt;P&gt;       ztab like ztab_period,&lt;/P&gt;&lt;P&gt;       erdath like vbak-erdat,&lt;/P&gt;&lt;P&gt;       erdat_h like vbak-erdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  erdat1 = s_erdat-low(8).&lt;/P&gt;&lt;P&gt;  erdath = s_erdat-high(8).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  concatenate erdat1 hyphen erdat_h erdath into erdat.&lt;/P&gt;&lt;P&gt;  vkorg = s_vkorg+3(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*calculate the no of orders and dollars month wise from the selection&lt;/P&gt;&lt;P&gt;*date&lt;/P&gt;&lt;P&gt;  call function 'CSCP_PARA1_GET_PERIODS'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            i_datuv    = s_erdat-low&lt;/P&gt;&lt;P&gt;            i_datub    = s_erdat-high&lt;/P&gt;&lt;P&gt;            i_timeunit = 'D'&lt;/P&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            et_dates   = ztab_period.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append ztab_period.&lt;/P&gt;&lt;P&gt;  clear ztab_period.&lt;/P&gt;&lt;P&gt;  clear gv_index.&lt;/P&gt;&lt;P&gt;*calculate the names of the months&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort ztab_period by datuv.&lt;/P&gt;&lt;P&gt;  describe table ztab_period lines zlines.&lt;/P&gt;&lt;P&gt;  loop at ztab_period.&lt;/P&gt;&lt;P&gt;    gv_index = sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*always delete first record inthe internal table&lt;/P&gt;&lt;P&gt;    if ztab_period-sindex = 1.&lt;/P&gt;&lt;P&gt;      delete ztab_period.&lt;/P&gt;&lt;P&gt;      clear ztab_period.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Assign Month name and calculate no of orders&lt;/P&gt;&lt;P&gt;  clear gv_index.&lt;/P&gt;&lt;P&gt;  loop at ztab_period.&lt;/P&gt;&lt;P&gt;    gv_index = sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if ztab_period-datuv+4(2) = '01'.&lt;/P&gt;&lt;P&gt;      move 'JANUARY'  to ztab_period-name.&lt;/P&gt;&lt;P&gt;      loop at ztab_period into ztab.&lt;/P&gt;&lt;P&gt;        if ztab_period-datuv+4(2) = '01'.&lt;/P&gt;&lt;P&gt;          move ztab_period-datuv to ztab-datuv.&lt;/P&gt;&lt;P&gt;          move ztab_period-datub to ztab-datub.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        erdat1 = ztab-datuv.&lt;/P&gt;&lt;P&gt;        erdat2 = ztab-datub.&lt;/P&gt;&lt;P&gt;        perform cal_no_of_orders tables    alv_dat&lt;/P&gt;&lt;P&gt;                                 using     erdat1 erdat2&lt;/P&gt;&lt;P&gt;                                 changing  gv_count0 gv_netwr0.&lt;/P&gt;&lt;P&gt;        modify ztab_period index gv_index.&lt;/P&gt;&lt;P&gt;        clear : erdat1 , ztab-datuv, erdat2, ztab-datub.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear: erdat1, erdat2, ztab_period-datuv, ztab_period-datub, ztab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif ztab_period-datuv+4(2) = '02'.&lt;/P&gt;&lt;P&gt;      move 'FEBRUARY' to ztab_period-name.&lt;/P&gt;&lt;P&gt;      loop at ztab_period into ztab.&lt;/P&gt;&lt;P&gt;        if ztab_period-datuv+4(2) = '02'.&lt;/P&gt;&lt;P&gt;          move ztab_period-datuv to ztab-datuv.&lt;/P&gt;&lt;P&gt;          move ztab_period-datub to ztab-datub.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        erdat1 = ztab-datuv.&lt;/P&gt;&lt;P&gt;        erdat2 = ztab-datub.&lt;/P&gt;&lt;P&gt;        perform cal_no_of_orders tables    alv_dat&lt;/P&gt;&lt;P&gt;                                 using     erdat1 erdat2&lt;/P&gt;&lt;P&gt;                                 changing  gv_count0 gv_netwr0.&lt;/P&gt;&lt;P&gt;        modify ztab_period index gv_index.&lt;/P&gt;&lt;P&gt;        clear : erdat1 , ztab-datuv, erdat2, ztab-datub.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear: erdat1, erdat2, ztab_period-datuv, ztab_period-datub, ztab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif ztab_period-datuv+4(2) = '03'.&lt;/P&gt;&lt;P&gt;      move 'MARCH' to ztab_period-name.&lt;/P&gt;&lt;P&gt;      loop at ztab_period into ztab.&lt;/P&gt;&lt;P&gt;        if ztab_period-datuv+4(2) = '03'.&lt;/P&gt;&lt;P&gt;          move ztab_period-datuv to ztab-datuv.&lt;/P&gt;&lt;P&gt;          move ztab_period-datub to ztab-datub.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        erdat1 = ztab-datuv.&lt;/P&gt;&lt;P&gt;        erdat2 = ztab-datub.&lt;/P&gt;&lt;P&gt;        perform cal_no_of_orders tables    alv_dat&lt;/P&gt;&lt;P&gt;                                 using     erdat1 erdat2&lt;/P&gt;&lt;P&gt;                                 changing  gv_count0 gv_netwr0.&lt;/P&gt;&lt;P&gt;        modify ztab_period index gv_index.&lt;/P&gt;&lt;P&gt;        clear : erdat1 , ztab-datuv, erdat2, ztab-datub.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear: erdat1, erdat2, ztab_period-datuv, ztab_period-datub, ztab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif ztab_period-datuv+4(2) = '04'.&lt;/P&gt;&lt;P&gt;      move 'APRIL' to ztab_period-name.&lt;/P&gt;&lt;P&gt;      loop at ztab_period into ztab.&lt;/P&gt;&lt;P&gt;        if ztab_period-datuv+4(2) = '04'.&lt;/P&gt;&lt;P&gt;          move ztab_period-datuv to ztab-datuv.&lt;/P&gt;&lt;P&gt;          move ztab_period-datub to ztab-datub.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        erdat1 = ztab-datuv.&lt;/P&gt;&lt;P&gt;        erdat2 = ztab-datub.&lt;/P&gt;&lt;P&gt;        perform cal_no_of_orders tables    alv_dat&lt;/P&gt;&lt;P&gt;                                 using     erdat1 erdat2&lt;/P&gt;&lt;P&gt;                                 changing  gv_count0 gv_netwr0.&lt;/P&gt;&lt;P&gt;        modify ztab_period index gv_index.&lt;/P&gt;&lt;P&gt;        clear : erdat1 , ztab-datuv, erdat2, ztab-datub.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear: erdat1, erdat2, ztab_period-datuv, ztab_period-datub, ztab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif ztab_period-datuv+4(2) = '05'.&lt;/P&gt;&lt;P&gt;      move 'MAY' to ztab_period-name.&lt;/P&gt;&lt;P&gt;      loop at ztab_period into ztab.&lt;/P&gt;&lt;P&gt;        if ztab_period-datuv+4(2) = '05'.&lt;/P&gt;&lt;P&gt;          move ztab_period-datuv to ztab-datuv.&lt;/P&gt;&lt;P&gt;          move ztab_period-datub to ztab-datub.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        erdat1 = ztab-datuv.&lt;/P&gt;&lt;P&gt;        erdat2 = ztab-datub.&lt;/P&gt;&lt;P&gt;        perform cal_no_of_orders tables    alv_dat&lt;/P&gt;&lt;P&gt;                                 using     erdat1 erdat2&lt;/P&gt;&lt;P&gt;                                 changing  gv_count0 gv_netwr0.&lt;/P&gt;&lt;P&gt;        modify ztab_period index gv_index.&lt;/P&gt;&lt;P&gt;        clear : erdat1 , ztab-datuv, erdat2, ztab-datub.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear: erdat1, erdat2, ztab_period-datuv, ztab_period-datub, ztab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif ztab_period-datuv+4(2) = '06'.&lt;/P&gt;&lt;P&gt;      move 'JUNE' to ztab_period-name.&lt;/P&gt;&lt;P&gt;      loop at ztab_period into ztab.&lt;/P&gt;&lt;P&gt;        if ztab_period-datuv+4(2) = '06'.&lt;/P&gt;&lt;P&gt;          move ztab_period-datuv to ztab-datuv.&lt;/P&gt;&lt;P&gt;          move ztab_period-datub to ztab-datub.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        erdat1 = ztab-datuv.&lt;/P&gt;&lt;P&gt;        erdat2 = ztab-datub.&lt;/P&gt;&lt;P&gt;        perform cal_no_of_orders tables    alv_dat&lt;/P&gt;&lt;P&gt;                                 using     erdat1 erdat2&lt;/P&gt;&lt;P&gt;                                 changing  gv_count0 gv_netwr0.&lt;/P&gt;&lt;P&gt;        modify ztab_period index gv_index.&lt;/P&gt;&lt;P&gt;        clear : erdat1 , ztab-datuv, erdat2, ztab-datub.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear: erdat1, erdat2, ztab_period-datuv, ztab_period-datub, ztab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif ztab_period-datuv+4(2) = '07'.&lt;/P&gt;&lt;P&gt;      move 'JULY' to ztab_period-name.&lt;/P&gt;&lt;P&gt;      loop at ztab_period into ztab.&lt;/P&gt;&lt;P&gt;        if ztab_period-datuv+4(2) = '07'.&lt;/P&gt;&lt;P&gt;          move ztab_period-datuv to ztab-datuv.&lt;/P&gt;&lt;P&gt;          move ztab_period-datub to ztab-datub.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        erdat1 = ztab-datuv.&lt;/P&gt;&lt;P&gt;        erdat2 = ztab-datub.&lt;/P&gt;&lt;P&gt;        perform cal_no_of_orders tables    alv_dat&lt;/P&gt;&lt;P&gt;                                 using     erdat1 erdat2&lt;/P&gt;&lt;P&gt;                                 changing  gv_count0 gv_netwr0.&lt;/P&gt;&lt;P&gt;        modify ztab_period index gv_index.&lt;/P&gt;&lt;P&gt;        clear : erdat1 , ztab-datuv, erdat2, ztab-datub.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear: erdat1, erdat2, ztab_period-datuv, ztab_period-datub, ztab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif ztab_period-datuv+4(2) = '08'.&lt;/P&gt;&lt;P&gt;      move 'AUGUST' to ztab_period-name.&lt;/P&gt;&lt;P&gt;      loop at ztab_period into ztab.&lt;/P&gt;&lt;P&gt;        if ztab_period-datuv+4(2) = '08'.&lt;/P&gt;&lt;P&gt;          move ztab_period-datuv to ztab-datuv.&lt;/P&gt;&lt;P&gt;          move ztab_period-datub to ztab-datub.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        erdat1 = ztab-datuv.&lt;/P&gt;&lt;P&gt;        erdat2 = ztab-datub.&lt;/P&gt;&lt;P&gt;        perform cal_no_of_orders tables    alv_dat&lt;/P&gt;&lt;P&gt;                                 using     erdat1 erdat2&lt;/P&gt;&lt;P&gt;                                 changing  gv_count0 gv_netwr0.&lt;/P&gt;&lt;P&gt;        modify ztab_period index gv_index.&lt;/P&gt;&lt;P&gt;        clear : erdat1 , ztab-datuv, erdat2, ztab-datub.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear: erdat1, erdat2, ztab_period-datuv, ztab_period-datub, ztab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif ztab_period-datuv+4(2) = '09'.&lt;/P&gt;&lt;P&gt;      move 'SEPTEMBER' to ztab_period-name.&lt;/P&gt;&lt;P&gt;      loop at ztab_period into ztab.&lt;/P&gt;&lt;P&gt;        if ztab_period-datuv+4(2) = '09'.&lt;/P&gt;&lt;P&gt;          move ztab_period-datuv to ztab-datuv.&lt;/P&gt;&lt;P&gt;          move ztab_period-datub to ztab-datub.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        erdat1 = ztab-datuv.&lt;/P&gt;&lt;P&gt;        erdat2 = ztab-datub.&lt;/P&gt;&lt;P&gt;        perform cal_no_of_orders tables    alv_dat&lt;/P&gt;&lt;P&gt;                                 using     erdat1 erdat2&lt;/P&gt;&lt;P&gt;                                 changing  gv_count0 gv_netwr0.&lt;/P&gt;&lt;P&gt;        modify ztab_period index gv_index.&lt;/P&gt;&lt;P&gt;        clear : erdat1 , ztab-datuv, erdat2, ztab-datub.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear: erdat1, erdat2, ztab_period-datuv, ztab_period-datub, ztab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif ztab_period-datuv+4(2) = '10'.&lt;/P&gt;&lt;P&gt;      move 'OCTOBER' to ztab_period-name.&lt;/P&gt;&lt;P&gt;      loop at ztab_period into ztab.&lt;/P&gt;&lt;P&gt;        if ztab_period-datuv+4(2) = '10'.&lt;/P&gt;&lt;P&gt;          move ztab_period-datuv to ztab-datuv.&lt;/P&gt;&lt;P&gt;          move ztab_period-datub to ztab-datub.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        erdat1 = ztab-datuv.&lt;/P&gt;&lt;P&gt;        erdat2 = ztab-datub.&lt;/P&gt;&lt;P&gt;        perform cal_no_of_orders tables    alv_dat&lt;/P&gt;&lt;P&gt;                                 using     erdat1 erdat2&lt;/P&gt;&lt;P&gt;                                 changing  gv_count0 gv_netwr0.&lt;/P&gt;&lt;P&gt;        modify ztab_period index gv_index.&lt;/P&gt;&lt;P&gt;        clear : erdat1 , ztab-datuv, erdat2, ztab-datub.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear: erdat1, erdat2, ztab_period-datuv, ztab_period-datub, ztab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif ztab_period-datuv+4(2) = '11'.&lt;/P&gt;&lt;P&gt;      move 'NOVEMBER' to ztab_period-name.&lt;/P&gt;&lt;P&gt;      loop at ztab_period into ztab.&lt;/P&gt;&lt;P&gt;        if ztab_period-datuv+4(2) = '11'.&lt;/P&gt;&lt;P&gt;          move ztab_period-datuv to ztab-datuv.&lt;/P&gt;&lt;P&gt;          move ztab_period-datub to ztab-datub.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        erdat1 = ztab-datuv.&lt;/P&gt;&lt;P&gt;        erdat2 = ztab-datub.&lt;/P&gt;&lt;P&gt;        perform cal_no_of_orders tables    alv_dat&lt;/P&gt;&lt;P&gt;                                 using     erdat1 erdat2&lt;/P&gt;&lt;P&gt;                                 changing  gv_count0 gv_netwr0.&lt;/P&gt;&lt;P&gt;        modify ztab_period index gv_index.&lt;/P&gt;&lt;P&gt;        clear : erdat1 , ztab-datuv, erdat2, ztab-datub.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear: erdat1, erdat2, ztab_period-datuv, ztab_period-datub, ztab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    elseif ztab_period-datuv+4(2) = '12'.&lt;/P&gt;&lt;P&gt;      move 'DECEMBER' to ztab_period-name.&lt;/P&gt;&lt;P&gt;      loop at ztab_period into ztab.&lt;/P&gt;&lt;P&gt;        if ztab_period-datuv+4(2) = '12'.&lt;/P&gt;&lt;P&gt;          move ztab_period-datuv to ztab-datuv.&lt;/P&gt;&lt;P&gt;          move ztab_period-datub to ztab-datub.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        erdat1 = ztab-datuv.&lt;/P&gt;&lt;P&gt;        erdat2 = ztab-datub.&lt;/P&gt;&lt;P&gt;        perform cal_no_of_orders tables    alv_dat&lt;/P&gt;&lt;P&gt;                                 using     erdat1 erdat2&lt;/P&gt;&lt;P&gt;                                 changing  gv_count0 gv_netwr0.&lt;/P&gt;&lt;P&gt;        modify ztab_period index gv_index.&lt;/P&gt;&lt;P&gt;        clear : erdat1 , ztab-datuv, erdat2, ztab-datub.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear: erdat1, erdat2, ztab_period-datuv, ztab_period-datub, ztab.&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;    clear ztab_period-datuv+4(2).&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endform.                    " select_orders&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_LIST&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form display_list.&lt;/P&gt;&lt;P&gt;  g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform fillevents.&lt;/P&gt;&lt;P&gt;  perform comment_build using  t_list_top_of_page.&lt;/P&gt;&lt;P&gt;  perform create_layout.&lt;/P&gt;&lt;P&gt;  perform create_fieldcat.&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;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                = g_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;LI level="1" type="ul"&gt;&lt;P&gt;    I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     i_callback_top_of_page            =  'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_GRID_SETTINGS                   = gs_settings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     is_layout                         = gs_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                           = 'X'&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;LI level="1" type="ul"&gt;&lt;P&gt;    I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     i_save                            = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     it_events                         = t_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                          =&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;    IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_HTML_HEIGHT_TOP                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_HTML_HEIGHT_END                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EXCEPT_QINFO                   =&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;    tables&lt;/P&gt;&lt;P&gt;      t_outtab                          = alv_tab&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    OTHERS                            = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&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;endform.                    " DISPLAY_LIST&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  comment_build&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_t_list_top_of_page  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 comment_build using     t_list_top_of_page type slis_t_listheader.&lt;/P&gt;&lt;P&gt;  data : ls_line type slis_listheader.&lt;/P&gt;&lt;P&gt;  data : ldate(10),hdate(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  refresh :  t_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-info = sy-repid.&lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  ls_line-info = 'ORDERS AND DOLLARS REPORT'.&lt;/P&gt;&lt;P&gt;  append ls_line to  t_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write sy-datum to ldate using edit mask '__.__.____' .&lt;/P&gt;&lt;P&gt;  clear ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'A'.&lt;/P&gt;&lt;P&gt;  concatenate 'Run Date :' ldate&lt;/P&gt;&lt;P&gt;                into ls_line-info separated by space.&lt;/P&gt;&lt;P&gt;  append ls_line to  t_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'A'.&lt;/P&gt;&lt;P&gt;  ls_line-info = 'User ID   :'.&lt;/P&gt;&lt;P&gt;  ls_line-info+12 = sy-uname.&lt;/P&gt;&lt;P&gt;  append ls_line to  t_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ = 'A'.&lt;/P&gt;&lt;P&gt;  ls_line-info = 'No OF ORDERS   :'.&lt;/P&gt;&lt;P&gt;  ls_line-info+17 = gv_count.&lt;/P&gt;&lt;P&gt;  append ls_line to  t_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ = 'A'.&lt;/P&gt;&lt;P&gt;  ls_line-info = 'TOTAL dOLLAR AMOUNT   :'.&lt;/P&gt;&lt;P&gt;  ls_line-info+25 = gv_netwr.&lt;/P&gt;&lt;P&gt;  append ls_line to  t_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ = 'A'.&lt;/P&gt;&lt;P&gt;  ls_line-info = 'Date Range for Documents   :'.&lt;/P&gt;&lt;P&gt;  ls_line-info+25 = erdat.&lt;/P&gt;&lt;P&gt;  append ls_line to  t_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ = 'A'.&lt;/P&gt;&lt;P&gt;  ls_line-info = 'Sales Organization   :'.&lt;/P&gt;&lt;P&gt;  ls_line-info+25 = vkorg.&lt;/P&gt;&lt;P&gt;  append ls_line to  t_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " comment_build&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  fillevents&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 fillevents.&lt;/P&gt;&lt;P&gt;  data l_events type line of slis_t_event.&lt;/P&gt;&lt;P&gt;  clear l_events.&lt;/P&gt;&lt;P&gt;  l_events-name = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  l_events-form = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  append l_events to t_events.&lt;/P&gt;&lt;P&gt;*perform top-of-page1.&lt;/P&gt;&lt;P&gt;endform.                    " fillevents&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  create_fieldcat&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 create_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform fill_fieldcat using 'KUNNR' 'ALV_TAB' 'SOLD-TO-PARTY' '1' ''.&lt;/P&gt;&lt;P&gt;  perform fill_fieldcat using 'NAME1' 'ALV_TAB' 'NAME' '2' ''.&lt;/P&gt;&lt;P&gt;  perform fill_fieldcat using 'NETWR' 'ALV_TAB' 'NETVALUE' '3' ''.&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.                    " create_fieldcat&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  create_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;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 create_layout.&lt;/P&gt;&lt;P&gt;  gs_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  gs_layout-zebra             = 'X'.&lt;/P&gt;&lt;P&gt;  gs_layout-no_totalline      = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " create_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;P&gt;*&amp;amp;      Form  fill_fieldcat&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_0564   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0565   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0566   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0567   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0568   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 fill_fieldcat using    p_fname&lt;/P&gt;&lt;P&gt;                   p_tabname&lt;/P&gt;&lt;P&gt;                   p_seltext&lt;/P&gt;&lt;P&gt;                   p_colpos&lt;/P&gt;&lt;P&gt;                   p_do_sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear fieldcat_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcat_in-fieldname  =  p_fname.&lt;/P&gt;&lt;P&gt;  fieldcat_in-tabname    =  p_tabname.&lt;/P&gt;&lt;P&gt;  fieldcat_in-seltext_m  =  p_seltext.&lt;/P&gt;&lt;P&gt;  fieldcat_in-col_pos    =  p_colpos.&lt;/P&gt;&lt;P&gt;  fieldcat_in-do_sum     = p_do_sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append fieldcat_in to gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " fill_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;*&amp;amp;      Form TOP_OF_PAGE&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;            i_logo             = 'ENJOYSAP_LOGO'&lt;/P&gt;&lt;P&gt;            it_list_commentary = t_list_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&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  cal_no_of_orders&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_ALV_DAT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_ERDAT1  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_ERDAT2  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_KUNNR  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GV_COUNT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GV_NETWR  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GV_NAME1  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 cal_no_of_orders tables   atv_tab&lt;/P&gt;&lt;P&gt;                      using    p_erdat1&lt;/P&gt;&lt;P&gt;                               p_erdat2&lt;/P&gt;&lt;P&gt;                      changing p_gv_count&lt;/P&gt;&lt;P&gt;                               p_gv_netwr.&lt;/P&gt;&lt;P&gt;  data: g_tabix  like sy-tabix,&lt;/P&gt;&lt;P&gt;          gv_index like sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Select Orders Processed&lt;/P&gt;&lt;P&gt;  select  vbeln netwr vgbel from vbak&lt;/P&gt;&lt;P&gt;        into corresponding fields of table zvbak where&lt;/P&gt;&lt;P&gt;        erdat between p_erdat1 and p_erdat2 and&lt;/P&gt;&lt;P&gt;        vkorg in s_vkorg and&lt;/P&gt;&lt;P&gt;        vgbel ne space and&lt;/P&gt;&lt;P&gt;        auart = 'TA'   and&lt;/P&gt;&lt;P&gt;        ( ( bsark = 'DFUA' ) or&lt;/P&gt;&lt;P&gt;          ( bsark = 'DFUE' ) or&lt;/P&gt;&lt;P&gt;          ( bsark = 'DFUI' )  ).&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    clear sy-subrc .&lt;/P&gt;&lt;P&gt;    select vbeln parvw kunnr adrnr from vbpa&lt;/P&gt;&lt;P&gt;            into corresponding fields of table zvbpa&lt;/P&gt;&lt;P&gt;            for all entries  in zvbak&lt;/P&gt;&lt;P&gt;            where vbeln = zvbak-vgbel&lt;/P&gt;&lt;P&gt;            and  parvw = 'AG'.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      loop at zvbpa.&lt;/P&gt;&lt;P&gt;        g_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;        read table zvbak with key vgbel = zvbpa-vbeln.&lt;/P&gt;&lt;P&gt;        if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;          move :zvbak-netwr to zvbpa-netwr.&lt;/P&gt;&lt;P&gt;          modify zvbpa index g_tabix.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        select single name1 into (p_name1 )&lt;/P&gt;&lt;P&gt;                            from adrc&lt;/P&gt;&lt;P&gt;                            where addrnumber = zvbpa-adrnr.&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          move p_name1 to zvbpa-name1.&lt;/P&gt;&lt;P&gt;          modify zvbpa index g_tabix.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;move Processed Orders to ALV display table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at zvbpa.&lt;/P&gt;&lt;P&gt;    move-corresponding zvbpa to alv_tab.&lt;/P&gt;&lt;P&gt;    append alv_tab.&lt;/P&gt;&lt;P&gt;    clear alv_tab.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select Open Quotaions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select  vbeln netwr vgbel from vbak&lt;/P&gt;&lt;P&gt;          into corresponding fields of table zvbak0 where&lt;/P&gt;&lt;P&gt;          erdat between p_erdat1 and p_erdat2 and&lt;/P&gt;&lt;P&gt;          vkorg in s_vkorg and&lt;/P&gt;&lt;P&gt;          vbtyp = 'B' and&lt;/P&gt;&lt;P&gt;          vgbel = space and&lt;/P&gt;&lt;P&gt;          auart = 'ZEDI'.&lt;/P&gt;&lt;P&gt;  loop at zvbak0.&lt;/P&gt;&lt;P&gt;    select single vbeln from vbuk&lt;/P&gt;&lt;P&gt;    into  (zvbeln )&lt;/P&gt;&lt;P&gt;    where vbeln = zvbak0-vbeln&lt;/P&gt;&lt;P&gt;    and vbtyp = 'B'&lt;/P&gt;&lt;P&gt;    and   gbstk = 'A'.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      read table zvbak0 with key vbeln = zvbeln.&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        move: zvbak0-vbeln to zvbuk-vbeln,&lt;/P&gt;&lt;P&gt;              zvbak0-netwr to zvbuk-netwr.&lt;/P&gt;&lt;P&gt;        append zvbuk.&lt;/P&gt;&lt;P&gt;        clear zvbuk.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&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;move Open Quotations to ALV display table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort zvbuk.&lt;/P&gt;&lt;P&gt;  loop at zvbuk.&lt;/P&gt;&lt;P&gt;    move-corresponding zvbuk to alv_tab.&lt;/P&gt;&lt;P&gt;    append alv_tab.&lt;/P&gt;&lt;P&gt;    clear alv_tab.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*get the total no of orders and dollar amount&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort alv_tab by kunnr.&lt;/P&gt;&lt;P&gt;  loop at alv_tab.&lt;/P&gt;&lt;P&gt;    gv_netwr =  alv_tab-netwr + gv_netwr.&lt;/P&gt;&lt;P&gt;    gv_count = gv_count + 1.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endform.                    "  cal_no_of_orders&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for taking time to read and go thru my code &lt;/P&gt;&lt;P&gt;ur suggestions would help me to grow and may be one day become a part of this forum .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Dec 2006 16:27:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778840#M335737</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-06T16:27:41Z</dc:date>
    </item>
    <item>
      <title>Re: help on performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778841#M335738</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The first thing to do when you encounter a perfomance problem is use the performance trace (ST05) to find if there are database access problems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Dec 2006 16:36:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778841#M335738</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-06T16:36:12Z</dc:date>
    </item>
    <item>
      <title>Re: help on performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778842#M335739</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;And look at the lines I've marked:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
FORM cal_no_of_orders TABLES atv_tab
USING p_erdat1
p_erdat2
CHANGING p_gv_count
p_gv_netwr.
  DATA: g_tabix LIKE sy-tabix,
  gv_index LIKE sy-tabix.

*Select Orders Processed
  SELECT vbeln netwr vgbel FROM vbak
  INTO CORRESPONDING FIELDS OF TABLE zvbak WHERE
  erdat BETWEEN p_erdat1 AND p_erdat2 AND
  vkorg IN s_vkorg AND
  vgbel NE space AND
  auart = 'TA' AND
  ( ( bsark = 'DFUA' ) OR
  ( bsark = 'DFUE' ) OR
  ( bsark = 'DFUI' ) ).
  IF sy-subrc = 0.
    CLEAR sy-subrc .
    SORT zvbak BY vgbel.                    "&amp;lt;==========================
    SELECT vbeln parvw kunnr adrnr FROM vbpa
    INTO CORRESPONDING FIELDS OF TABLE zvbpa
    FOR ALL ENTRIES IN zvbak
    WHERE vbeln = zvbak-vgbel
    AND parvw = 'AG'.
    IF sy-subrc = 0.
      LOOP AT zvbpa.
        g_tabix = sy-tabix.
        READ TABLE zvbak WITH KEY vgbel = zvbpa-vbeln
          BINARY SEARCH.                    "&amp;lt;==========================
        IF sy-subrc EQ 0.
          MOVE :zvbak-netwr TO zvbpa-netwr.
          MODIFY zvbpa INDEX g_tabix.
        ENDIF.
        SELECT SINGLE name1 INTO (p_name1 )
        FROM adrc
        WHERE addrnumber = zvbpa-adrnr.
        IF sy-subrc = 0.
          MOVE p_name1 TO zvbpa-name1.
          MODIFY zvbpa INDEX g_tabix.
        ENDIF.
      ENDLOOP.
    ENDIF.
  ENDIF.
* move Processed Orders to ALV display table
  LOOP AT zvbpa.
    MOVE-CORRESPONDING zvbpa TO alv_tab.
    APPEND alv_tab.
    CLEAR alv_tab.
  ENDLOOP.
* Select Open Quotaions
  SELECT vbeln netwr vgbel FROM vbak
  INTO CORRESPONDING FIELDS OF TABLE zvbak0 WHERE
  erdat BETWEEN p_erdat1 AND p_erdat2 AND
  vkorg IN s_vkorg AND
  vbtyp = 'B' AND
  vgbel = space AND
  auart = 'ZEDI'.
  LOOP AT zvbak0.
    SELECT SINGLE vbeln FROM vbuk
    INTO (zvbeln )
    WHERE vbeln = zvbak0-vbeln
    AND vbtyp = 'B'
    AND gbstk = 'A'.
    IF sy-subrc = 0.
      READ TABLE zvbak0 WITH KEY vbeln = zvbeln.
      IF sy-subrc = 0.
        MOVE: zvbak0-vbeln TO zvbuk-vbeln,
        zvbak0-netwr TO zvbuk-netwr.
        APPEND zvbuk.
        CLEAR zvbuk.
      ENDIF.
    ENDIF.
  ENDLOOP.

* move Open Quotations to ALV display table

  SORT zvbuk.
  LOOP AT zvbuk.
    MOVE-CORRESPONDING zvbuk TO alv_tab.
    APPEND alv_tab.
    CLEAR alv_tab.
  ENDLOOP.

*get the total no of orders and dollar amount

  SORT alv_tab BY kunnr.
  LOOP AT alv_tab.
    gv_netwr = alv_tab-netwr + gv_netwr.
    gv_count = gv_count + 1.
  ENDLOOP.
ENDFORM. " cal_no_of_orders
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Dec 2006 16:46:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778842#M335739</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-06T16:46:15Z</dc:date>
    </item>
    <item>
      <title>Re: help on performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778843#M335740</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;/P&gt;&lt;P&gt;Rob &lt;/P&gt;&lt;P&gt;I appreciate ur immediate response &lt;/P&gt;&lt;P&gt;I have checked in the Runtime analysis that the particular form takes the whole time &lt;/P&gt;&lt;P&gt;I have checked in Trace(ST05) too with the same results &lt;/P&gt;&lt;P&gt;with the select statement &lt;/P&gt;&lt;P&gt;select  vbeln netwr vgbel from vbak&lt;/P&gt;&lt;P&gt;          into corresponding fields of table zvbak0 where&lt;/P&gt;&lt;P&gt;          erdat between p_erdat1 and p_erdat2 and&lt;/P&gt;&lt;P&gt;i dont understand the problem &lt;/P&gt;&lt;P&gt;please suggest&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Dec 2006 17:11:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778843#M335740</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-06T17:11:49Z</dc:date>
    </item>
    <item>
      <title>Re: help on performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778844#M335741</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;VBAK table does not have any index on ERDAT so it's going to do a table scan.&lt;/P&gt;&lt;P&gt;We created a secondary index on ERDAT, VKORG, AUART since we had several programs which selected data using these fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Before creating any new index - please check which indexes you have for VBAk already and if any of those has ERDAT - try to modify your select so this index is used.&lt;/P&gt;&lt;P&gt;(like if you have an index on VKORG &amp;amp; ERDAT - it will be much faster to select ALL sales orgs defined in your system and then select form VBAK with VKORG &amp;amp; ERDAT).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Dec 2006 17:32:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778844#M335741</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-06T17:32:16Z</dc:date>
    </item>
    <item>
      <title>Re: help on performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778845#M335742</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How long is the range of dates between p_erdat1 and p_erdat2. There is an index on this field, so that should help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On the other hand, maybe it doesn't like the BETWEEN. Have you tried:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
  SELECT vbeln netwr vgbel FROM vbak
    INTO CORRESPONDING FIELDS OF TABLE zvbak
    WHERE erdat &amp;gt;= p_erdat1
      AND erdat &amp;lt;= p_erdat2 ....
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Dec 2006 17:37:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778845#M335742</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-06T17:37:45Z</dc:date>
    </item>
    <item>
      <title>Re: help on performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778846#M335743</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;THANKYOU gurus for the help&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;that solved my problem and learnt many things&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Dec 2006 18:11:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778846#M335743</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-06T18:11:06Z</dc:date>
    </item>
    <item>
      <title>Re: help on performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778847#M335744</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Are you on 4.6C or 4.7. There is an index on ERDAT in 4.7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Dec 2006 19:06:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/help-on-performance/m-p/1778847#M335744</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-06T19:06:30Z</dc:date>
    </item>
  </channel>
</rss>

