Ch- Ch- Ch- Changes

SAP: Working with Change Records in SD

One of the best weapons in a support consultant’s arsenal is the ability to review document changes.  Sometimes, being able to build a precise timeline around occurrences of an issue can be crucial to finding a solution.  Let’s discuss more about the structure and use of change records in Sales and Distribution.

What Are SAP Change Records?

Every time an SAP document is changed, the system generates a set of records which capture relevant information.  These changes are stored in two main database tables:

  • CDHDR
    This table contains the header details for the change made:  The name of the object changed, the User ID who made the change, the Date and Time of the change, and the transaction code used.
  • CDPOS
    As you may have guessed, this table contains the individual change items.  The Object/Value and Change Document number match the header record, but added are the Table, Field, Indicator (Insert, Update, or Delete), and Old/New values.

You might be wondering what controls the creation of change records.  Simply speaking, a selection of similar database table fields are grouped together into an “object”.  Transaction Code SCDO provides the link between these objects and their respective database fields.  The table below contains a selection of change objects related to SD:

Object Name Description
ADRESSE Customer/Partner Address
ADRESSE2 Customer/Partner Address
ADRESSE3 Customer/Partner Address
BANF Purchase Requisition reference on the Sales Document
BUPA* A variety of BUPA changes are captured for various changes to Business Partner information
BUPR* Similar to BUPA, BUPR records capture changes to the Business Partner relationships.
COND_A Pricing Condition Record or the Pricing on a particular Sales Document
COND_B Rebate-related condition changes
CLASSIFY Material Classification
DEBI Customer Master
EQUI Equipment Master reference on an outbound delivery
FAKTBELEG Billing Document
HANDL_UNIT Handling Unit on a delivery document
ISJP_MD Data for Invoice Summary (Japan)
KRED Vendor account
LIEFERUNG Outbound Delivery Document
MDG_BP_MLT_AS Business Partner
PPE Trading Contract
VBEX Export Data
VCNUM Credit Card
VERKBELEG Sales Document, Contract, Inquiry, etc.
WBGT Trading Contract

The table above is not exhaustive, but contains the most common objects that you may need to search for.

Which SAP SD Documents Support Change Records?

