Skyline view of New York City, this is to show the breadth of buildings similar to the complexity of SAP S4 HANA master data Management MDM

Simplify Your SAP S4 HANA Master Data Experience

The complex world of SAP S4 Hana Master Data

SAP S4 HANA History of Changes for Master Data Objects

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:

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

This is the SAP Tcode RSSCD100 selection screen. In this example DEBI is the object class which will provide a list of customer changes
SAP S4 HANA RSSCD100 Tcode Selection Screen

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:

This is the SAP Tcode RSSCD100 output screen. In this example DEBI is the object class which has a list of changes showing the user, date & type of change
SAP S4 HANA RSSCD100 Output Showing Change History

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:

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

This is the Tcode SE16N in SAP displaying the TCDOB table selection screen
SAP S4 HANA Tcode SE16N to view the TCDOB Selection Screen

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

This is the Tcode SE16N in SAP displaying the TCDOB table showing the object class that is needed for change documents based on the table name
SAP S4 HANA Tcode SE16N to view the TCDOB Object Class based on Table Name

For a quick overview of the different master data objects and their corresponding object class check the table below

Master Data ObjectChange Document Object Class
Material MasterMATERIAL
Material Master (Retail)MAT_FULL
Customer MasterDEBI
Vendor MasterKRED
Business PartnerBUPA_BUP
SAP S4 HANA Master Data Objects & Associated Change Document Object Class

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:

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:

This is the Tcode MM03 in SAP showing the navigation to get to the display changes for the object by going to menu->environment->Display Changes
SAP S4 HANA MM03 Navigation to Display Changes for material

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.

This is the Tcode MM03 in SAP showing the list of changes for the material. It is the header level data which shows user, time and tcode that is related to the changes.
SAP S4 HANA Change History Header for a Material Master

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.

This is the Tcode MM03 in SAP showing the list of changes for the material. It is the field level data that shows the field that was changed along with the old and new values.
SAP S4 HANA Change History Field Details for a Material Master

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:

This is the Tcode BP in SAP showing the navigation to get to the display changes for the object by going to menu->extras->change history
SAP S4 HANA BP Navigation to Display Changes for Business Partner (customer/vendor)

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.

This is the Tcode BP in SAP showing the list of changes for a specific field. It shows who changed the field along with old & new values
SAP S4 HANA BP List of Changes for a Single Field

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 is the Tcode BP in SAP showing the list of fields that have been changed so you can select which are applicable and view more details
SAP S4 HANA BP List of Fields with Changes

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:

This is the Tcode BP in SAP showing the list of changes for all fields that have been changed for the business partner. It shows who changed the field along with old & new values
SAP S4 HANA BP List of Changes for all Fields on the 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

This is the SQVI tcode in SAP showing the creation of a new report called MD single view of changes
SAP S4 HANA SQVI Tcode New Report Screen

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

This is the SQVI Tcode in SAP showing how to add a table to the join option
SAP S4 HANA SQVI Tcode Adding Table for Join

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

This is the SQVI Tcode in SAP showing two tables that have been joined together (CDHDR & CDPOS)
SAP S4 HANA SQVI Tcode Joining CDHDR and CDPOS tables

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
This is the SAP SQVI tcode & this is showing building out the report by showing the list of fields that will be on the output for this report
SAP S4 HANA SQVI List of Fields to be Output in Report

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
This is the SAP SQVI tcode & this is showing building out the report by showing the list of fields that will be used as selection criteria for the report
SAP S4 HANA SQVI List of Fields to be Used as Selection Criteria for Report

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

This is now the results of the report built with the SQVI tcode showing the selection screen of fields available in SAP
SAP SQVI Report Execution Showing the Available Fields in the Selection Screen

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.

This is now the results of the report built with the SQVI tcode showing the output of the report which combined the CDHDR & CDPOS tables in SAP
SAP SQVI Report Execution Showing Output of Report (Single Master Data Change View)

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!

Leave a Reply

Discover more from Simplify Your SAP S4 HANA Master Data Experience

Subscribe now to keep reading and get access to the full archive.

Continue reading