<?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: CDPOS Performance issue in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479698#M1556092</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Raj,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my understanding is that change documents tables are optimized for fast WRITE operations. The poor performance of the READ is  accepted. SAP takes great care to optimize the CDPOS query in the function group SCD2, e.g. use CLIENT SPECIFIED in the FOR ALL ENTRIES to specify all key fiels (should we always do this for use cluster tables?). If you have applied all OSS notes to your system, I would not expect much from a custom query.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now, if you can afford spending a lot of time and resources on this problem, I will sugest a "poor man index" table for CDPOS, designed with your report/application in mind, that will be filled with periodic job analyzing the change history table and updating your custom "index" table. The gain would then be truly noticeable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;J.N.N&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 26 Nov 2010 22:03:59 GMT</pubDate>
    <dc:creator>nomssi</dc:creator>
    <dc:date>2010-11-26T22:03:59Z</dc:date>
    <item>
      <title>CDPOS Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479691#M1556085</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have needed to fetch huge data (800,000) from CDHDR and CDPOS tables in a report. In select statement I have used all the possible key fields in the where condition and  tried with CHANGEDOCU_CDPOS_READ functional module , But still CDPOS has taking more time for fetching the data from database. It takes more than 5-10 hrs while running in the background. Can you please anyone suggest me to retrieving data faster from CDPOS?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Raj&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Thomas Zloch on Nov 19, 2010 1:55 PM - local units converted&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Nov 2010 12:48:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479691#M1556085</guid>
      <dc:creator>RajPal_SAP</dc:creator>
      <dc:date>2010-11-19T12:48:41Z</dc:date>
    </item>
    <item>
      <title>Re: CDPOS Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479692#M1556086</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You need to post your code to get related tips on performance improvements.  Have you traced the selection?  Where is the time lag - CDHDR or CDPOS?  10 hours is a long time, even for that number of records...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Nov 2010 15:27:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479692#M1556086</guid>
      <dc:creator>brad_bohn</dc:creator>
      <dc:date>2010-11-19T15:27:45Z</dc:date>
    </item>
    <item>
      <title>Re: CDPOS Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479693#M1556087</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please check the blog:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_blogpost" href="https://community.sap.com/" __jive_macro_name="blogpost" modifiedtitle="true" __default_attr="43649"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope it will be useful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 20 Nov 2010 13:32:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479693#M1556087</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-11-20T13:32:21Z</dc:date>
    </item>
    <item>
      <title>Re: CDPOS Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479694#M1556088</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it should not take so much of time. how are you doing it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you must be getting CHANGENR for your OBJECTCLAS and OBJECTID or may be other selection criteia from your CDHDR, &lt;/P&gt;&lt;P&gt;sort the table on basis of OBJECTCLAS OBJECTID and CHANGENR.&lt;/P&gt;&lt;P&gt;delete adjacent duplicates from the table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then fetchthe records from CDPOS for all these entries of CHANGENR in the table(CDHDR table).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;while selecting the data from CDHDR you can take packet size in to consideration.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Gunjan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Nov 2010 11:13:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479694#M1556088</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-11-23T11:13:41Z</dc:date>
    </item>
    <item>
      <title>Re: CDPOS Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479695#M1556089</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;FAEI and use of package size will NOT (generally speaking) improve performance.  Package size is primarily a memory management tool.  If one does a lot of sorts, loops, etc., use of package size may result in some performance improvement.  FAEI is rarely the fastest way to select data, as noted on the ABAP forums, and as proven by SE30 Tips &amp;amp; Tricks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Nov 2010 18:00:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479695#M1556089</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-11-23T18:00:16Z</dc:date>
    </item>
    <item>
      <title>Re: CDPOS Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479696#M1556090</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, CDPOS is a cluster table, so a view or JOIN is not possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Nov 2010 18:20:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479696#M1556090</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-11-23T18:20:26Z</dc:date>
    </item>
    <item>
      <title>Re: CDPOS Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479697#M1556091</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dave,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FAEI is rarely the fastest way to select data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Only if the no of entries( in subset table ) is less &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Nov 2010 18:27:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479697#M1556091</guid>
      <dc:creator>kesavadas_thekkillath</dc:creator>
      <dc:date>2010-11-23T18:27:21Z</dc:date>
    </item>
    <item>
      <title>Re: CDPOS Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479698#M1556092</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Raj,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my understanding is that change documents tables are optimized for fast WRITE operations. The poor performance of the READ is  accepted. SAP takes great care to optimize the CDPOS query in the function group SCD2, e.g. use CLIENT SPECIFIED in the FOR ALL ENTRIES to specify all key fiels (should we always do this for use cluster tables?). If you have applied all OSS notes to your system, I would not expect much from a custom query.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now, if you can afford spending a lot of time and resources on this problem, I will sugest a "poor man index" table for CDPOS, designed with your report/application in mind, that will be filled with periodic job analyzing the change history table and updating your custom "index" table. The gain would then be truly noticeable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;J.N.N&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Nov 2010 22:03:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479698#M1556092</guid>
      <dc:creator>nomssi</dc:creator>
      <dc:date>2010-11-26T22:03:59Z</dc:date>
    </item>
    <item>
      <title>Re: CDPOS Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479699#M1556093</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jacques,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It seems the way you have proposed to have the index table is very attractive. Especially one of my case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are gonna need to access CDPOS first to have the objectid etc. Code will be like below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CALL FUNCTION 'CHANGEDOCU_CDPOS_READ'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IV_OBJECTCLAS      = 'BANF'&lt;/P&gt;&lt;P&gt;      IV_TABNAME         = 'EBAN'&lt;/P&gt;&lt;P&gt;      IV_FNAME           = 'FRGKZ'&lt;/P&gt;&lt;P&gt;      IV_CLIENT          = SY-MANDT&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      EV_COUNT           = I_COUNT&lt;/P&gt;&lt;P&gt;      ET_CDPOS           = IT_CDPOS&lt;/P&gt;&lt;P&gt;      ET_PCDPOS          = IT_PCDPOS&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NO_IMPORTPARAMETER = 1&lt;/P&gt;&lt;P&gt;      OTHERS             = 2. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After this, we will do below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_CDPOS INTO WA_CDPOS.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING WA_CDPOS TO WA_CDPOS1.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE *&lt;/P&gt;&lt;P&gt;      INTO WA_CDHDR&lt;/P&gt;&lt;P&gt;      FROM CDHDR&lt;/P&gt;&lt;P&gt;     WHERE OBJECTCLAS = 'BANF'&lt;/P&gt;&lt;P&gt;       AND OBJECTID = WA_CDPOS-OBJECTID&lt;/P&gt;&lt;P&gt;       AND CHANGENR = WA_CDPOS-CHANGENR&lt;/P&gt;&lt;P&gt;       AND UDATE IN R_DATE.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      WA_CDPOS1-UDATE = WA_CDHDR-UDATE.&lt;/P&gt;&lt;P&gt;      APPEND WA_CDPOS1 TO IT_CDPOS1.&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;Which means we need to have the objectid from cdpos first. So far, other FM which mentioned in some of the sites are pending to be taken.(CHANGEDOCUMENT_READ_HDRS_ONLY,CHANGEDOCUMENT_READ_HEADERS etc)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The direct way to fine tune the abovve select to have the index table like you mentioned. But how we can use periodic job to update the Z table to keep the synchronous records with CDPOS have?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can I have some information?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Oct 2011 10:33:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479699#M1556093</guid>
      <dc:creator>emma_an</dc:creator>
      <dc:date>2011-10-11T10:33:15Z</dc:date>
    </item>
    <item>
      <title>Re: CDPOS Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479700#M1556094</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is a one year old thread ...&lt;/P&gt;&lt;P&gt;I have my doubts that you will get the info you requested &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Volker&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Oct 2011 15:33:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479700#M1556094</guid>
      <dc:creator>volker_borowski2</dc:creator>
      <dc:date>2011-10-11T15:33:08Z</dc:date>
    </item>
    <item>
      <title>Re: CDPOS Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479701#M1556095</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Raj,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Some other ideas.  OSS note 646106 talks about options to read the tables.  OSS notes 513454, 706836, and 1257133 may be helpful to a basis admin or DBA.  I would ask if the 800000 records are needed and if active archiving of the data is occurring.  The 1257133 note may help there to reduce the volume.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another option is to create a tablespace on EFD (Enterprise Flash Drive) / SDD and place the key tables there.  These drives are optimized for reads.  EMC has storage with a mixture of EFD/ Fibre Channel / and SATA drives.  This would require efforts from the DBA and storage folks and should be a last resort if all other ideas fail.  800000 records are not a lot and access should take minutes not hours.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good Luck.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Allan Stone&lt;/P&gt;&lt;P&gt;SAP Solutions Architect&lt;/P&gt;&lt;P&gt;EMC Solutions Design Center&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Rob Burbank on Nov 16, 2011 4:08 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Nov 2011 21:06:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479701#M1556095</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-11-16T21:06:39Z</dc:date>
    </item>
    <item>
      <title>Re: CDPOS Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479702#M1556096</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;first get records from CDHDR table using Object class and Object id.&lt;/P&gt;&lt;P&gt;Object id having document number whatever you required.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Based CDHDR table records, get CDPOS table by using Object class, Object id and Change number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It will increase performance for getting Change number documents.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jan 2012 18:20:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479702#M1556096</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-01-05T18:20:47Z</dc:date>
    </item>
    <item>
      <title>Re: CDPOS Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479703#M1556097</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you are doing everything right and passing all possible key fields in select statement and still facing issues - then I would suggest you to give a try using CURSOR. Please find a link below regarding more details to use cursor:&lt;/P&gt;&lt;P&gt;[http://help.sap.com/saphelp_470/helpdata/en/fc/eb3b23358411d1829f0000e829fbfe/content.htm]&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jan 2012 22:21:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/cdpos-performance-issue/m-p/7479703#M1556097</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-01-25T22:21:35Z</dc:date>
    </item>
  </channel>
</rss>