Most SAP SD documents and master data objects incorporate these types of change records.  And while the list is rather lengthy, you will inevitably encounter a situation where change records are absent.  One example that comes to mind is Output Condition records (VV#1, and VV#2).  Users making changes here are pretty much anonymous.

How To Review Change Records?

There are a variety of methods used to review these change documents.  The method you’ll need will depend on the information you have available and type of object you’re interested in.  In most cases, SAP’s built-in reports will suffice for reviewing most document changes.  But just in case, we’ll start off the direct table method.

Change Records (Directly)

Generally, you don’t need to reference the table entries directly.  As you can imagine, the CDHDR and CDPOS tables can grow to be ENORMOUS in size.  You’re probably better off choosing one of the object-specific methods below.  However, there are times when you may not know which object is causing you problems, but you know WHEN or WHO is making the change.  In these cases, you can:

  • Use SE16 or SE16n to pull up the CDHDR or CDPOS tables.  You can use the information available to you — user ID, object, date/time, etc. — to pull your list of changes.

Sales Documents

There are a couple of ways to find changes for a particular Sales Document.

  • Sales Orders - Environment --> Changes (VA02, VA03)
    Sales Orders – Environment –> Changes (VA02, VA03)

    From any Sales Document, just navigate to Environment –> Changes.  This launches program RVSCD100 which allows you to review changes to all three levels of the order:  Header, Line and Schedule Line.

  • Alternatively, you can run the RVSCD100 program directly from transactions SA38 or SE38. With this program, you are limited to reviewing changes for a single document.
  • Sales Orders - Program RVSCD200
    Sales Orders – Program RVSCD200

    An alternative program, RVSCD200 (“Display Document Changes”), exists which allows you to filter changes on particular elements of Sales Documents.  You can choose from  Header, Item, Schedule Line, Conditions, Release Orders, Business Data, Partner and Contract Data.  This is handy when reviewing change logs for orders with a LOT of line items and you only care about a certain type of change.

Billing Documents

As with Sales Documents,

Billing Docs - Program RVSCD300
Billing Docs – Program RVSCD300

there are a couple of options for viewing changes:

  • From any Billing Document, navigate to Environment -> Changes to execute report RVSCD300.  This allows you to view a detailed change log.
  • You can also execute program RVSCD300 (“Display Document Changes”) through transaction SA38 or SE38.

Delivery Documents

Delivery - Environment --> Changes (VL02n, VL03n)
Delivery – Environment –> Changes (VL02n, VL03n)

Reporting changes to delivery header and items can be done through several methods:

  • From within VL02n or VL03n, navigate to Environment –> Changes to display the change records.
  • Transaction VL22 can be used to access delivery changes.  It launches program WSCDSHOW which displays delivery header and item changes.
  • If you’re looking for an ALV version of
    Delivery - Program WSCDSHOW_ALV - non-detail view (ALV)
    Delivery – Program WSCDSHOW_ALV – non-detail view (ALV)

    the above program, you can launch WSCDSHOW_ALV directly from SA38 or SE38.  It seems to be identical — superficially, at least — to its non-ALV brother.

Customer Master

Customers - Environment --> Changesa (XD02,VD02)
Customers – Environment –> Changesa (XD02,VD02)

Customer changes are a little more complex due to the fact that data is stored in different views.  This includes other types of ‘customers’, like Sales Prospects, Contacts, and Sales Partners.

  • You can review changes for individual fields from within a Change Customer transaction by clicking in a field and selecting Environment –> Field Changes.  This applies to either XD02 (for Central) and VD02 (for Sales Data).
  • Customers - Program RFDABL00_NACC
    Customers – Program RFDABL00_NACC

    A summarized report can be called up for an individual customer by selecting Environment –> Account Changes –> All Fields.

  • Transaction VD04 shows changes made to fields located on the Sales and Distribution view as well as the general view.
  • Transaction XD04 shows changes made to all customer fields including Sales & Distribution and Company Code views.
  • Customer Change Report - Transaction OV51 - Initial Screen
    Customer Change Report – Transaction OV51 – Initial Screen

    Transaction OV51 allows you to search for changes to customers by a variety of criteria:  Customer number/range, date, Company Code or Sales Organization.  Program RFDABL00 is executed in OV51.

  • Program RFDABL00_NACC is similar to RFDABL00 with the addition of Output Control parameters:  Sorting, Technical Field Names, and Name.

Material Master

It’s not uncommon to have to investigate changes to Sales fields on the material master, so I’ll include this in our SD list.

  • Material Master - Environment --> Display Changes (MM02)
    Material Master – Environment –> Display Changes (MM02)

    From within the Material Master, select Environment -> Display Changes to access the change log for the active material.

  • Transaction MM04 accesses this same program with selection criteria allowing you to view the desired level of change.

Pricing Conditions

To view changes to pricing condition records

  • Pricing - Environment Menu Options (VK12, VK13)
    Pricing – Environment Menu Options (VK12, VK13)

    From VK12, or VK13, select Environment –> Changes –> Per Condition Record to display the change report for the selected condition record.

  • The Environment –> Changes –> Change Report option launches program RV16ACHD, “Change Documents for Conditions”.  This report allows you to not only view changes by user id and Date/Time, but also by an
    Pricing - Change details (VK12, VK13)
    Pricing – Change details (VK12, VK13)

    array of SD object —  Rebate Agreement, Sales Deal, Promotion, Condition Type, and Condition table.

  • Transaction VK12 directly launches program RV16ACHD.

Legal Control  / Licensing

I can’t say that I have a deep understanding of the data behind Licensing, but here are a few programs for reviewing changes:

  • Program RVSCDBEX:  License Data: Display Change Documents
  • Program RVSCDEMB:  License: Display Change Documents
  • Program RVSCDFSL:  Legal Control: Sanctioned Party List: Change History

Wrap Up

It’s amazing how many change documents get created every day in an active SAP system.  Hopefully, the above guide will help you understand how change records work and the best reports to use for viewing change details.  Am I missing a report or an important SD object?  Please let me know if the comments.

SAP: Working with Change Records in SD was last modified: May 10th, 2016 by michael

4 thoughts on “SAP: Working with Change Records in SD”

  1. Michael – Want to say thank-you for your site articles and posts. I stumbled upon you site searching for information on SAP tables. I was recently contracted to build a small number of Data Governance reports over a manufacturing process focused on information shared by the client. Very well organized and well written

    1. Thank you so much for taking the time to provide this feedback. It means a lot to hear that this information is helping others. Best of luck on your data governance work; that can be a daunting subject. -Michael

  2. good work, thank you , in our case sales order we give particular transporter but during outbound delivery that transporter is changed . this reports not helpful for me because they transporter during picking time. so kindly tell me is there any other way i can find it

What say you?