<?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: How to reduce execution time ? in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-reduce-execution-time/m-p/3166554#M753271</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;While writing select statement try to use all the primary key in where part also mantain the order of field same as the database table. For all entries also please compare all primary keys for fetching data&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 18 Dec 2007 04:21:51 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-12-18T04:21:51Z</dc:date>
    <item>
      <title>How to reduce execution time ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-reduce-execution-time/m-p/3166552#M753269</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi friends...&lt;/P&gt;&lt;P&gt;I have created a report to display vendor opening balances,&lt;/P&gt;&lt;P&gt;total debit ,total credit , total balance &amp;amp; closing balance for the given date range. it is working fine .But it takes more time to execute . How can I reduce execution time ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Plz help me. It's a very urgent report...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The coding is as below.....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report  yfiin_rep_vendordetail no standard page heading.&lt;/P&gt;&lt;P&gt;tables : bsik,bsak,lfb1,lfa1.&lt;/P&gt;&lt;P&gt;type-pools : slis .&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="---------------------" /&gt;TABLE STRUCTURE--&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types : begin of tt_bsik,&lt;/P&gt;&lt;P&gt;        bukrs type bukrs,&lt;/P&gt;&lt;P&gt;        lifnr type lifnr,&lt;/P&gt;&lt;P&gt;        budat type budat,&lt;/P&gt;&lt;P&gt;        augdt type augdt,&lt;/P&gt;&lt;P&gt;        dmbtr type dmbtr,&lt;/P&gt;&lt;P&gt;        wrbtr type wrbtr,&lt;/P&gt;&lt;P&gt;        shkzg type shkzg,&lt;/P&gt;&lt;P&gt;        hkont type hkont,&lt;/P&gt;&lt;P&gt;        bstat type bstat_d ,&lt;/P&gt;&lt;P&gt;        prctr type prctr,&lt;/P&gt;&lt;P&gt;        name1 type name1,&lt;/P&gt;&lt;P&gt;     end of tt_bsik,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     begin of tt_lfb1,&lt;/P&gt;&lt;P&gt;         lifnr type lifnr,&lt;/P&gt;&lt;P&gt;         mindk type mindk,&lt;/P&gt;&lt;P&gt;     end of tt_lfb1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    begin of tt_lfa1,&lt;/P&gt;&lt;P&gt;        lifnr type lifnr,&lt;/P&gt;&lt;P&gt;        name1 type name1,&lt;/P&gt;&lt;P&gt;        ktokk type ktokk,&lt;/P&gt;&lt;P&gt;    end of tt_lfa1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    begin of tt_opbal,&lt;/P&gt;&lt;P&gt;        bukrs type bukrs,&lt;/P&gt;&lt;P&gt;        lifnr type lifnr,&lt;/P&gt;&lt;P&gt;        gjahr type gjahr,&lt;/P&gt;&lt;P&gt;        belnr type belnr_d,&lt;/P&gt;&lt;P&gt;        budat type budat,&lt;/P&gt;&lt;P&gt;        bldat type bldat,&lt;/P&gt;&lt;P&gt;        waers type waers,&lt;/P&gt;&lt;P&gt;        dmbtr type dmbtr,&lt;/P&gt;&lt;P&gt;        wrbtr type wrbtr,&lt;/P&gt;&lt;P&gt;        shkzg type shkzg,&lt;/P&gt;&lt;P&gt;        blart type blart,&lt;/P&gt;&lt;P&gt;        monat type monat,&lt;/P&gt;&lt;P&gt;        hkont type hkont,&lt;/P&gt;&lt;P&gt;        bstat type bstat_d ,&lt;/P&gt;&lt;P&gt;        prctr type prctr,&lt;/P&gt;&lt;P&gt;        name1 type name1,&lt;/P&gt;&lt;P&gt;        tdr type  dmbtr,&lt;/P&gt;&lt;P&gt;        tcr type  dmbtr,&lt;/P&gt;&lt;P&gt;        tbal type  dmbtr,&lt;/P&gt;&lt;P&gt;      end of tt_opbal,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     begin of tt_bs ,&lt;/P&gt;&lt;P&gt;        bukrs type bukrs,&lt;/P&gt;&lt;P&gt;        lifnr type lifnr,&lt;/P&gt;&lt;P&gt;        name1 type name1,&lt;/P&gt;&lt;P&gt;        prctr type prctr,&lt;/P&gt;&lt;P&gt;        tbal type dmbtr,&lt;/P&gt;&lt;P&gt;        bala type dmbtr,&lt;/P&gt;&lt;P&gt;        balb type dmbtr,&lt;/P&gt;&lt;P&gt;        balc type dmbtr,&lt;/P&gt;&lt;P&gt;        bald type dmbtr,&lt;/P&gt;&lt;P&gt;        bale type dmbtr,&lt;/P&gt;&lt;P&gt;        gbal type dmbtr,&lt;/P&gt;&lt;P&gt;    end of tt_bs.&lt;/P&gt;&lt;P&gt;************WORK AREA DECLARATION *********************&lt;/P&gt;&lt;P&gt;data :  gs_bsik type tt_bsik,&lt;/P&gt;&lt;P&gt;        gs_bsak type tt_bsik,&lt;/P&gt;&lt;P&gt;        gs_lfb1 type tt_lfb1,&lt;/P&gt;&lt;P&gt;        gs_lfa1 type tt_lfa1,&lt;/P&gt;&lt;P&gt;        gs_ageing  type tt_ageing,&lt;/P&gt;&lt;P&gt;        gs_bs type tt_bs,&lt;/P&gt;&lt;P&gt;        gs_opdisp type tt_bs,&lt;/P&gt;&lt;P&gt;        gs_final type tt_bsik,&lt;/P&gt;&lt;P&gt;        gs_opbal type tt_opbal,&lt;/P&gt;&lt;P&gt;        gs_opfinal type tt_opbal.&lt;/P&gt;&lt;P&gt;************&lt;STRONG&gt;INTERNAL TABLE DECLARATION&lt;/STRONG&gt;*************&lt;/P&gt;&lt;P&gt;data :  gt_bsik type standard table of tt_bsik,&lt;/P&gt;&lt;P&gt;        gt_bsak type standard table of tt_bsik,&lt;/P&gt;&lt;P&gt;        gt_lfb1 type standard table of tt_lfb1,&lt;/P&gt;&lt;P&gt;        gt_lfa1 type standard table of tt_lfa1,&lt;/P&gt;&lt;P&gt;        gt_ageing type standard table of tt_ageing,&lt;/P&gt;&lt;P&gt;        gt_bs type standard table of tt_bs,&lt;/P&gt;&lt;P&gt;        gt_opdisp type standard table of tt_bs,&lt;/P&gt;&lt;P&gt;        gt_final type standard table of tt_bsik,&lt;/P&gt;&lt;P&gt;        gt_opbal type standard table of tt_opbal,&lt;/P&gt;&lt;P&gt;        gt_opfinal type standard table of tt_opbal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="19" type="ul"&gt;&lt;P&gt;ALV DECLARATIONS *******************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;data : gs_fcat type slis_fieldcat_alv ,&lt;/P&gt;&lt;P&gt;       gt_fcat type slis_t_fieldcat_alv ,&lt;/P&gt;&lt;P&gt;       gs_sort type slis_sortinfo_alv,&lt;/P&gt;&lt;P&gt;       gs_fcats type slis_fieldcat_alv ,&lt;/P&gt;&lt;P&gt;       gt_fcats type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********&lt;STRONG&gt;global data declration&lt;/STRONG&gt;***************&lt;/P&gt;&lt;P&gt;data :   kb type dmbtr ,&lt;/P&gt;&lt;P&gt;          return like  bapireturn ,&lt;/P&gt;&lt;P&gt;          balancespgli like  bapi3008-bal_sglind,&lt;/P&gt;&lt;P&gt;          noteditems like  bapi3008-ntditms_rq,&lt;/P&gt;&lt;P&gt;          keybalance type table of  bapi3008_3 with header line,&lt;/P&gt;&lt;P&gt;         opbalance type p.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="18" type="ul"&gt;&lt;P&gt;SELECTION SCREEN DECLARATIONS *********************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block b1 with frame .&lt;/P&gt;&lt;P&gt;select-options : so_bukrs for bsik-bukrs obligatory,&lt;/P&gt;&lt;P&gt;                 so_lifnr for bsik-lifnr,&lt;/P&gt;&lt;P&gt;                 so_hkont for bsik-hkont,&lt;/P&gt;&lt;P&gt;                 so_prctr for bsik-prctr ,&lt;/P&gt;&lt;P&gt;                 so_mindk for lfb1-mindk,&lt;/P&gt;&lt;P&gt;                 so_ktokk for lfa1-ktokk.&lt;/P&gt;&lt;P&gt;selection-screen end of block b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen : begin of block b1 with frame.&lt;/P&gt;&lt;P&gt;parameters       : p_rb1 radiobutton group rad1 .&lt;/P&gt;&lt;P&gt;select-options   : so_date for sy-datum .&lt;/P&gt;&lt;P&gt;selection-screen : end of block b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************ASSIGNING ALV GRID &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****field catalog for balance report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gs_fcats-col_pos = 1.&lt;/P&gt;&lt;P&gt;gs_fcats-fieldname = 'BUKRS'.&lt;/P&gt;&lt;P&gt;gs_fcats-seltext_m =  text-001.&lt;/P&gt;&lt;P&gt;append gs_fcats to gt_fcats .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gs_fcats-col_pos = 2 .&lt;/P&gt;&lt;P&gt;gs_fcats-fieldname = 'LIFNR'.&lt;/P&gt;&lt;P&gt;gs_fcats-seltext_m = text-002.&lt;/P&gt;&lt;P&gt;append gs_fcats to gt_fcats .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gs_fcats-col_pos = 3.&lt;/P&gt;&lt;P&gt;gs_fcats-fieldname = 'NAME1'.&lt;/P&gt;&lt;P&gt;gs_fcats-seltext_m =  text-003.&lt;/P&gt;&lt;P&gt;append gs_fcats to gt_fcats .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gs_fcats-col_pos = 4.&lt;/P&gt;&lt;P&gt;gs_fcats-fieldname = 'BALC'.&lt;/P&gt;&lt;P&gt;gs_fcats-seltext_m =  text-016.&lt;/P&gt;&lt;P&gt;append gs_fcats to gt_fcats .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gs_fcats-col_pos = 5.&lt;/P&gt;&lt;P&gt;gs_fcats-fieldname = 'BALA'.&lt;/P&gt;&lt;P&gt;gs_fcats-seltext_m =  text-012.&lt;/P&gt;&lt;P&gt;append gs_fcats to gt_fcats .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gs_fcats-col_pos = 6.&lt;/P&gt;&lt;P&gt;gs_fcats-fieldname = 'BALB'.&lt;/P&gt;&lt;P&gt;gs_fcats-seltext_m =  text-013.&lt;/P&gt;&lt;P&gt;append gs_fcats to gt_fcats .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gs_fcats-col_pos = 7.&lt;/P&gt;&lt;P&gt;gs_fcats-fieldname = 'TBAL'.&lt;/P&gt;&lt;P&gt;gs_fcats-seltext_m =  text-014.&lt;/P&gt;&lt;P&gt;append gs_fcats to gt_fcats .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gs_fcats-col_pos = 8.&lt;/P&gt;&lt;P&gt;gs_fcats-fieldname = 'GBAL'.&lt;/P&gt;&lt;P&gt;gs_fcats-seltext_m =  text-015.&lt;/P&gt;&lt;P&gt;append gs_fcats to gt_fcats .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : repid1 type sy-repid.&lt;/P&gt;&lt;P&gt;repid1 = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="17" type="ul"&gt;&lt;P&gt;INITIALIZATION EVENTS ******************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;*Clearing the work area.&lt;/P&gt;&lt;P&gt; clear gs_bsik.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Refreshing the internal tables.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;refresh gt_bsik.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************START OF  SELECTION EVENTS **************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;*get data for balance report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform sub_openbal.&lt;/P&gt;&lt;P&gt;  perform sub_openbal_display.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sub_openbal&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 sub_openbal .&lt;/P&gt;&lt;P&gt;  if   so_date-low &amp;gt; sy-datum or so_date-high &amp;gt; sy-datum .&lt;/P&gt;&lt;P&gt;      message i005(yfi02).&lt;/P&gt;&lt;P&gt;     leave screen.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;     select bukrs lifnr gjahr belnr budat bldat&lt;/P&gt;&lt;P&gt;       waers dmbtr wrbtr shkzg blart monat hkont prctr&lt;/P&gt;&lt;P&gt;       from bsik into table gt_opbal&lt;/P&gt;&lt;P&gt;       where bukrs in so_bukrs and lifnr in so_lifnr&lt;/P&gt;&lt;P&gt;       and hkont in so_hkont and prctr in so_prctr&lt;/P&gt;&lt;P&gt;       and budat in so_date .&lt;/P&gt;&lt;P&gt;    select bukrs lifnr gjahr belnr budat bldat&lt;/P&gt;&lt;P&gt;       waers dmbtr wrbtr shkzg blart monat hkont prctr&lt;/P&gt;&lt;P&gt;       from bsak appending table gt_opbal&lt;/P&gt;&lt;P&gt;       for all entries in gt_opbal&lt;/P&gt;&lt;P&gt;       where lifnr = gt_opbal-lifnr&lt;/P&gt;&lt;P&gt;       and budat in so_date .&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;  message i007(yfi02).&lt;/P&gt;&lt;P&gt;  leave screen.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; select lifnr mindk from lfb1 into table gt_lfb1&lt;/P&gt;&lt;P&gt;  for all entries in gt_opbal&lt;/P&gt;&lt;P&gt;    where lifnr = gt_opbal-lifnr and mindk in so_mindk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; select lifnr name1 ktokk from lfa1 into table gt_lfa1&lt;/P&gt;&lt;P&gt;  for all entries in gt_opbal&lt;/P&gt;&lt;P&gt;   where lifnr = gt_opbal-lifnr and ktokk in so_ktokk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   loop at gt_opbal into gs_opbal .&lt;/P&gt;&lt;P&gt;     loop at gt_lfb1 into gs_lfb1 where lifnr = gs_opbal-lifnr.&lt;/P&gt;&lt;P&gt;       loop at gt_lfa1 into gs_lfa1 where lifnr = gs_opbal-lifnr.&lt;/P&gt;&lt;P&gt;        gs_opfinal-bukrs = gs_opbal-bukrs.&lt;/P&gt;&lt;P&gt;        gs_opfinal-lifnr = gs_opbal-lifnr.&lt;/P&gt;&lt;P&gt;        gs_opfinal-gjahr = gs_opbal-gjahr.&lt;/P&gt;&lt;P&gt;        gs_opfinal-belnr = gs_opbal-belnr.&lt;/P&gt;&lt;P&gt;        gs_opfinal-budat = gs_opbal-budat.&lt;/P&gt;&lt;P&gt;        gs_opfinal-bldat = gs_opbal-bldat.&lt;/P&gt;&lt;P&gt;        gs_opfinal-waers = gs_opbal-waers.&lt;/P&gt;&lt;P&gt;        gs_opfinal-dmbtr = gs_opbal-dmbtr.&lt;/P&gt;&lt;P&gt;        gs_opfinal-wrbtr = gs_opbal-wrbtr.&lt;/P&gt;&lt;P&gt;        gs_opfinal-shkzg = gs_opbal-shkzg.&lt;/P&gt;&lt;P&gt;        gs_opfinal-blart = gs_opbal-blart.&lt;/P&gt;&lt;P&gt;        gs_opfinal-monat = gs_opbal-monat.&lt;/P&gt;&lt;P&gt;        gs_opfinal-hkont = gs_opbal-hkont.&lt;/P&gt;&lt;P&gt;        gs_opfinal-prctr = gs_opbal-prctr.&lt;/P&gt;&lt;P&gt;        gs_opfinal-name1 = gs_lfa1-name1.&lt;/P&gt;&lt;P&gt;    if gs_opbal-shkzg    = 'H'.&lt;/P&gt;&lt;P&gt;        gs_opfinal-tcr   =  gs_opbal-dmbtr * -1.&lt;/P&gt;&lt;P&gt;        gs_opfinal-tdr   =  '000000'.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;        gs_opfinal-tdr   =  gs_opbal-dmbtr.&lt;/P&gt;&lt;P&gt;        gs_opfinal-tcr   =  '000000'.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;       append gs_opfinal to gt_opfinal.&lt;/P&gt;&lt;P&gt;       endloop.&lt;/P&gt;&lt;P&gt;       endloop.&lt;/P&gt;&lt;P&gt;       endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; sort gt_opfinal by bukrs lifnr prctr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so_date-low = so_date-low - 1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at gt_opfinal into gs_opfinal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'BAPI_AP_ACC_GETKEYDATEBALANCE'&lt;/P&gt;&lt;P&gt;  exporting&lt;/P&gt;&lt;P&gt;    companycode        = gs_opfinal-bukrs&lt;/P&gt;&lt;P&gt;    vendor             =  gs_opfinal-lifnr&lt;/P&gt;&lt;P&gt;    keydate            = so_date-low&lt;/P&gt;&lt;P&gt;   balancespgli        = ' '&lt;/P&gt;&lt;P&gt;   noteditems          = ' '&lt;/P&gt;&lt;P&gt;  importing&lt;/P&gt;&lt;P&gt;    return             = return&lt;/P&gt;&lt;P&gt;  tables&lt;/P&gt;&lt;P&gt;    keybalance         = keybalance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear kb .&lt;/P&gt;&lt;P&gt;loop at keybalance .&lt;/P&gt;&lt;P&gt;   kb = keybalance-lc_bal + kb .&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      gs_opdisp-balc = kb.&lt;/P&gt;&lt;P&gt;      gs_opdisp-bukrs =  gs_opfinal-bukrs.&lt;/P&gt;&lt;P&gt;      gs_opdisp-lifnr =  gs_opfinal-lifnr.&lt;/P&gt;&lt;P&gt;      gs_opdisp-name1 =  gs_opfinal-name1.&lt;/P&gt;&lt;P&gt;    at new lifnr .&lt;/P&gt;&lt;P&gt;      sum .&lt;/P&gt;&lt;P&gt;      gs_opfinal-tbal =  gs_opfinal-tdr + gs_opfinal-tcr  .&lt;/P&gt;&lt;P&gt;      gs_opdisp-tbal = gs_opfinal-tbal.&lt;/P&gt;&lt;P&gt;      gs_opdisp-bala = gs_opfinal-tdr .&lt;/P&gt;&lt;P&gt;      gs_opdisp-balb = gs_opfinal-tcr .&lt;/P&gt;&lt;P&gt;      gs_opdisp-gbal = keybalance-lc_bal + gs_opfinal-tbal .&lt;/P&gt;&lt;P&gt;      append gs_opdisp to gt_opdisp.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    clear gs_opdisp.&lt;/P&gt;&lt;P&gt;    clear keybalance .&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  delete adjacent duplicates from gt_opdisp.&lt;/P&gt;&lt;P&gt;endform.                    " sub_openbal&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  sub_openbal_display&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 sub_openbal_display .&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              =  repid1&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;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&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                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_LAYOUT                         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      it_fieldcat                     = gt_fcats&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;LI level="1" type="ul"&gt;&lt;P&gt;  I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                            = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   it_events                        =&lt;/P&gt;&lt;/LI&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_HYPERLINK                      =&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_EXCEPT_QINFO                   =&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;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                       = gt_opdisp&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;endform.                    " sub_openbal_display&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Dec 2007 04:08:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-reduce-execution-time/m-p/3166552#M753269</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-18T04:08:59Z</dc:date>
    </item>
    <item>
      <title>Re: How to reduce execution time ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-reduce-execution-time/m-p/3166553#M753270</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think you are using for all entries statement in almost all select statements but i didnt see any condtion before you are using for all entries statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you are using for all entries in gt_opbal ... make sure that gt_opbal has some records other wise it will try to read all records from the data base tables. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try to check before using for all entries in the select statement like &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if gt_opbal is not initial.&lt;/P&gt;&lt;P&gt;select adfda adfadf afdadf into table&lt;/P&gt;&lt;P&gt;  for all entries in gt_opbal.&lt;/P&gt;&lt;P&gt;else. &lt;/P&gt;&lt;P&gt;select abdf afad into table &lt;/P&gt;&lt;P&gt;from abcd&lt;/P&gt;&lt;P&gt;where a = 1&lt;/P&gt;&lt;P&gt;    and b = 2.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i didnt see anything wrong in your report but this is major time consuming when you dont have records in the table which you are using for all entries.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Dec 2007 04:19:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-reduce-execution-time/m-p/3166553#M753270</guid>
      <dc:creator>former_member191735</dc:creator>
      <dc:date>2007-12-18T04:19:07Z</dc:date>
    </item>
    <item>
      <title>Re: How to reduce execution time ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-reduce-execution-time/m-p/3166554#M753271</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;While writing select statement try to use all the primary key in where part also mantain the order of field same as the database table. For all entries also please compare all primary keys for fetching data&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Dec 2007 04:21:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/how-to-reduce-execution-time/m-p/3166554#M753271</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-18T04:21:51Z</dc:date>
    </item>
  </channel>
</rss>

