<?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: ABAP CODE TUNING in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-code-tuning/m-p/3040263#M719501</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The time out error would mostly be occuring while selecting CDPOS records. This table contains lot number of records. Since this table contains every change record for any document.&lt;/P&gt;&lt;P&gt;To overcome such an issue its better to give all the keys in the WHERE clause of the SELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OBJECTCLAS&lt;/P&gt;&lt;P&gt;OBJECTID&lt;/P&gt;&lt;P&gt;CHANGENR&lt;/P&gt;&lt;P&gt;TABNAME&lt;/P&gt;&lt;P&gt;TABKEY&lt;/P&gt;&lt;P&gt;FNAME&lt;/P&gt;&lt;P&gt;CHNGIND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and also in the same order.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 26 Oct 2007 06:10:10 GMT</pubDate>
    <dc:creator>Sathish</dc:creator>
    <dc:date>2007-10-26T06:10:10Z</dc:date>
    <item>
      <title>ABAP CODE TUNING</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-code-tuning/m-p/3040262#M719500</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Abap Gurus,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a program that return timeout error code. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The objective of the program is to fetch the latest 'Released' date from the audit trail (cdhdr &amp;amp; cdpos). As this is a huge table, my program return timeout error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How do I do this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any good tuning tricks?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much in advanced.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below is the code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zmm_kpirpt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: cdpos,cdhdr,ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Types for Change Document Item&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_cdpos,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        objectclas TYPE cdobjectcl,       "Objectclas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        objectid TYPE cdobjectv,          "Objectid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        changenr TYPE cdchangenr,         "Change Number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        chngind TYPE cdchngind,           "Change Type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        value_old TYPE cdunit,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        value_new TYPE cdunit,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        tabname TYPE tabname,             "Table Name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fname TYPE fname,                 "Field Name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        mytype(2) TYPE c ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF type_cdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Types for Change Document Header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_cdhdr,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        objectid TYPE cdobjectv,  "Objectid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        udate TYPE cddatum,       "Creation date of the change document&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        utime TYPE cduzeit,       "Time changed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        mytypez(2) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF type_cdhdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Types for PO &amp;amp; PR connection&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_ekpo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ebeln TYPE ebeln,         "Purchasing Document Number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      banfn TYPE banfn,         "Purchase Requisition Number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      badat1 TYPE badat,        "Requisition (Request) Date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      bedat1 TYPE ebdat,        "Purchasing Document Date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mthno TYPE i,             "Month no added by lakshmi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      mth(5) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      cnt TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      tot TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      avgday TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF type_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_mytype,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         mthno TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         mth(5) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         cnt TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         tot TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         avgday TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF type_mytype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;  Work areas Decalartion&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fs_cdpos     TYPE type_cdpos,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fs_cdhdr     TYPE type_cdhdr,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fs_ekpo      TYPE type_ekpo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fs_ekpo2      TYPE type_ekpo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fs_mytype    TYPE type_mytype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;  Internal tables Decalartion&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table Purchasing Document Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  t_ekpo       TYPE STANDARD TABLE OF type_ekpo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table Purchasing Document Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  t_ekpo2       TYPE STANDARD TABLE OF type_ekpo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table for Change Document Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  t_cdpos  TYPE STANDARD TABLE OF type_cdpos,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table for Change Document Header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  t_cdhdr  TYPE STANDARD TABLE OF type_cdhdr,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table for Mytype&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  t_mytype TYPE STANDARD TABLE OF type_mytype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  Work variables Decalartion&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_index TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_num TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_mthno TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*populating t_cdpos that matches the PO &amp;amp; PR crietria&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          objectclas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          objectid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          changenr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          chngind&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          value_old&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          value_new&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          tabname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          fname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          FROM cdpos INTO TABLE t_cdpos&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          WHERE chngind EQ 'U'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          AND fname EQ 'FRGKE'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          AND tabname EQ 'EKKO'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          AND value_new EQ 'R'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_cdpos INTO fs_cdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    w_index = w_index + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    fs_cdpos-mytype = 'PO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY t_cdpos FROM fs_cdpos INDEX w_index TRANSPORTING  mytype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fs_cdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          objectclas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          objectid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          changenr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          chngind&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          value_old&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          value_new&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          tabname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          fname&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          FROM cdpos&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPENDING TABLE t_cdpos&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          WHERE chngind EQ 'U'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          AND fname EQ 'FRGKZ'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          AND tabname EQ 'EBAN'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          AND value_new EQ '2'.&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_cdpos INTO fs_cdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    w_index = w_index + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    fs_cdpos-mytype = 'PR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY t_cdpos FROM fs_cdpos INDEX w_index TRANSPORTING  mytype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*populating t_cdhdr to get PO that match cdpos&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fs_cdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_cdpos INTO fs_cdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT objectid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         udate&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         utime&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         FROM cdhdr INTO TABLE t_cdhdr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN t_cdpos&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WHERE  objectid EQ t_cdpos-objectid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*get the most recent pr &amp;amp; po&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT t_cdhdr BY objectid udate utime DESCENDING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM t_cdhdr COMPARING objectid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT t_cdpos BY objectid changenr DESCENDING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM t_cdpos COMPARING objectid .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*update t_cdhdr with corresponding type (po or pr)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fs_cdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fs_cdhdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR w_index.&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_cdpos INTO fs_cdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_index = w_index + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; READ TABLE t_cdhdr INTO fs_cdhdr WITH KEY objectid = fs_cdpos-objectid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    fs_cdhdr-mytypez = fs_cdpos-mytype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY t_cdhdr FROM fs_cdhdr INDEX w_index TRANSPORTING mytypez.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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;populating t_ekpo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT ebeln&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         banfn&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         FROM ekpo INTO TABLE t_ekpo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN t_cdpos&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         WHERE ebeln EQ t_cdpos-objectid+0(10)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         OR banfn EQ t_cdpos-objectid+0(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*get only those transaction with po creation&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DELETE t_ekpo WHERE banfn IS INITIAL OR banfn = '' OR ebeln IS INITIAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OR ebeln = ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR w_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fs_cdhdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_ekpo INTO fs_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_index = w_index + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE t_cdhdr INTO fs_cdhdr WITH KEY objectid = fs_ekpo-ebeln&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF fs_cdhdr-mytypez ='PO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      fs_ekpo-bedat1 =  fs_cdhdr-udate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY t_ekpo FROM fs_ekpo INDEX w_index TRANSPORTING bedat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR w_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fs_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fs_cdhdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_ekpo INTO fs_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_index = w_index + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE t_cdhdr INTO fs_cdhdr WITH KEY objectid = fs_ekpo-banfn&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF fs_cdhdr-mytypez ='PR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      fs_ekpo-badat1 =  fs_cdhdr-udate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY t_ekpo FROM fs_ekpo INDEX w_index TRANSPORTING badat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DELETE t_ekpo WHERE bedat1 = '00000000' OR badat1 = '00000000'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR w_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fs_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR fs_cdhdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_ekpo INTO fs_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_index = w_index + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE fs_ekpo-badat1+4(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN '01'.&lt;/P&gt;&lt;P&gt;        fs_ekpo-mth = 'Jan'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fs_ekpo-mthno = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN '02'.&lt;/P&gt;&lt;P&gt;        fs_ekpo-mth = 'Feb'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fs_ekpo-mthno = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN '03'.&lt;/P&gt;&lt;P&gt;        fs_ekpo-mth = 'Mar'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fs_ekpo-mthno = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN '04'.&lt;/P&gt;&lt;P&gt;        fs_ekpo-mth = 'Apr'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fs_ekpo-mthno = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN '05'.&lt;/P&gt;&lt;P&gt;        fs_ekpo-mth = 'May'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fs_ekpo-mthno = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN '06'.&lt;/P&gt;&lt;P&gt;        fs_ekpo-mth = 'Jun'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fs_ekpo-mthno = 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN '07'.&lt;/P&gt;&lt;P&gt;        fs_ekpo-mth = 'Jul'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fs_ekpo-mthno = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN '08'.&lt;/P&gt;&lt;P&gt;        fs_ekpo-mth = 'Aug'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fs_ekpo-mthno = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN '09'.&lt;/P&gt;&lt;P&gt;        fs_ekpo-mth = 'Sep'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fs_ekpo-mthno = 9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN '10'.&lt;/P&gt;&lt;P&gt;        fs_ekpo-mth = 'Oct'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fs_ekpo-mthno = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN '11'.&lt;/P&gt;&lt;P&gt;        fs_ekpo-mth = 'Nov'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fs_ekpo-mthno = 11.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN '12'.&lt;/P&gt;&lt;P&gt;        fs_ekpo-mth = 'Dec'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        fs_ekpo-mthno = 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY t_ekpo FROM fs_ekpo INDEX w_index TRANSPORTING mthno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                                          mth.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Clear the work variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_index,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_mthno,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fs_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sort the internal table based on Month.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT t_ekpo BY mthno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Loop through the internal table to identify no of POs/Month&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_ekpo INTO fs_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Current loop counter&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_index = sy-tabix.&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;For the first record assign the month value into variable&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and set the counter to 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF w_index EQ 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    w_mthno = fs_ekpo-mthno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    fs_mytype-mthno = w_mthno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    fs_mytype-mth = fs_ekpo-mth.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    fs_mytype-cnt = fs_mytype-cnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    fs_mytype-tot =  fs_mytype-tot + fs_ekpo-bedat1 - fs_ekpo-badat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&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;  From second record onwards, check whether the month in current&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  record is same as that of prevous record and if found to be same&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  then increment the counter for no of PO's&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF fs_ekpo-mthno EQ w_mthno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      fs_mytype-cnt = fs_mytype-cnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      fs_mytype-tot =  fs_mytype-tot + fs_ekpo-bedat1 - fs_ekpo-badat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    If the Month value of current record is not as same as that of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    previous one, then append the record count for previous month&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    into the final internal table, clear the work area, assign&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    the new month to work variable, set the counter for no of PO's&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    in this month to 1 again.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND fs_mytype TO t_mytype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: fs_mytype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      w_mthno = fs_ekpo-mthno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      fs_mytype-mthno = w_mthno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      fs_mytype-mth = fs_ekpo-mth.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      fs_mytype-cnt = fs_mytype-cnt + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      fs_mytype-tot =  fs_mytype-tot + fs_ekpo-bedat1 - fs_ekpo-badat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: fs_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; At the end of all records final record is still not updated to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; final internal table hence needs to be appended&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND fs_mytype TO t_mytype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fs_mytype,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_mthno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/1 sy-uline(88).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sort the internal table by internal counter (month no) which will&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;not be displayed at any point of time&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT t_mytype BY mthno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write: /1  sy-vline,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; 5 'Month',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;20  sy-vline,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;30 'No.',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;37  sy-vline,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;46 'Total' ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;55  sy-vline,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;61 'Average',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;72  sy-vline,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;76 'Target',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;88  sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/1 sy-uline(88).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_mytype INTO fs_mytype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write out the output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fs_mytype-avgday = fs_mytype-tot div fs_mytype-cnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;write: /1   sy-vline,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5   fs_mytype-mth,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;20  sy-vline,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;22  fs_mytype-cnt ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;37  sy-vline,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;39  fs_mytype-tot,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;55  sy-vline,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;57  fs_mytype-avgday,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;72  sy-vline,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;79  '7',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;88  sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR: fs_mytype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/1 sy-uline(88).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FREE fs_ekpo.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Oct 2007 06:05:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-code-tuning/m-p/3040262#M719500</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-26T06:05:20Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP CODE TUNING</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-code-tuning/m-p/3040263#M719501</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The time out error would mostly be occuring while selecting CDPOS records. This table contains lot number of records. Since this table contains every change record for any document.&lt;/P&gt;&lt;P&gt;To overcome such an issue its better to give all the keys in the WHERE clause of the SELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OBJECTCLAS&lt;/P&gt;&lt;P&gt;OBJECTID&lt;/P&gt;&lt;P&gt;CHANGENR&lt;/P&gt;&lt;P&gt;TABNAME&lt;/P&gt;&lt;P&gt;TABKEY&lt;/P&gt;&lt;P&gt;FNAME&lt;/P&gt;&lt;P&gt;CHNGIND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and also in the same order.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Oct 2007 06:10:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-code-tuning/m-p/3040263#M719501</guid>
      <dc:creator>Sathish</dc:creator>
      <dc:date>2007-10-26T06:10:10Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP CODE TUNING</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-code-tuning/m-p/3040264#M719502</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Better to avoid modify in code and replace with field symbols that will increase performance .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Jan 2008 19:51:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-code-tuning/m-p/3040264#M719502</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-15T19:51:20Z</dc:date>
    </item>
  </channel>
</rss>

