Today we will be answering one of the common questions once you start working in master data. How do you view the change history for a customer, vendor or material in SAP? It’s a question we all face at one point when master data isn’t matching what is expected and you need to know who made the changes and when they occurred. Fortunately SAP stores changes for the majority of the master data objects. There are tables which store who changed an object, when it was changed & what tables and fields were affected. However, it’s not stored in a single table so let’s go over how this works in SAP. Today we will be going over:
- Overview of Change Documents in SAP S4 HANA
- SAP S4 HANA Tables to View History of Master Data Changes
- How to Quickly View Master Data Changes for a Single Customer, Vendor or Material
- How to Build an SAP Report in SQVI to View Master Data Changes More Easily
Consider subscribing to get the very latest articles on SAP S4 HANA
Overview of Change Documents in SAP S4 HANA
SAP has a concept that has carried over into S4 HANA related to storing what is called a change document. A change document is what SAP uses to track before and after values of master data whenever it is changed (this applies to additional areas of SAP but the focus of this article is master data). This means that whenever you go into a vendor for example and change their address & click save a change document gets created that stores information including the old & new values. Each time you save an object with different fields a new change document is created. A change document in SAP consist of two key areas the change document header & the change document items. Let’s take a look at the key fields below
- Change Document Header – (CDHDR)
- Change Doc. Object (Object Class) – This relates to the master data object itself such as a customer, vendor or material. It is an object class field
- Object Value – This is the actual value of the master data object so the customer or vendor number for example. As a note there are leading zeros etc. so you will want to use wild cards before and after for simple searching (* is wildcard in SAP)
- Document Number – This is an auto generated numeric field that uniquely specifies the change document
- User – The user who made the change
- Date & Time – The date & time of the change (these are two separate fields)
- Tcode – The transaction code that triggered the change
- Change Document Items – (CDPOS)
- Change Doc. Object (Object Class) – Same field as above in change document header
- Object Value – Same field as above in change document header
- Document Number – Same field as above in change document header
- Table Name – This is the table that was updated in the change document. As a note some table contain an initial character so I recommend using * before the table name to assist in searching
- Table Key – This is a concatenation of the relevant primary fields for the table
- Field – The field that was changed within the change document. This will be “key” if it’s creating a new table instead of a change of a specific field
- Change Ind. – This is the indicator that describes the type of change (U – Change, I – Insert, E – Delete (single field documentation), D – Delete, J – Insert (single field documentation))
- Old Unit – The previous unit associated with a change (for example LB, KG if relevant)
- New Unit – The new unit associated with a change (for example LB, KG if relevant)
- New Value – The new value of a field that was changed
- Old Value – The previous value of a field that was changed
Based on the structure you can tell that whenever you create a change document it has an associated number & date but there can be many fields associated with that change document. This is related to all the fields that were changed when clicking save on an object at one time (or from an interface for example).
The easiest way to view an example is the Tcode that can be used that combines these tables and allows you to view the overall change document. The Tcode to view change documents is RSSCD100

As you can see above this Tcode allows you to search based on either the object class, the object itself or any number of fields such as date of when the change occurred. After searching it provides all the details related to the object, user etc. We can see this below as an example of the changes that were performed on this object:

Now that we have an idea of how the change document object works, let’s discuss how to use these to determine changes. In practice to find changes for larger volumes of master data objects it is best to go directly into the backend SAP tables themselves that store the change document object. Let’s take a look at that within the next section
SAP S4 HANA Tables to View History of Master Data Changes
The fastest way to view a large number of changes that occurred on different SAP master data objects is to utilize the underlying change document object tables. As we discussed in the first section there is the header level change document & the item level. Below I have listed the corresponding tables
- Change Document Header Table – CDHDR
- Change Document Item table – CDPOS
For the list of fields check the initial part of the article that goes over the key fields within each table. With these two table you can find change history across a range of master data objects. Let’s go over a few tips and tricks on how to use these tables.
The first thing you will come across trying to view changes is determining the Change Doc. Object field (Object Class). In order to figure out based on a master data table what the object class is there is a separate table TCDOB that will help you
- Determine the Object Class Based on the Master Data Object Table – TCDOB
Let’s do a quick example to show what I mean. Let’s start with the vendor object, if you need a refresher on all the master data tables associated with master data objects in SAP S4 HANA check out this article:
https://techconsultinghub.com/2022/09/09/sap-s4-master-data-key-objects-tables/
Based on the above article we know that vendor master has a key table of LFA1. In order to determine what object class should be used we can put LFA1 into the TCDOB table in order to determine that information. Below I am using Tcode SE16N in order to accomplish this

From the results we can see that KRED is the appropriate object in order to see the history of changes.

