How to track changes in SAP objects

Dmitry Kaglik

January 20, 2013



There are hundreds, if not thousands, of different objects in SAP. To take Finance alone, we can create, maintain and process GL accounts, financial documents, cost centres, profit centres, fixed assets and so forth.

But the creation of the object is not the only step in its lifecycle. It can also be changed and, rarely, deleted. Some of the changes can have serious consequences on linked processes. When that happens, the question arises among business users and the support team: who did this and why did they make that change?

While the question “why” remains solely on the conscience of the responsible person, SAP often has the ability to tell “who, when and what” changed. Many objects in SAP ERP have “Change documents” listed somewhere in the menu or on the transaction screen itself.

Menu element for Object changes

Transaction element for Object changes

But what if you need to track changes for multiple objects at one time?

It is easy for some objects. For example, you can track changes for Vendor and Customer Master Records using transaction codes S_ALR_87012089 and S_ALR_87012182 respectively.

However, it is not possible for some other objects. For example, you will not find standard reports to track changes on multiple Cost Centres or FI documents, though you can see changes for individual objects.

Here is the time for some technical wheeziness to come into play.

SAP stores changes for most of the standard objects in 2 tables: CDHDR and CDPOS. Changes in SAP’s terms are also documents. That’s why each change has header (CDHDR) and items (CDPOS). Now, looking into the tables CDHDR and CDPOS, you will be able to see who, what and when changed.
Now, this is a place to hold up a big warning sign.


Never ever, try to run reports on tables CDHDR and CDPOS without a proper understanding of how information is stored there. Determine first, what your object’s class and ID are, and how ID is generated. Table TCDOB can help you in this.

For example, changes in Cost Centres are recorded with Object Class KOSTL and Object ID consisting of concatenated Controlling Area and Cost Centre code. At the same time, changes in Bank master data are recorded with Object Class BANK and Object ID consisting of concatenated Client number, country and bank key. Don’t forget in the latter case that the SAP field for country code is 3 characters long, so expect a space between the country code and bank key if you use “standard” country codes like GB, DE, ZA or US.

Now, when you have figured out the rules, you can write a short specification for the developer and write a report showing the changes in object of interest.

You may ask, why not use simpler tools like SAP Query or Quick Viewer to link just these 2 tables together? I can tell you 3 reasons for that:

  1. CDPOS is a cluster table, which is not available as Data Source in these simple tools. That should be enough already.
  2. There are no easy ways to concatenate values in SAP Query or Quick Viewer to run selection only for particular objects. I doubt your user will type proper Object ID “200ZA 506009” if he wants to see changes for bank 506009 in South Africa.
  3. On the flip side, there are no easy ways in SAP Query or Quick Viewer to split values from one technical field into several display fields. I doubt your user will be happy to see changes for the object “200ZA 506009”, while he is interested in changes for the bank 506009 in South Africa.

Unfortunately, not all the objects in SAP leave traces in CDHDR/CDPOS. However, some of them leave traces in Transport Requests. How you can search through them? Read another article: How to track changes in SAP configuration objects.

You may also have some project-specific objects. How to track changes in these bespoke SAP objects? Read about this!

Do you want to know more? Subscribe to this site for future updates. Otherwise, ask questions through the You need our help page.

Related Posts

Top SAP Expert posts from 2021

Dmitry Kaglik

January 10, 2022


No Comment

The year 2021 is behind us. There were many articles published on SAP Expert blog that year, as well as during previous years. Let’s see what were the most read posts from 2021. Search Strings: Powerhorse of Electronic Bank Statement More Free SAP Training Do you need help with SAP Job interviews? As for the […]

Read More

Merry Christmas and Happy New Year 2022 from SAP Expert

Dmitry Kaglik

December 25, 2021


No Comment

My dear readers! It is holiday season again upon us! Another year has gone. 2021 comes to the end. The year of surprises, struggle, success and wins. Christmas is today, and New Year is just around the corner. Let’s celebrate these! Let’s make new and better plans for future year. SAP Expert had its ups […]

Read More


  • Joel van Ormelingen on January 21, 2013

    hi for SAP HR PA there’s report rpuaud00 for OM there’s another one; however you also need to customize what changes will be able to trace etc.

    and probably lots more for all the different modules:( as far as i know there is no generic solution to cover all objects also probably because there is never the need to report on it:)

  • Jagan Gunja on March 10, 2014

    Options for config tables and development objects to find who/when changed.
    1. For config objects like tables/views, you can search E071K with wild card (i.e., with ‘*’ ) search strings for transport request no., view/table name, key value.
    For development objects like ABAP code, search table E071 with trans.req#, object type, object name.
    Then copy the transport’s and in SE03 txn, go get details of the transport request details.
    However if the transport request has been deleted, you would be able to find its details.

    2. You can also use txn SE03 – get details of transport request.

    I find option 1 more convenient. This is commonly used by functional consultants for keeping track of changes being done for an object.

  • Lotis on June 17, 2017

    how can i view the sap change documents in table or in a list? just need the answer badly. thanks.

    • Dmitry Kaglik on June 17, 2017

      Tables for change documents are listed directly in this post. Please read carefully.

  • Thembisile Mqokolo on February 20, 2018

    Hi Expects

    Somebody disabled object in a role, Now I would like to search who did that. Can you please tell me how can I investigate who did that.

  • Giridharan on February 22, 2018

    How to find – who made changes to user id under the field “Last Changed On”
    for Ex., in SU01 – i could see who made changes to a user’s id in “Last Changed On”

    I need that to find for a 500+ users. So can i fetch that data from any Table?

  • […] 5. How to track changes in SAP objects […]

Leave a Reply

Your email address will not be published. Required fields are marked *

Search this site


Will you be happy to pay for the 3rd edition of the book FREQUENTLY ASKED QUESTIONS ON SAP FINANCE?

View Results

Loading ... Loading ...

Search this site


You can subscribe to our regular updates here.

Follow Us!


Will you be happy to pay for the 3rd edition of the book FREQUENTLY ASKED QUESTIONS ON SAP FINANCE?

View Results

Loading ... Loading ...
Disclaimer and privacy policy