<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic performance issue in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1102648#M103854</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi experts,&lt;/P&gt;&lt;P&gt;This is list of vendor line items code.&lt;/P&gt;&lt;P&gt;I want to display only KZ item with total amount.&lt;/P&gt;&lt;P&gt;So getting all the items and deleting which or not KZ items(excluding total amount of particular doc no.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can u tell me how to increase performance of this code.&lt;/P&gt;&lt;P&gt;I have commented * #################### like this.&lt;/P&gt;&lt;P&gt;There it is taking lot of time....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;points guaranteed&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;kaki&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  Z1F_RFKEPL00 no standard page heading&lt;/P&gt;&lt;P&gt;        line-size 140&lt;/P&gt;&lt;P&gt;        line-count 65&lt;/P&gt;&lt;P&gt;        message-id Z1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: LFA1,t005t,bsak,bseg,t001,skat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of t_bsak occurs 0,&lt;/P&gt;&lt;P&gt;        bukrs like bsak-bukrs,        "company code&lt;/P&gt;&lt;P&gt;        lifnr like bsak-lifnr,        "Vendor acc number&lt;/P&gt;&lt;P&gt;        augdt like bsak-augdt,        "Clearing date&lt;/P&gt;&lt;P&gt;        AUGBL like bsak-AUGBL,        "Clearing Document&lt;/P&gt;&lt;P&gt;        GJAHR like bsak-GJAHR,        "year&lt;/P&gt;&lt;P&gt;        belnr like bsak-belnr,        "Document number&lt;/P&gt;&lt;P&gt;        BUZEI like bsak-BUZEI,        "Line Item&lt;/P&gt;&lt;P&gt;        budat like bsak-budat,        "Posting Date in the Document&lt;/P&gt;&lt;P&gt;        bldat like bsak-bldat,        "Document date in document&lt;/P&gt;&lt;P&gt;        blart like bsak-blart,        "Document type&lt;/P&gt;&lt;P&gt;        BSCHL like bsak-BSCHL,        "Posting key&lt;/P&gt;&lt;P&gt;        WAERS like bsak-WAERS,        "Currency key&lt;/P&gt;&lt;P&gt;        CPUDT like bsak-cpudt,        "Accounting Document Entry Date&lt;/P&gt;&lt;P&gt;        SHKZG like bsak-shkzg,        "Debit/Credit Indicator&lt;/P&gt;&lt;P&gt;        DMBTR like bsak-dmbtr,        "Amount in local currency&lt;/P&gt;&lt;P&gt;        WRBTR like bsak-wrbtr,        "Amount in document currency&lt;/P&gt;&lt;P&gt;        SGTXT like bsak-sgtxt,        "Item Text&lt;/P&gt;&lt;P&gt;        SAKNR LIKE bsak-saknr,        "G/L Account Number&lt;/P&gt;&lt;P&gt;        hkont like bsak-hkont,        "General Ledger Account&lt;/P&gt;&lt;P&gt;        SKFBT LIKE BSAK-SKFBT,        "Amount Eligible for Cash Discount&lt;/P&gt;&lt;P&gt;        KOSTL LIKE BSEG-KOSTL,        "Cost center&lt;/P&gt;&lt;P&gt;        ktopl like t001-ktopl,        "chart of accounts&lt;/P&gt;&lt;P&gt;        txt20 like skat-txt20,        "Short test for the GL acc&lt;/P&gt;&lt;P&gt;        name1 like lfa1-name1,&lt;/P&gt;&lt;P&gt;        land1 like lfa1-land1,&lt;/P&gt;&lt;P&gt;        landx like t005t-landx,&lt;/P&gt;&lt;P&gt;        l_year like bsak-gjahr,&lt;/P&gt;&lt;P&gt;      end of t_bsak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of t_header occurs 0,&lt;/P&gt;&lt;P&gt;        bukrs like bsak-bukrs,&lt;/P&gt;&lt;P&gt;        belnr like bsak-belnr,&lt;/P&gt;&lt;P&gt;        augbl like bsak-augbl,&lt;/P&gt;&lt;P&gt;        gjahr like bsak-gjahr,&lt;/P&gt;&lt;P&gt;        hkont like bseg-hkont,&lt;/P&gt;&lt;P&gt;        lifnr like bsak-lifnr,&lt;/P&gt;&lt;P&gt;        land1 like lfa1-land1,&lt;/P&gt;&lt;P&gt;        name1 like lfa1-name1,&lt;/P&gt;&lt;P&gt;        name2 like lfa1-name2,&lt;/P&gt;&lt;P&gt;        name3 like lfa1-name3,&lt;/P&gt;&lt;P&gt;        ort01 like lfa1-ort01,&lt;/P&gt;&lt;P&gt;        pstlz like lfa1-pstlz,&lt;/P&gt;&lt;P&gt;        landx like t005t-landx,&lt;/P&gt;&lt;P&gt;      end of t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of t_lfa1 occurs 0,&lt;/P&gt;&lt;P&gt;        lifnr like lfa1-lifnr,&lt;/P&gt;&lt;P&gt;        name1 like lfa1-name1,&lt;/P&gt;&lt;P&gt;        land1 like lfa1-land1,&lt;/P&gt;&lt;P&gt;        landx like t005t-landx,&lt;/P&gt;&lt;P&gt;      end of t_lfa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of t_cal occurs 0,&lt;/P&gt;&lt;P&gt;         debit like bsak-wrbtr,&lt;/P&gt;&lt;P&gt;         credit like bsak-wrbtr,&lt;/P&gt;&lt;P&gt;         balance like bsak-wrbtr,&lt;/P&gt;&lt;P&gt;      end of t_cal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: t_bseg like t_bsak occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data: t_data like t_bsak occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block blk1 with frame title text-001.&lt;/P&gt;&lt;P&gt;select-options: s_lifnr for bsak-lifnr,&lt;/P&gt;&lt;P&gt;                s_bukrs for bsak-bukrs.&lt;/P&gt;&lt;P&gt;selection-screen end of block blk1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block blk2 with frame title text-002.&lt;/P&gt;&lt;P&gt;parameters s_budat like bsik-budat default sy-datum.&lt;/P&gt;&lt;P&gt;select-options: s_augdt for bsak-augdt.&lt;/P&gt;&lt;P&gt;selection-screen end of block blk2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block blk3 with frame title text-003.&lt;/P&gt;&lt;P&gt;parameters: stand as checkbox default 'X',&lt;/P&gt;&lt;P&gt;            park as checkbox.&lt;/P&gt;&lt;P&gt;selection-screen end of block blk3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;  perform process_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;P&gt;  perform set_page_header.&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  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;  data: line like t_bsak occurs 0 with header line.&lt;/P&gt;&lt;P&gt;  data: l_wrbtr(10) type c.&lt;/P&gt;&lt;P&gt;  data: l_debit type bsak-wrbtr,l_credit type bsak-wrbtr,&lt;/P&gt;&lt;P&gt;        l_balance type bsak-wrbtr.&lt;/P&gt;&lt;P&gt;  data: l_hkont(10) type n.&lt;/P&gt;&lt;P&gt;  data: l_dtotal type bsak-wrbtr,l_ctotal type bsak-wrbtr,&lt;/P&gt;&lt;P&gt;        l_fbalance type bsak-wrbtr.&lt;/P&gt;&lt;P&gt;  data: t_tot like t_cal occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Ranges R_BSTAT FOR BSAK-BSTAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  R_BSTAT-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;  R_BSTAT-OPTION = 'EQ'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF stand = 'X' and park ne 'X'.&lt;/P&gt;&lt;P&gt;    R_BSTAT-LOW = ' '.&lt;/P&gt;&lt;P&gt;    APPEND R_BSTAT.&lt;/P&gt;&lt;P&gt;  elseif stand ne 'X' and park eq 'X'.&lt;/P&gt;&lt;P&gt;    R_BSTAT-LOW = 'V'.&lt;/P&gt;&lt;P&gt;    APPEND R_BSTAT.&lt;/P&gt;&lt;P&gt;  elseif stand eq 'X' and park eq 'X'.&lt;/P&gt;&lt;P&gt;    R_BSTAT-LOW = ' '.&lt;/P&gt;&lt;P&gt;    APPEND R_BSTAT.&lt;/P&gt;&lt;P&gt;    R_BSTAT-LOW = 'V'.&lt;/P&gt;&lt;P&gt;    APPEND R_BSTAT.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select BUKRS LIFNR AUGDT AUGBL GJAHR BELNR BUZEI BUDAT BLDAT&lt;/P&gt;&lt;P&gt;         CPUDT WAERS BLART BSCHL SHKZG DMBTR WRBTR SGTXT HKONT SKFBT&lt;/P&gt;&lt;P&gt;  from bsak&lt;/P&gt;&lt;P&gt;  into corresponding fields of table t_bsak&lt;/P&gt;&lt;P&gt;  where   lifnr in s_lifnr and&lt;/P&gt;&lt;P&gt;          BUKRS in s_bukrs and&lt;/P&gt;&lt;P&gt;          budat le s_budat and " Open items&lt;/P&gt;&lt;P&gt;          augdt in s_augdt and&lt;/P&gt;&lt;P&gt;          bstat in R_BSTAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    message i016.&lt;/P&gt;&lt;P&gt;    leave list-processing.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort t_bsak by BUDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_bsak.&lt;/P&gt;&lt;P&gt;    t_bsak-l_year = t_bsak-budat(4).&lt;/P&gt;&lt;P&gt;    modify t_bsak.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT t_bsak[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select BUKRS LIFNR AUGDT AUGBL GJAHR BELNR&lt;/P&gt;&lt;P&gt;       SHKZG DMBTR WRBTR SGTXT SKFBT KOSTL BSCHL HKONT BUZEI&lt;/P&gt;&lt;P&gt;     into corresponding fields of table t_bseg from bseg&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN t_bsak&lt;/P&gt;&lt;P&gt;            where belnr = t_bsak-belnr and&lt;/P&gt;&lt;P&gt;                  gjahr = t_bsak-l_year and&lt;/P&gt;&lt;P&gt;                  bukrs = t_bsak-bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_bsak.&lt;/P&gt;&lt;P&gt;    select single * from lfa1 where lifnr = t_bsak-lifnr.&lt;/P&gt;&lt;P&gt;    move lfa1-lifnr to t_header-lifnr.&lt;/P&gt;&lt;P&gt;    move lfa1-land1 to t_header-land1.&lt;/P&gt;&lt;P&gt;    move lfa1-name1 to t_header-name1.&lt;/P&gt;&lt;P&gt;    move lfa1-name2 to t_header-name2.&lt;/P&gt;&lt;P&gt;    move lfa1-name3 to t_header-name3.&lt;/P&gt;&lt;P&gt;    move lfa1-ort01 to t_header-ort01.&lt;/P&gt;&lt;P&gt;    move lfa1-pstlz to t_header-pstlz.&lt;/P&gt;&lt;P&gt;    move t_bsak-bukrs to t_header-bukrs.&lt;/P&gt;&lt;P&gt;    append t_header.&lt;/P&gt;&lt;P&gt;    clear t_header.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to get vendor country&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at t_header.&lt;/P&gt;&lt;P&gt;    select single * from t005t where land1 = t_header-land1 and&lt;/P&gt;&lt;P&gt;                                     SPRAS = 'E'.&lt;/P&gt;&lt;P&gt;    move t005t-landx to t_header-landx.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      modify t_header.&lt;/P&gt;&lt;P&gt;      clear t_header.&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;  sort t_header.&lt;/P&gt;&lt;P&gt;  delete adjacent duplicates from t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_bsak.&lt;/P&gt;&lt;P&gt;    loop at t_bseg where belnr = t_bsak-belnr and&lt;/P&gt;&lt;P&gt;                         bukrs = t_bsak-bukrs and&lt;/P&gt;&lt;P&gt;                         gjahr = t_bsak-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_hkont = t_bseg-hkont.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To get chart of accounts&lt;/P&gt;&lt;P&gt;      select single * from t001 where bukrs = t_bseg-bukrs.&lt;/P&gt;&lt;P&gt;      move t001-ktopl to t_bseg-ktopl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To get short text for the chart of accounts&lt;/P&gt;&lt;P&gt;      select single * from skat where ktopl = t_bseg-ktopl and&lt;/P&gt;&lt;P&gt;                                      saknr = l_hkont and&lt;/P&gt;&lt;P&gt;                                      spras = 'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      t_data-bukrs = t_bsak-bukrs.&lt;/P&gt;&lt;P&gt;      t_data-lifnr = t_bsak-lifnr.&lt;/P&gt;&lt;P&gt;      t_data-augdt = t_bseg-augdt.&lt;/P&gt;&lt;P&gt;      t_data-AUGBL = t_bseg-AUGBL.&lt;/P&gt;&lt;P&gt;      t_data-GJAHR = t_bseg-GJAHR.&lt;/P&gt;&lt;P&gt;      t_data-belnr = t_bsak-belnr.&lt;/P&gt;&lt;P&gt;      t_data-BUZEI = t_bseg-BUZEI.&lt;/P&gt;&lt;P&gt;      t_data-budat = t_bsak-budat.&lt;/P&gt;&lt;P&gt;      t_data-bldat = t_bsak-bldat.&lt;/P&gt;&lt;P&gt;      t_data-blart = t_bsak-blart.&lt;/P&gt;&lt;P&gt;      t_data-BSCHL = t_bseg-BSCHL.&lt;/P&gt;&lt;P&gt;      t_data-WAERS = t_bsAK-WAERS.&lt;/P&gt;&lt;P&gt;      t_data-CPUDT = t_bsak-cpudt.&lt;/P&gt;&lt;P&gt;      t_data-SHKZG = t_bseg-shkzg.&lt;/P&gt;&lt;P&gt;      t_data-DMBTR = t_bseg-dmbtr.&lt;/P&gt;&lt;P&gt;      t_data-WRBTR = t_bseg-wrbtr.&lt;/P&gt;&lt;P&gt;      t_data-SGTXT = t_bsak-sgtxt.&lt;/P&gt;&lt;P&gt;      t_data-SAKNR = t_bseg-saknr.&lt;/P&gt;&lt;P&gt;      t_data-hkont = t_bseg-hkont.&lt;/P&gt;&lt;P&gt;      t_data-SKFBT = t_bseg-SKFBT.&lt;/P&gt;&lt;P&gt;      t_data-KOSTL = t_bseg-KOSTL.&lt;/P&gt;&lt;P&gt;      t_data-ktopl = t_bseg-ktopl.&lt;/P&gt;&lt;P&gt;      t_data-txt20 = skat-txt20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      append t_data.&lt;/P&gt;&lt;P&gt;      clear t_data.&lt;/P&gt;&lt;P&gt;    endloop.&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;####################&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at t_bsak.&lt;/P&gt;&lt;P&gt;    delete t_data where bschl = '50'.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_bsak.&lt;/P&gt;&lt;P&gt;    loop at t_data where augbl = t_bsak-augbl.&lt;/P&gt;&lt;P&gt;      delete t_data where augbl eq t_bsak-augbl and&lt;/P&gt;&lt;P&gt;                          buzei ne '02' and&lt;/P&gt;&lt;P&gt;                          blart eq 'KZ'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it is taking lot of time here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Display----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*to display header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_header.&lt;/P&gt;&lt;P&gt;    write:/1(6) t_header-bukrs    color 2,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           7(8) t_header-hkont    color 2,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            18(10) t_header-lifnr   color 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write:/30(35) t_header-name1.&lt;/P&gt;&lt;P&gt;    write:/30(35) t_header-name2.&lt;/P&gt;&lt;P&gt;    write:/30(35) t_header-name3.&lt;/P&gt;&lt;P&gt;    write:/30(20) t_header-ort01.&lt;/P&gt;&lt;P&gt;    write:40(10)  t_header-pstlz.&lt;/P&gt;&lt;P&gt;    write:/30(20) t_header-landx.&lt;/P&gt;&lt;P&gt;    uline.&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;   loop at t_data where lifnr = t_header-lifnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     and hkont = t_header-hkont. "xxxxxxxxxx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at t_data where lifnr = t_header-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wrbtr = t_data-wrbtr.&lt;/P&gt;&lt;P&gt;      if t_data-shkzg = 'H'.&lt;/P&gt;&lt;P&gt;        concatenate l_wrbtr '-' into l_wrbtr.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write:/15(11) t_data-BUDAT no-zero    color 7,&lt;/P&gt;&lt;P&gt;              26(5) t_data-BLART            color 7,&lt;/P&gt;&lt;P&gt;              30(12) t_data-belnr           color 7,&lt;/P&gt;&lt;P&gt;              42(16) t_data-BLDAT           color 7,&lt;/P&gt;&lt;P&gt;              58(5)  t_data-buzei           color 7,&lt;/P&gt;&lt;P&gt;              63(12)  t_data-BSCHL          color 7,&lt;/P&gt;&lt;P&gt;              75(9)  t_data-AUGDT           color 7,&lt;/P&gt;&lt;P&gt;              84(35) t_data-AUGBL           color 7,&lt;/P&gt;&lt;P&gt;              119(7) t_data-WAERS           color 7,&lt;/P&gt;&lt;P&gt;              126(12) l_wrbtr               color 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write:/55 t_data-sgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write:/60(10) t_data-kostl,&lt;/P&gt;&lt;P&gt;            70(10) t_data-hkont,&lt;/P&gt;&lt;P&gt;            80(20) t_data-txt20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear l_wrbtr.&lt;/P&gt;&lt;P&gt;    endloop.   " t_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    uline.&lt;/P&gt;&lt;P&gt;    write:/1(6) t_data-bukrs    color 2,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          7(8) t_data-hkont    color 2,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           18(10) t_data-lifnr   color 2.&lt;/P&gt;&lt;P&gt;    uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write:/1(6) t_data-bukrs    color 2,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          7(8) t_data-hkont    color 2,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          18(10) t_data-lifnr   color 2,&lt;/P&gt;&lt;P&gt;          105(5)  t_data-waers  color 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    line[] = t_bsak[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at line where lifnr = t_header-lifnr.&lt;/P&gt;&lt;P&gt;*for dedit&lt;/P&gt;&lt;P&gt;      if line-shkzg = 'H'.&lt;/P&gt;&lt;P&gt;        l_debit = l_debit + line-wrbtr.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;*for credit&lt;/P&gt;&lt;P&gt;      if line-shkzg = 'S'.&lt;/P&gt;&lt;P&gt;        l_credit = l_credit + line-wrbtr.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;    l_balance = l_debit -  l_credit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*for total debit &amp;amp; total credit&lt;/P&gt;&lt;P&gt;    t_cal-debit = l_debit.&lt;/P&gt;&lt;P&gt;    t_cal-credit = l_credit.&lt;/P&gt;&lt;P&gt;    append t_cal.&lt;/P&gt;&lt;P&gt;    clear t_cal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write:115(15) l_debit  color 3.   write:135(1) 'D' color 3.&lt;/P&gt;&lt;P&gt;    write:/115(15) l_credit color 3. write:135(1) 'C' color 3.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for balnce&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    write:/90(25) 'Bal.:' color 3.&lt;/P&gt;&lt;P&gt;    write:115(15) l_balance color 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear: l_debit,l_credit,l_balance.&lt;/P&gt;&lt;P&gt;    uline.&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;for totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  t_tot[] = t_cal[].&lt;/P&gt;&lt;P&gt;  loop at t_cal into t_tot.&lt;/P&gt;&lt;P&gt;    AT LAST.&lt;/P&gt;&lt;P&gt;      SUM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WRITE:115(15) t_tot-debit  color 5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WRITE:/115(15) t_tot-credit color 5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       write:/90(25) 'Bal.:' color 5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_fbalance = t_tot-debit - t_tot-credit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       write:115(15) l_fbalance color 5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE:1(130) t_tot-debit  color 5. write:135(1) 'D' color 5.&lt;/P&gt;&lt;P&gt;      WRITE:/1(130) t_tot-credit color 5. write:135(1) 'C' color 5.&lt;/P&gt;&lt;P&gt;      write:/1(115) space color 5.&lt;/P&gt;&lt;P&gt;      write: 90(25) 'Bal.:' color 5.&lt;/P&gt;&lt;P&gt;      l_fbalance = t_tot-debit - t_tot-credit.&lt;/P&gt;&lt;P&gt;      write:115(16) l_fbalance color 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "process_data&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  set_page_header&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 set_page_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write :1(15)  'Allocation'            color col_heading,&lt;/P&gt;&lt;P&gt;         15(10) 'Pstng'         color col_heading,&lt;/P&gt;&lt;P&gt;         25(5)  'Do'             color col_heading,&lt;/P&gt;&lt;P&gt;         30(10) 'Documnet'          color col_heading,&lt;/P&gt;&lt;P&gt;         40(10) 'Doc'        color col_heading,&lt;/P&gt;&lt;P&gt;         50(8)  'BusA'              color col_heading,&lt;/P&gt;&lt;P&gt;         58(5)  'LIm'        color col_heading,&lt;/P&gt;&lt;P&gt;         63(4)  'PK'         color col_heading,&lt;/P&gt;&lt;P&gt;         67(4)  'S'       color col_heading,&lt;/P&gt;&lt;P&gt;         71(4)  'P'       color col_heading,&lt;/P&gt;&lt;P&gt;         75(7)  'Clrg'       color col_heading,&lt;/P&gt;&lt;P&gt;         82(10) 'Clearing'       color col_heading,&lt;/P&gt;&lt;P&gt;         92(20) 'D/c discount Amnt'       color col_heading,&lt;/P&gt;&lt;P&gt;         112(5) 'Rsn'       color col_heading,&lt;/P&gt;&lt;P&gt;         117(2) 'G'       color col_heading,&lt;/P&gt;&lt;P&gt;         119(7)  'Curr-'       color col_heading,&lt;/P&gt;&lt;P&gt;         126(12) 'Amount in'       color col_heading,&lt;/P&gt;&lt;P&gt;         138(2)  'T'       color col_heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write :1(15)  'number'            color col_heading,&lt;/P&gt;&lt;P&gt;         15(10) 'date'            color col_heading,&lt;/P&gt;&lt;P&gt;         25(5)  'ty'      color col_heading,&lt;/P&gt;&lt;P&gt;         30(10) 'number'     color col_heading,&lt;/P&gt;&lt;P&gt;         40(18) 'date'         color col_heading,&lt;/P&gt;&lt;P&gt;         58(5)  ''        color col_heading,&lt;/P&gt;&lt;P&gt;         63(4)  ''         color col_heading,&lt;/P&gt;&lt;P&gt;         67(4)  'I'       color col_heading,&lt;/P&gt;&lt;P&gt;         71(4)  'K'       color col_heading,&lt;/P&gt;&lt;P&gt;         75(7)  'date'       color col_heading,&lt;/P&gt;&lt;P&gt;         82(24) 'doc.no'       color col_heading,&lt;/P&gt;&lt;P&gt;         105(20) 'in LC'       color col_heading,&lt;/P&gt;&lt;P&gt;         112(5) 'code'       color col_heading,&lt;/P&gt;&lt;P&gt;         117(2) 'L'       color col_heading,&lt;/P&gt;&lt;P&gt;         119(7) 'ency'       color col_heading,&lt;/P&gt;&lt;P&gt;         126(12) 'doc.curr.'       color col_heading,&lt;/P&gt;&lt;P&gt;         138(2) 'X'       color col_heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write space.&lt;/P&gt;&lt;P&gt;  uline.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " set_page_header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Kaki R&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 14 Nov 2005 02:47:04 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2005-11-14T02:47:04Z</dc:date>
    <item>
      <title>performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1102648#M103854</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi experts,&lt;/P&gt;&lt;P&gt;This is list of vendor line items code.&lt;/P&gt;&lt;P&gt;I want to display only KZ item with total amount.&lt;/P&gt;&lt;P&gt;So getting all the items and deleting which or not KZ items(excluding total amount of particular doc no.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can u tell me how to increase performance of this code.&lt;/P&gt;&lt;P&gt;I have commented * #################### like this.&lt;/P&gt;&lt;P&gt;There it is taking lot of time....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;points guaranteed&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;kaki&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  Z1F_RFKEPL00 no standard page heading&lt;/P&gt;&lt;P&gt;        line-size 140&lt;/P&gt;&lt;P&gt;        line-count 65&lt;/P&gt;&lt;P&gt;        message-id Z1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: LFA1,t005t,bsak,bseg,t001,skat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of t_bsak occurs 0,&lt;/P&gt;&lt;P&gt;        bukrs like bsak-bukrs,        "company code&lt;/P&gt;&lt;P&gt;        lifnr like bsak-lifnr,        "Vendor acc number&lt;/P&gt;&lt;P&gt;        augdt like bsak-augdt,        "Clearing date&lt;/P&gt;&lt;P&gt;        AUGBL like bsak-AUGBL,        "Clearing Document&lt;/P&gt;&lt;P&gt;        GJAHR like bsak-GJAHR,        "year&lt;/P&gt;&lt;P&gt;        belnr like bsak-belnr,        "Document number&lt;/P&gt;&lt;P&gt;        BUZEI like bsak-BUZEI,        "Line Item&lt;/P&gt;&lt;P&gt;        budat like bsak-budat,        "Posting Date in the Document&lt;/P&gt;&lt;P&gt;        bldat like bsak-bldat,        "Document date in document&lt;/P&gt;&lt;P&gt;        blart like bsak-blart,        "Document type&lt;/P&gt;&lt;P&gt;        BSCHL like bsak-BSCHL,        "Posting key&lt;/P&gt;&lt;P&gt;        WAERS like bsak-WAERS,        "Currency key&lt;/P&gt;&lt;P&gt;        CPUDT like bsak-cpudt,        "Accounting Document Entry Date&lt;/P&gt;&lt;P&gt;        SHKZG like bsak-shkzg,        "Debit/Credit Indicator&lt;/P&gt;&lt;P&gt;        DMBTR like bsak-dmbtr,        "Amount in local currency&lt;/P&gt;&lt;P&gt;        WRBTR like bsak-wrbtr,        "Amount in document currency&lt;/P&gt;&lt;P&gt;        SGTXT like bsak-sgtxt,        "Item Text&lt;/P&gt;&lt;P&gt;        SAKNR LIKE bsak-saknr,        "G/L Account Number&lt;/P&gt;&lt;P&gt;        hkont like bsak-hkont,        "General Ledger Account&lt;/P&gt;&lt;P&gt;        SKFBT LIKE BSAK-SKFBT,        "Amount Eligible for Cash Discount&lt;/P&gt;&lt;P&gt;        KOSTL LIKE BSEG-KOSTL,        "Cost center&lt;/P&gt;&lt;P&gt;        ktopl like t001-ktopl,        "chart of accounts&lt;/P&gt;&lt;P&gt;        txt20 like skat-txt20,        "Short test for the GL acc&lt;/P&gt;&lt;P&gt;        name1 like lfa1-name1,&lt;/P&gt;&lt;P&gt;        land1 like lfa1-land1,&lt;/P&gt;&lt;P&gt;        landx like t005t-landx,&lt;/P&gt;&lt;P&gt;        l_year like bsak-gjahr,&lt;/P&gt;&lt;P&gt;      end of t_bsak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of t_header occurs 0,&lt;/P&gt;&lt;P&gt;        bukrs like bsak-bukrs,&lt;/P&gt;&lt;P&gt;        belnr like bsak-belnr,&lt;/P&gt;&lt;P&gt;        augbl like bsak-augbl,&lt;/P&gt;&lt;P&gt;        gjahr like bsak-gjahr,&lt;/P&gt;&lt;P&gt;        hkont like bseg-hkont,&lt;/P&gt;&lt;P&gt;        lifnr like bsak-lifnr,&lt;/P&gt;&lt;P&gt;        land1 like lfa1-land1,&lt;/P&gt;&lt;P&gt;        name1 like lfa1-name1,&lt;/P&gt;&lt;P&gt;        name2 like lfa1-name2,&lt;/P&gt;&lt;P&gt;        name3 like lfa1-name3,&lt;/P&gt;&lt;P&gt;        ort01 like lfa1-ort01,&lt;/P&gt;&lt;P&gt;        pstlz like lfa1-pstlz,&lt;/P&gt;&lt;P&gt;        landx like t005t-landx,&lt;/P&gt;&lt;P&gt;      end of t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of t_lfa1 occurs 0,&lt;/P&gt;&lt;P&gt;        lifnr like lfa1-lifnr,&lt;/P&gt;&lt;P&gt;        name1 like lfa1-name1,&lt;/P&gt;&lt;P&gt;        land1 like lfa1-land1,&lt;/P&gt;&lt;P&gt;        landx like t005t-landx,&lt;/P&gt;&lt;P&gt;      end of t_lfa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of t_cal occurs 0,&lt;/P&gt;&lt;P&gt;         debit like bsak-wrbtr,&lt;/P&gt;&lt;P&gt;         credit like bsak-wrbtr,&lt;/P&gt;&lt;P&gt;         balance like bsak-wrbtr,&lt;/P&gt;&lt;P&gt;      end of t_cal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: t_bseg like t_bsak occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data: t_data like t_bsak occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block blk1 with frame title text-001.&lt;/P&gt;&lt;P&gt;select-options: s_lifnr for bsak-lifnr,&lt;/P&gt;&lt;P&gt;                s_bukrs for bsak-bukrs.&lt;/P&gt;&lt;P&gt;selection-screen end of block blk1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block blk2 with frame title text-002.&lt;/P&gt;&lt;P&gt;parameters s_budat like bsik-budat default sy-datum.&lt;/P&gt;&lt;P&gt;select-options: s_augdt for bsak-augdt.&lt;/P&gt;&lt;P&gt;selection-screen end of block blk2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block blk3 with frame title text-003.&lt;/P&gt;&lt;P&gt;parameters: stand as checkbox default 'X',&lt;/P&gt;&lt;P&gt;            park as checkbox.&lt;/P&gt;&lt;P&gt;selection-screen end of block blk3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;  perform process_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;P&gt;  perform set_page_header.&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  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;  data: line like t_bsak occurs 0 with header line.&lt;/P&gt;&lt;P&gt;  data: l_wrbtr(10) type c.&lt;/P&gt;&lt;P&gt;  data: l_debit type bsak-wrbtr,l_credit type bsak-wrbtr,&lt;/P&gt;&lt;P&gt;        l_balance type bsak-wrbtr.&lt;/P&gt;&lt;P&gt;  data: l_hkont(10) type n.&lt;/P&gt;&lt;P&gt;  data: l_dtotal type bsak-wrbtr,l_ctotal type bsak-wrbtr,&lt;/P&gt;&lt;P&gt;        l_fbalance type bsak-wrbtr.&lt;/P&gt;&lt;P&gt;  data: t_tot like t_cal occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Ranges R_BSTAT FOR BSAK-BSTAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  R_BSTAT-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;  R_BSTAT-OPTION = 'EQ'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF stand = 'X' and park ne 'X'.&lt;/P&gt;&lt;P&gt;    R_BSTAT-LOW = ' '.&lt;/P&gt;&lt;P&gt;    APPEND R_BSTAT.&lt;/P&gt;&lt;P&gt;  elseif stand ne 'X' and park eq 'X'.&lt;/P&gt;&lt;P&gt;    R_BSTAT-LOW = 'V'.&lt;/P&gt;&lt;P&gt;    APPEND R_BSTAT.&lt;/P&gt;&lt;P&gt;  elseif stand eq 'X' and park eq 'X'.&lt;/P&gt;&lt;P&gt;    R_BSTAT-LOW = ' '.&lt;/P&gt;&lt;P&gt;    APPEND R_BSTAT.&lt;/P&gt;&lt;P&gt;    R_BSTAT-LOW = 'V'.&lt;/P&gt;&lt;P&gt;    APPEND R_BSTAT.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select BUKRS LIFNR AUGDT AUGBL GJAHR BELNR BUZEI BUDAT BLDAT&lt;/P&gt;&lt;P&gt;         CPUDT WAERS BLART BSCHL SHKZG DMBTR WRBTR SGTXT HKONT SKFBT&lt;/P&gt;&lt;P&gt;  from bsak&lt;/P&gt;&lt;P&gt;  into corresponding fields of table t_bsak&lt;/P&gt;&lt;P&gt;  where   lifnr in s_lifnr and&lt;/P&gt;&lt;P&gt;          BUKRS in s_bukrs and&lt;/P&gt;&lt;P&gt;          budat le s_budat and " Open items&lt;/P&gt;&lt;P&gt;          augdt in s_augdt and&lt;/P&gt;&lt;P&gt;          bstat in R_BSTAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    message i016.&lt;/P&gt;&lt;P&gt;    leave list-processing.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort t_bsak by BUDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_bsak.&lt;/P&gt;&lt;P&gt;    t_bsak-l_year = t_bsak-budat(4).&lt;/P&gt;&lt;P&gt;    modify t_bsak.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT t_bsak[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select BUKRS LIFNR AUGDT AUGBL GJAHR BELNR&lt;/P&gt;&lt;P&gt;       SHKZG DMBTR WRBTR SGTXT SKFBT KOSTL BSCHL HKONT BUZEI&lt;/P&gt;&lt;P&gt;     into corresponding fields of table t_bseg from bseg&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN t_bsak&lt;/P&gt;&lt;P&gt;            where belnr = t_bsak-belnr and&lt;/P&gt;&lt;P&gt;                  gjahr = t_bsak-l_year and&lt;/P&gt;&lt;P&gt;                  bukrs = t_bsak-bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_bsak.&lt;/P&gt;&lt;P&gt;    select single * from lfa1 where lifnr = t_bsak-lifnr.&lt;/P&gt;&lt;P&gt;    move lfa1-lifnr to t_header-lifnr.&lt;/P&gt;&lt;P&gt;    move lfa1-land1 to t_header-land1.&lt;/P&gt;&lt;P&gt;    move lfa1-name1 to t_header-name1.&lt;/P&gt;&lt;P&gt;    move lfa1-name2 to t_header-name2.&lt;/P&gt;&lt;P&gt;    move lfa1-name3 to t_header-name3.&lt;/P&gt;&lt;P&gt;    move lfa1-ort01 to t_header-ort01.&lt;/P&gt;&lt;P&gt;    move lfa1-pstlz to t_header-pstlz.&lt;/P&gt;&lt;P&gt;    move t_bsak-bukrs to t_header-bukrs.&lt;/P&gt;&lt;P&gt;    append t_header.&lt;/P&gt;&lt;P&gt;    clear t_header.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to get vendor country&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at t_header.&lt;/P&gt;&lt;P&gt;    select single * from t005t where land1 = t_header-land1 and&lt;/P&gt;&lt;P&gt;                                     SPRAS = 'E'.&lt;/P&gt;&lt;P&gt;    move t005t-landx to t_header-landx.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      modify t_header.&lt;/P&gt;&lt;P&gt;      clear t_header.&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;  sort t_header.&lt;/P&gt;&lt;P&gt;  delete adjacent duplicates from t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_bsak.&lt;/P&gt;&lt;P&gt;    loop at t_bseg where belnr = t_bsak-belnr and&lt;/P&gt;&lt;P&gt;                         bukrs = t_bsak-bukrs and&lt;/P&gt;&lt;P&gt;                         gjahr = t_bsak-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_hkont = t_bseg-hkont.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To get chart of accounts&lt;/P&gt;&lt;P&gt;      select single * from t001 where bukrs = t_bseg-bukrs.&lt;/P&gt;&lt;P&gt;      move t001-ktopl to t_bseg-ktopl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To get short text for the chart of accounts&lt;/P&gt;&lt;P&gt;      select single * from skat where ktopl = t_bseg-ktopl and&lt;/P&gt;&lt;P&gt;                                      saknr = l_hkont and&lt;/P&gt;&lt;P&gt;                                      spras = 'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      t_data-bukrs = t_bsak-bukrs.&lt;/P&gt;&lt;P&gt;      t_data-lifnr = t_bsak-lifnr.&lt;/P&gt;&lt;P&gt;      t_data-augdt = t_bseg-augdt.&lt;/P&gt;&lt;P&gt;      t_data-AUGBL = t_bseg-AUGBL.&lt;/P&gt;&lt;P&gt;      t_data-GJAHR = t_bseg-GJAHR.&lt;/P&gt;&lt;P&gt;      t_data-belnr = t_bsak-belnr.&lt;/P&gt;&lt;P&gt;      t_data-BUZEI = t_bseg-BUZEI.&lt;/P&gt;&lt;P&gt;      t_data-budat = t_bsak-budat.&lt;/P&gt;&lt;P&gt;      t_data-bldat = t_bsak-bldat.&lt;/P&gt;&lt;P&gt;      t_data-blart = t_bsak-blart.&lt;/P&gt;&lt;P&gt;      t_data-BSCHL = t_bseg-BSCHL.&lt;/P&gt;&lt;P&gt;      t_data-WAERS = t_bsAK-WAERS.&lt;/P&gt;&lt;P&gt;      t_data-CPUDT = t_bsak-cpudt.&lt;/P&gt;&lt;P&gt;      t_data-SHKZG = t_bseg-shkzg.&lt;/P&gt;&lt;P&gt;      t_data-DMBTR = t_bseg-dmbtr.&lt;/P&gt;&lt;P&gt;      t_data-WRBTR = t_bseg-wrbtr.&lt;/P&gt;&lt;P&gt;      t_data-SGTXT = t_bsak-sgtxt.&lt;/P&gt;&lt;P&gt;      t_data-SAKNR = t_bseg-saknr.&lt;/P&gt;&lt;P&gt;      t_data-hkont = t_bseg-hkont.&lt;/P&gt;&lt;P&gt;      t_data-SKFBT = t_bseg-SKFBT.&lt;/P&gt;&lt;P&gt;      t_data-KOSTL = t_bseg-KOSTL.&lt;/P&gt;&lt;P&gt;      t_data-ktopl = t_bseg-ktopl.&lt;/P&gt;&lt;P&gt;      t_data-txt20 = skat-txt20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      append t_data.&lt;/P&gt;&lt;P&gt;      clear t_data.&lt;/P&gt;&lt;P&gt;    endloop.&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;####################&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at t_bsak.&lt;/P&gt;&lt;P&gt;    delete t_data where bschl = '50'.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_bsak.&lt;/P&gt;&lt;P&gt;    loop at t_data where augbl = t_bsak-augbl.&lt;/P&gt;&lt;P&gt;      delete t_data where augbl eq t_bsak-augbl and&lt;/P&gt;&lt;P&gt;                          buzei ne '02' and&lt;/P&gt;&lt;P&gt;                          blart eq 'KZ'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;it is taking lot of time here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Display----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*to display header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_header.&lt;/P&gt;&lt;P&gt;    write:/1(6) t_header-bukrs    color 2,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           7(8) t_header-hkont    color 2,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            18(10) t_header-lifnr   color 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write:/30(35) t_header-name1.&lt;/P&gt;&lt;P&gt;    write:/30(35) t_header-name2.&lt;/P&gt;&lt;P&gt;    write:/30(35) t_header-name3.&lt;/P&gt;&lt;P&gt;    write:/30(20) t_header-ort01.&lt;/P&gt;&lt;P&gt;    write:40(10)  t_header-pstlz.&lt;/P&gt;&lt;P&gt;    write:/30(20) t_header-landx.&lt;/P&gt;&lt;P&gt;    uline.&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;   loop at t_data where lifnr = t_header-lifnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     and hkont = t_header-hkont. "xxxxxxxxxx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at t_data where lifnr = t_header-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      l_wrbtr = t_data-wrbtr.&lt;/P&gt;&lt;P&gt;      if t_data-shkzg = 'H'.&lt;/P&gt;&lt;P&gt;        concatenate l_wrbtr '-' into l_wrbtr.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write:/15(11) t_data-BUDAT no-zero    color 7,&lt;/P&gt;&lt;P&gt;              26(5) t_data-BLART            color 7,&lt;/P&gt;&lt;P&gt;              30(12) t_data-belnr           color 7,&lt;/P&gt;&lt;P&gt;              42(16) t_data-BLDAT           color 7,&lt;/P&gt;&lt;P&gt;              58(5)  t_data-buzei           color 7,&lt;/P&gt;&lt;P&gt;              63(12)  t_data-BSCHL          color 7,&lt;/P&gt;&lt;P&gt;              75(9)  t_data-AUGDT           color 7,&lt;/P&gt;&lt;P&gt;              84(35) t_data-AUGBL           color 7,&lt;/P&gt;&lt;P&gt;              119(7) t_data-WAERS           color 7,&lt;/P&gt;&lt;P&gt;              126(12) l_wrbtr               color 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write:/55 t_data-sgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write:/60(10) t_data-kostl,&lt;/P&gt;&lt;P&gt;            70(10) t_data-hkont,&lt;/P&gt;&lt;P&gt;            80(20) t_data-txt20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear l_wrbtr.&lt;/P&gt;&lt;P&gt;    endloop.   " t_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    uline.&lt;/P&gt;&lt;P&gt;    write:/1(6) t_data-bukrs    color 2,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          7(8) t_data-hkont    color 2,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           18(10) t_data-lifnr   color 2.&lt;/P&gt;&lt;P&gt;    uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write:/1(6) t_data-bukrs    color 2,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          7(8) t_data-hkont    color 2,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          18(10) t_data-lifnr   color 2,&lt;/P&gt;&lt;P&gt;          105(5)  t_data-waers  color 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    line[] = t_bsak[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at line where lifnr = t_header-lifnr.&lt;/P&gt;&lt;P&gt;*for dedit&lt;/P&gt;&lt;P&gt;      if line-shkzg = 'H'.&lt;/P&gt;&lt;P&gt;        l_debit = l_debit + line-wrbtr.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;*for credit&lt;/P&gt;&lt;P&gt;      if line-shkzg = 'S'.&lt;/P&gt;&lt;P&gt;        l_credit = l_credit + line-wrbtr.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;    l_balance = l_debit -  l_credit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*for total debit &amp;amp; total credit&lt;/P&gt;&lt;P&gt;    t_cal-debit = l_debit.&lt;/P&gt;&lt;P&gt;    t_cal-credit = l_credit.&lt;/P&gt;&lt;P&gt;    append t_cal.&lt;/P&gt;&lt;P&gt;    clear t_cal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write:115(15) l_debit  color 3.   write:135(1) 'D' color 3.&lt;/P&gt;&lt;P&gt;    write:/115(15) l_credit color 3. write:135(1) 'C' color 3.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for balnce&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    write:/90(25) 'Bal.:' color 3.&lt;/P&gt;&lt;P&gt;    write:115(15) l_balance color 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear: l_debit,l_credit,l_balance.&lt;/P&gt;&lt;P&gt;    uline.&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;for totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  t_tot[] = t_cal[].&lt;/P&gt;&lt;P&gt;  loop at t_cal into t_tot.&lt;/P&gt;&lt;P&gt;    AT LAST.&lt;/P&gt;&lt;P&gt;      SUM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WRITE:115(15) t_tot-debit  color 5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WRITE:/115(15) t_tot-credit color 5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       write:/90(25) 'Bal.:' color 5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_fbalance = t_tot-debit - t_tot-credit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       write:115(15) l_fbalance color 5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE:1(130) t_tot-debit  color 5. write:135(1) 'D' color 5.&lt;/P&gt;&lt;P&gt;      WRITE:/1(130) t_tot-credit color 5. write:135(1) 'C' color 5.&lt;/P&gt;&lt;P&gt;      write:/1(115) space color 5.&lt;/P&gt;&lt;P&gt;      write: 90(25) 'Bal.:' color 5.&lt;/P&gt;&lt;P&gt;      l_fbalance = t_tot-debit - t_tot-credit.&lt;/P&gt;&lt;P&gt;      write:115(16) l_fbalance color 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "process_data&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  set_page_header&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 set_page_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write :1(15)  'Allocation'            color col_heading,&lt;/P&gt;&lt;P&gt;         15(10) 'Pstng'         color col_heading,&lt;/P&gt;&lt;P&gt;         25(5)  'Do'             color col_heading,&lt;/P&gt;&lt;P&gt;         30(10) 'Documnet'          color col_heading,&lt;/P&gt;&lt;P&gt;         40(10) 'Doc'        color col_heading,&lt;/P&gt;&lt;P&gt;         50(8)  'BusA'              color col_heading,&lt;/P&gt;&lt;P&gt;         58(5)  'LIm'        color col_heading,&lt;/P&gt;&lt;P&gt;         63(4)  'PK'         color col_heading,&lt;/P&gt;&lt;P&gt;         67(4)  'S'       color col_heading,&lt;/P&gt;&lt;P&gt;         71(4)  'P'       color col_heading,&lt;/P&gt;&lt;P&gt;         75(7)  'Clrg'       color col_heading,&lt;/P&gt;&lt;P&gt;         82(10) 'Clearing'       color col_heading,&lt;/P&gt;&lt;P&gt;         92(20) 'D/c discount Amnt'       color col_heading,&lt;/P&gt;&lt;P&gt;         112(5) 'Rsn'       color col_heading,&lt;/P&gt;&lt;P&gt;         117(2) 'G'       color col_heading,&lt;/P&gt;&lt;P&gt;         119(7)  'Curr-'       color col_heading,&lt;/P&gt;&lt;P&gt;         126(12) 'Amount in'       color col_heading,&lt;/P&gt;&lt;P&gt;         138(2)  'T'       color col_heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write :1(15)  'number'            color col_heading,&lt;/P&gt;&lt;P&gt;         15(10) 'date'            color col_heading,&lt;/P&gt;&lt;P&gt;         25(5)  'ty'      color col_heading,&lt;/P&gt;&lt;P&gt;         30(10) 'number'     color col_heading,&lt;/P&gt;&lt;P&gt;         40(18) 'date'         color col_heading,&lt;/P&gt;&lt;P&gt;         58(5)  ''        color col_heading,&lt;/P&gt;&lt;P&gt;         63(4)  ''         color col_heading,&lt;/P&gt;&lt;P&gt;         67(4)  'I'       color col_heading,&lt;/P&gt;&lt;P&gt;         71(4)  'K'       color col_heading,&lt;/P&gt;&lt;P&gt;         75(7)  'date'       color col_heading,&lt;/P&gt;&lt;P&gt;         82(24) 'doc.no'       color col_heading,&lt;/P&gt;&lt;P&gt;         105(20) 'in LC'       color col_heading,&lt;/P&gt;&lt;P&gt;         112(5) 'code'       color col_heading,&lt;/P&gt;&lt;P&gt;         117(2) 'L'       color col_heading,&lt;/P&gt;&lt;P&gt;         119(7) 'ency'       color col_heading,&lt;/P&gt;&lt;P&gt;         126(12) 'doc.curr.'       color col_heading,&lt;/P&gt;&lt;P&gt;         138(2) 'X'       color col_heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write space.&lt;/P&gt;&lt;P&gt;  uline.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " set_page_header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Kaki R&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Nov 2005 02:47:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1102648#M103854</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-11-14T02:47:04Z</dc:date>
    </item>
    <item>
      <title>Re: performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1102649#M103855</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am not sure why you are looping at t_bsak so many times, but first let us focus on the piece of code you mentioned.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is your code&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