For a quick overview of the different master data objects and their corresponding object class check the table below
| Master Data Object | Change Document Object Class |
|---|---|
| Material Master | MATERIAL |
| Material Master (Retail) | MAT_FULL |
| Customer Master | DEBI |
| Vendor Master | KRED |
| Business Partner | BUPA_BUP |
Using those change documents objects along with the merge of CDHDR table with the CDPOS table you can have reports built on based on changes or simply look through them yourself easily. As a note to get data on both tables you can link them using the change document number which will provide all the necessary information for that change. Instead of downloading in excel and uploading between the two tables or if you want more flexibility than the transaction RSSCD100 for change documents in the initial section, I recommend building out an easy report with SQVI Tcode. I will show how to do this in the final section.
Quick Tip: When searching through the CDHDR/CDPOS tables remember to use * before and after your search criteria as many times there are leading zeros etc. For example, if I want to find customer 100277 I would put *100277* in the object value field.
However if you want to quickly and easily find all the changes for a specific master data object it can easily be performed directly from the maintenance Tcodes themselves. Let’s take a look at a few examples when we don’t need a list of multiple objects changes but we want to see a specific object without needing to join tables.
How to Quickly View Master Data Changes for a Single Customer, Vendor or Material
In this section we will be answering how to view the history of changes in SAP S4 HANA for a single master data object such as a customer, vendor or material. Instead of going through the backend tables each Tcode for maintenance of the object includes an option to view the change history. If you would like to know all the Tcodes to perform maintenance for master data check out this article:
https://techconsultinghub.com/sap-s4-hana-mdm-tcodes/
Material Master Single Object Master Data Change History
Let’s get started with the material master object, if you are viewing a material utilizing MM03 you can navigate to view the change history. Let’s take a look at transaction MM03 and see where we can do this. If you want to learn more about material master in S4 check out this article:
https://techconsultinghub.com/2023/11/23/material-master-in-sap-s4-hana-overview/

As you can see if you go to the menu and environment you will be able to see a display changes option for this material. It may vary a bit based on your version so if you have any additional questions feel free to comment below. Once we click on the display changes we will get a list of change documents with the header data such as the user who performed the action, the tcode, & date/time of the change.

As a note this represents the change document header data so you will not be able to see the actual fields changed until you double click on one of the changes. Once you double click you will be able to see the actual fields changed during that save action.

As you can see once you double click on a change it provides the field description that was changed along with the old value and new value. Next let’s take a look at how to perform this for business partner customer/vendor.
Business Partner Customer & Vendor Single Object Master Data Change History
Now that we are in SAP S4 HANA the business partner is the only entrance point to customer & vendor from a Tcode perspective. This means that in order to view the change history for either a customer or a vendor it will be accessed with the same method through the BP transaction. Let’s take a look at the BP transaction and see where we can do this. If you want to learn more about business partner customer/vendor in S4 check out this article:

Here there are different options to choose from when you go to menu->extras->change history. You can either view all the changes for a specified field (by first putting your cursor into that field then navigating to the change history for this field) or you can view the change history for the business partner. Let’s start with the changes for a specific field. In this case we are going to put the cursor on the annual sales field and then navigate to the change history for this field. When you navigate to change history it will provide the date & time of the change, the business partner number, who made the change, the field name & the old vs new values.

As you can see BP has a better approach to managing change history than material. Material first shows the document headers and you have to double click into each to see the fields that were changed. BP shows a concatenated view so you do not need to check one by one each change to view which fields were included in the change.
Next lets take a look at the other option, to view all the changes for a business partner instead of for a specific field. After you navigate from menu->extras->change history->for this partner you will see the following screen.

This provides a list of fields that have been changed. If you know the specific field you would like to review you can select that field and continue. However, often it is not easy to navigate through this large list of fields especially without a search function. The easiest way to simply view all the changes for the business partner is to click the select all function (to the right of the green check mark) and proceed. This will show the overall list of changes across all the fields as you can see below:
https://techconsultinghub.com/2022/02/03/sap-s4-hana-business-partner/

As you can see above we have all the fields that have been changed along with their old and new values. In this view you can search, filter or export this data for better analysis.
How to Build an SAP Report in SQVI to View Master Data Changes More Easily
In this section I am going to quickly go over how to build a report to easily view a simple single table view of change history for either a single master data object or multiple objects. I am not going to go through an extensive overview of how to use SQVI as that is a more broad topic than what we will be going through here. The power of SQVI is the ability to join tables quickly in SAP in order to have a single table view. In order to complete this activity we are going to join the two tables we have discussed above that include all the details of change history
- Change Document Header Table – CDHDR
- Change Document Item table – CDPOS
Let’s do a walk through of the SQVI process, first you go to TCODE SQVI then you create a new quick view & have the data source as table join

Once you are inside the quickview first add the CDHDR table using the input table icon.

Next click the same insert table icon again and add the CDPOS table. SQVI will automatically join the tables together based on the relevant key fields as you can see below

Now click on the back button to start building out the report details. The first thing we are going to do is select all the fields we want to show in the report by moving fields from the available fields to the list fields. In this case I am going to add
- Object Class
- Object Value
- Change Document Number
- User Name of the person responsible in change document
- Creation Date of change document
- Time Changed
- Transaction in which a change was made
- Table Name
- Change Table Record Key
- Field Name
- Type of Change
- Change Documents Unit Referenced
- Change Documents, Referenced Currency
- New Contents of Changed Field
- Old Contents of Changed Field

These fields will show now in the report output however we want fields to have criteria for selection such as the object value so we will move to the selection fields tab and add the following
- Object Class
- Object Value
- Change Document Number
- User Name of the person responsible in change document
- Creation Date of change document
- Time Changed
- Transaction in which a change was made
- Table Name
- Change Table Record Key
- Field Name
- Type of Change
- New Contents of Changed Field
- Old Contents of Changed Field

Now we are ready to test the report, let’s click on execute which will bring up the selection screen. I am going to look for the object class of DEBI (which is customers) that have been changed between a date range

Now after we execute this report we get a clean single output table of all the changes on this object at the detailed field by field level.

Since you can easily pull up this SQVI report at any time it is very useful to build one once and easily grab any changes you’d like in the system as I find it much easier to navigate than trying to go in between excel and SAP in order to get all the information around the master data changes. As always I really hoped this help you fully understand how to view the change history of master data in SAP S4 HANA. If you have any questions please feel free to reply below. If this helped you also please consider subscribing to get the latest posts!

