The Ultimate Cheat Sheet on SAP SD Database Architecture

Often, you would need to understand the technical aspect of how things are structured to really appreciate an application. SAP is no different. However, there are many functional areas and understanding the entire database structure for massive software like SAP in a single go is an uphill task.  Hence, it is better to go via each functional area. In this article, I attempt to cover the important database tables for SAP Sales and Distribution.

This is especially useful for someone who is new to SD or has been working on the functional side and would want to understand it from the database point of view. Moreover, I am structuring the tables in a sequential manner which will help you in navigating easily as well as remembering them. Please note that the focus here is on understanding and building confidence instead of width and coverage.

Enterprise Structure

You cannot start with the application until and unless you have an enterprise structure in place. This article doesn’t want to go into the topic but it lists out the database tables in this regards.

 S.No  Table  Remarks
1. TVKO This has the Sales Organization definition and details of its currency and address. VKORG field of this table is one of the crucial element of other SD tables.
2. TVKOV This table has all the distribution channels for Sales Org
3. TVKOS This table has all the divisions allowed for sales Org
4. TVAKZ This table has all the allowed Order types for the Sales Org
5. TVTA This table has possible combination of Sales Org / Distribution Channel / Division i.e. Sales area

Master Data

Once enterprise structure is created, you must understand the master data and how it relates  the enterprise structure which we have discussed above.

 S.No  Table  Remarks
1. KNA1 This table has the customer related master data
2. MARA This table has material master related information
3. KNVV Sales Area data for the customer is stored in this table.
4. MVKE Sales Area data for material master is stored in this table

Transaction Data

When documents are created within organizational units and pertaining the master data that we discussed above. The tables which are listed below can contain a lot of records and unlike the first two sets, their size can be huge.

 S.No  Table  Remarks
1. VBAK It contains all the sales document headers. Important fields are VBELN (the sales document number), VBTYP (what kind of sales document it is, for example, Quote, Order, Delivery or Invoice etc), AUART (Sales Document Type), KNUMV (link to the conditions).
2. VBAP VBAP contains the document line items. Important fields in this table are VBELN (link to the header), POSNR (Line item number), CHARG (batch number), PSTYV (Item Category)
3. LIKP This contains the header information for the delivery document. Notable fields are LFART (Delivery Type), LFDAT (Delivery date), KODAT (Picking Date), LPRIO (Delivery Priority), VSBED (Shipping Conditions)
4. LIPS This table contains the line item information on delivery. The key fields are VBELN, POSNR, PSTYV, WERKS (Plant), LGORT (Storage location), CHARG (batch number).
5. VBRK The table has header information on the billing documents. The key fields are VBELN, FKART (Billing Type like Cash Sales, Proforma, Invoice etc), FKTYP (Billing Category like Order related billing, Accrual, Delivery related billing), VBTYP (SD Document Category like Credit Memo, Invoice Cancellation, Debit Memo, Invoice etc).
6. VBRP This has billing document line item information. It has fields like VBELN, POSNR, FKIMG (Invoiced Quantity)

Change Pointers

Whenever you change a sales document, the information is automatically logged within SAP in standard SAP tables. The following two tables are a key if you want to report changes done by a user.

 S.No  Table  Remarks
1. CDHDR Change header table contains the changes done to an object. You can search changes to a document by giving OBJECTID as the document number. Please note that you would need to give complete document number. Once you give this you can get the CHANGENR.
2. CDPOS From the CHANGENR, you can derive all the changes done using this table. You can see the TABLE NAME, FIELD its previous value and changed value from this table. You can also see who changed the value and what date and time were the values changed.


Understanding the database tables can help you quickly search and link the tables with each other and investigate support issues. At times, you may be able to find quick solutions to your functional problems if you look into the underlying tables and find out what may be causing the problem.

I sincerely hope that you found this article concise yet helpful. I would be more than willing to answer any queries that you may have. Please drop in your suggestions below and I will get back to you.

本文作者: GavinDong

版权属于: GavinDong博客


如果使用过程中遇到问题,可 **点击此处** 交流沟通。