* ####################
loop at t_bsak.
delete t_data where bschl = '50'.
&amp;lt;b&amp;gt;*--why are you looping at t_bsak, if you just wanted 
to delete t_data where bschl = '50'? You are not 
using any field of t_bsak here!!! Comment out the loop--endloop statements here.&amp;lt;/b&amp;gt;
endloop.

loop at t_bsak.
*************************
loop at t_data where augbl = t_bsak-augbl.
delete t_data where augbl eq t_bsak-augbl and
buzei ne '02' and
blart eq 'KZ'.
endloop.
**************************
&amp;lt;b&amp;gt;*-- change this code as follows
delete t_data where augbl eq t_bsak-augbl 
                and buzei ne '02' 
                and blart eq 'KZ'.&amp;lt;/b&amp;gt;
endloop.
* it is taking lot of time here

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Nov 2005 03:01:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1102649#M103855</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-11-14T03:01:52Z</dc:date>
    </item>
    <item>
      <title>Re: performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1102650#M103856</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So your code should look like this&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
delete t_data where bschl = '50'.

loop at t_bsak.
  delete t_data where augbl eq t_bsak-augbl 
                  and buzei ne '02' 
                  and blart eq 'KZ'.
endloop.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Nov 2005 03:03:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1102650#M103856</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-11-14T03:03:03Z</dc:date>
    </item>
    <item>
      <title>Re: performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1102651#M103857</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank u srinivas...&lt;/P&gt;&lt;P&gt;Points alloted&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;kaki&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Nov 2005 03:10:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1102651#M103857</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-11-14T03:10:00Z</dc:date>
    </item>
    <item>
      <title>Re: performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1102652#M103858</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;See if this code, further improves it. I tried to remove lot of redundant loops. &amp;lt;b&amp;gt;Caution, I wrote this in notepad, so I may have missed a couple of lines, so check it thoroughly. This is just to give you an idea.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
