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:
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.
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:
|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|
|EQUI||Equipment Master reference on an outbound delivery|
|HANDL_UNIT||Handling Unit on a delivery document|
|ISJP_MD||Data for Invoice Summary (Japan)|
|LIEFERUNG||Outbound Delivery Document|
|VERKBELEG||Sales Document, Contract, Inquiry, etc.|
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.
There are a couple of ways to find changes for a particular Sales Document.
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.
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.
As with Sales Documents,
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.
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
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 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).
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.
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.
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.
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.
To view changes to pricing condition records
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
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
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.