select BUKRS LIFNR AUGDT AUGBL 
       GJAHR BELNR BUZEI BUDAT 
       BLDAT CPUDT WAERS BLART 
       BSCHL SHKZG DMBTR WRBTR 
       SGTXT HKONT SKFBT       
  from bsak
  into corresponding fields of table t_bsak
 where lifnr in s_lifnr 
   and BUKRS in s_bukrs 
   and budat le s_budat 
   and augdt in s_augdt
   and bstat in R_BSTAT.


if sy-subrc ne 0.
  message i016.
  leave list-processing.
endif.


sort t_bsak by BUDAT.

loop at t_bsak.
  t_bsak-l_year = t_bsak-budat(4).

  select BUKRS LIFNR AUGDT AUGBL GJAHR BELNR
         SHKZG DMBTR WRBTR SGTXT SKFBT KOSTL 
         BSCHL HKONT BUZEI 
    into corresponding fields of t_bseg 
    from bseg FOR ALL ENTRIES IN t_bsak
   where belnr = t_bsak-belnr
     and gjahr = t_bsak-l_year
     and bukrs = t_bsak-bukrs.
*-- if BSCHL = 50, dont go further
    check t_bseg-bschl &amp;lt;&amp;gt; '50'
      and ( buzei eq '02' or
            blart ne 'KZ' ).
    l_hkont = t_bseg-hkont.

*-- To get chart of accounts
    select single * from t001 
                 where bukrs = t_bseg-bukrs.
    move t001-ktopl to t_bseg-ktopl.


*-- To get short text for the chart of accounts
    select single * from skat 
                   where ktopl = t_bseg-ktopl 
                     and saknr = l_hkont 
                     and spras = 'E'.

    t_data-bukrs = t_bsak-bukrs.
    t_data-lifnr = t_bsak-lifnr.
    t_data-augdt = t_bseg-augdt.
    t_data-AUGBL = t_bseg-AUGBL.
    t_data-GJAHR = t_bseg-GJAHR.
    t_data-belnr = t_bsak-belnr.
    t_data-BUZEI = t_bseg-BUZEI.
    t_data-budat = t_bsak-budat.
    t_data-bldat = t_bsak-bldat.
    t_data-blart = t_bsak-blart.
    t_data-BSCHL = t_bseg-BSCHL.
    t_data-WAERS = t_bsAK-WAERS.
    t_data-CPUDT = t_bsak-cpudt.
    t_data-SHKZG = t_bseg-shkzg.
    t_data-DMBTR = t_bseg-dmbtr.
    t_data-WRBTR = t_bseg-wrbtr.
    t_data-SGTXT = t_bsak-sgtxt.
    t_data-SAKNR = t_bseg-saknr.
    t_data-hkont = t_bseg-hkont.
    t_data-SKFBT = t_bseg-SKFBT.
    t_data-KOSTL = t_bseg-KOSTL.
    t_data-ktopl = t_bseg-ktopl.
    t_data-txt20 = skat-txt20.

    append t_data.
    clear t_data.
  endselect.                   " BSEG select
  select single * from lfa1 where lifnr = t_bsak-lifnr.
  move lfa1-lifnr to t_header-lifnr.
  move lfa1-land1 to t_header-land1.
  move lfa1-name1 to t_header-name1.
  move lfa1-name2 to t_header-name2.
  move lfa1-name3 to t_header-name3.
  move lfa1-ort01 to t_header-ort01.
  move lfa1-pstlz to t_header-pstlz.
  move t_bsak-bukrs to t_header-bukrs.
  select single * from t005t 
                 where land1 = t_header-land1 
                   and SPRAS = 'E'.
  move t005t-landx to t_header-landx.
  append t_header.
  clear t_header.
endloop.

sort t_header.
delete adjacent duplicates from t_header.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Nov 2005 03:25:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1102652#M103858</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-11-14T03:25:27Z</dc:date>
    </item>
  </channel>
</rss>

