Data Class in SAP ABAP: Types, Delivery Class & Key Differences

Data Class and Delivery Class in SAP ABAP: Key Differences You Must Know
If you're studying SAP ABAP or are in the process of preparing for the SAP certificate, the two terms that are frequently mentioned and can be confusing to learners is the data class as well as delivery classes. Both are described at a table level in the ABAP Dictionary (SE11), however, they serve completely different functions.
Understanding the delivery class and the data course of SAP ABAP isn't only about passing interviews — it directly affects the way databases are stored as well as how data moves between systems and how upgrades function within the SAP environment. If you're a newbie trying to understand SAP and ABAP, or an experienced programmer working on the fundamentals of SAP, this guide explains all you need to know about.
Let's dive deep.
What Is Data Class in SAP ABAP?
Data class in SAP ABAP is a property that is assigned to an opaque table within the ABAP Dictionary. It defines which physical storage space (tablespace) where the table's information will be kept in the database that is underlying.
If you make a new table using SE11 (ABAP Dictionary), the system has to know where to put it on the server that hosts the databases. The data class assists the database administrator and system to organize tables in logical order within the storage. It basically informs your database that "This table belongs to this category of data — store it accordingly."
In practical terms, the data class is used to group tables by their functional nature — master data, transaction data, system/organizational data, etc. The database will be able to optimize storage, performance, as well as maintenance.
In simple terms: The data class regulates the location on which database the table is kept.
Types of Data Class in SAP ABAP
SAP offers a variety of kinds of data classes that are available in SAP ABAP, each represents a logical arrangement of tables in a database. The most important types:
1. APPL0 — Master Data, Transparent Tables
This class of data is utilized to create master table data which are read frequently but are rarely updated. Examples include material master, customer master and master data of the vendor. These tables house the main business entities within SAP.
- Tables that are heavy on reading, but light on writing
- Record-breaking volume of records across time
- Example: Customer master (KNA1), Material master (MARA)
2. APPL1 — Transaction Data, Transparent Tables
The class of data assigned to the tables for transaction data that contain daily business transactions. The tables are growing quickly and are updated often during the normal course of business.
- The volume of inserts is high and so are updates
- This is used to capture the business events, such as delivery orders, sales orders and invoices
- Example: Sales document header (VBAK), Accounting document (BKPF)
3. APPL2 — Organizational Data and Customizing Data
This class will be used for the organization and customization of data such as configuration tables which determine organizational frameworks (company codes, plants, sales companies, etc.).
- Rarely, once the configuration is set, it changes
- It was written during the configuration/setup of the system
- Example: Table for company code (T001), Table for plants (T001W)
4. USER — Customer-Defined Tables
This User data class can only be used to create custom tables designed for clients (i.e. Z-tables and Y-tables that are created in the course of implementation or enhancement projects). If SAP experts or programmers build custom databases, they usually choose the USER classification to the table.
- Useful for all custom Z/Y development tables
- Separates tables for customers from SAP standard tables
5. USER_NAM — Additional Customer Tables (Extended)
Like USER, it is an additional category for tables specifically designed for customers once the USER tablespace is full. It also provides a tablespace to store customer-defined objects.
6. DDIC — ABAP Dictionary Tables
It is reserved only for SAP's own internal ABAP Dictionary tables — the tables that define all the meta-data of an ABAP Dictionary itself (table definitions, fields, field definitions, domain values, etc.).
- Only SAP utilizes this class; customers shouldn't assign this class
- Stores dictionary metadata
7. POOL and CLUSTER (Legacy Data Classes)
In earlier SAP software, pooled tables and cluster tables were categorized by data classes. They were largely eliminated within SAP S/4HANA in favor of transparent tables. But, you might see them in older ECC systems.
What Is Delivery Class in SAP ABAP?
After we've mastered this data type, it's time to address our second query: what is delivery class in SAP ABAP?
Delivery class in SAP ABAP regulates the way tables are handled throughout system updates or client copies as well as transport tasks. In contrast to that of the data class (which is focused on physical storage), the delivery class concerns managing the lifecycle of data and tells the software who's accountable of the database and also what needs to be done to it if it is updated or the client is set up.
Imagine this in the following way: if SAP launches an upgrade or support package, a lot of tables get affected. The delivery class explains the process of upgrading:
- "This table contains SAP configuration — restore it during upgrade."
- "This table contains customer data — do NOT overwrite it."
- "This table is shared between SAP and customer — handle carefully."
Shortly: The delivery class determines WHO is the owner of the data and how it behaves during transportation, upgrade, as well as client copy.
Types of Delivery Class in SAP ABAP
Here are the most important classes of delivery you need to be aware of:
A — Application Table (Master and Transaction Data)
The most commonly used delivery method for tables in the application which contain transaction and master data. The data contained in these tables is managed in the hands of application (end users) in normal business processes.
- The data is not delivered by SAP during upgrade
- The customer is entirely accountable for the data
- Example: VBAK (Sales Order Header), KNA1 (Customer Master)
C — Customizing Table (Client-Specific)
Tables that are delivered in class C contain the customizing (configuration) information that is maintained by the client by using SAP customized software (SPRO). In the event of an upgrade, SAP does not overwrite the information in these tables — the configuration of the customer remains.
- Data is kept in the database through IMG (Implementation Guide)
- Protected during system upgrades
- Example: T001 (Company Codes), TVAK (Sales Document Types)
L — Temporary Data
Class of delivery L is designed for temporary tables which store runtime or intermediate data. The information stored in these tables cannot be transferred between clients, and therefore is not pertinent for upgrades.
- Data is client-specific and only temporary
- Not transported during client copies
- Examples: Spool and work list tables
G — Customizing Table (Cross-Client)
Like class C, however, the cross-client feature is not available per individual client. These tables hold customizing data that are valid for all clients within the system. Changes are applied globally and not just for each client.
- Configuration of cross-clients
- Protected during upgrades
E — System Table (Client-Independent)
Tables that have the delivery classification E are SAP system tables that are used internally. They are not dependent on clients and are completely controlled by SAP. Customers should not alter manually information in these tables.
- It is maintained and delivered by SAP
- Client-independent
S — System Table (Client-Specific)
The same as class E, but particular to clients. These tables are provided by SAP and are not to be modified directly by clients. They are a system-level database that is accessible to specific clients.
W — SAP System Tables (View Definitions)
Useful to manage the SAP internal tool tables that are related to view definitions and development objects. These are solely managed and controlled by SAP.
User Data (U)
In certain SAP documentation, delivery class U is mentioned in tables in which both SAP as well as the customer add records. The upgrade blends both sets of information with care to ensure that customer entries are not overwritten.
Difference Between Delivery Class and Data Class in SAP ABAP
This is the first section that learners look for — let's be clear about it. This is a thorough explanation of the differences between the delivery class and data class within SAP ABAP:
| Parameter | Data Class | Delivery Class |
|---|---|---|
| Purpose | Determines the physical storage place (tablespace) within the database | Controls the behavior of data when upgrades, transport and copy to client |
| Focus | Where the data is stored | WHO is the data owner and how it is processed |
| Configured In | SE11 → Table → Technical Settings | SE11 → Table → Delivery and Maintenance |
| Impacts | Performance, storage and performance of databases, tablespace allocation | System upgrades, client copies, transport routes |
| SAP Upgrade Behavior | No direct impact on upgrade logic | Determines if the data has been overwritten, preserved, or merged |
| Examples | APPL0, APPL1, APPL2, USER, DDIC | A, C, L, G, E, S, W |
| Database Relevance | Directly linked to the base database (Oracle, HANA, etc.) | No direct link to database storage |
| Customer Impact | Select USER to create tables for your custom needs | Choose C or A for custom tables based on the data type |
| Transport Relevance | Not directly connected to transports | Directly regulates transport and copy behavior of clients |
| Data Ownership | Not pertinent | Defines whether SAP, customer, or both have the information |
Quick Summary
Make use of the data class in order to determine where in the database your table is located.
Make use of the delivery class in order to specify what happens to the table's data in the course of system operations such as upgrade, transport, or client copy.
Both are located in SE11 but have completely separate functional and administrative reasons.
Data Class and Delivery Class in SAP ABAP: How They Work Together
If you are creating transparent tables in SE11, it is required to set each of both the data class as well as the delivery class. They are both complementary settings:
- The data class ensures that the table is in the correct tablespace on the database.
- The delivery class ensures that table data is correctly handled in SAP's system landscape.
Imagine you design a custom Z-table for storing the customer-specific configuration information:
- Data Class — USER (because it's a Z-table that is custom made)
- Delivery Class — C (because it stores configuration data that shouldn't be written over in the course of upgrades)
Another example is a custom Z-table for storing application transactions:
- Data Class — USER
- Delivery Class — A (because it stores transactional information that is managed by end users)
This is a crucial aspect for any SAP developer to be able to comprehend and use effectively in real-world projects.
Why Is This Important for SAP ABAP Developers?
Knowing the delivery class and the classes of data in SAP ABAP is vital for many reasons:
- Optimizing Databases: The wrong class of data could result in poor performance for databases or in incorrect tablespace usage, especially for large enterprise systems.
- Data Security During Updates: Incorrectly assigning the delivery class could result in crucial customer data being deleted during SAP upgrades — which could be catastrophic.
- Client Copy Accuracy: Delivery class decides which table data is included within copies of client files. Unusual settings could result in missing or additional data on new clients.
- Transport Management: Tables with specific delivery classes might not be able to be transported. Knowing this can help avoid surprises during the project's go-live.
- Exam and Interview Readiness: The distinction between delivery classes and the data-based class is among most asked SAP ABAP interview questions and certification tests (like C_TAW12 and C_ABAPD_2309).
Common Interview Questions on This Topic
Here are the most frequently requested questions that are based on this subject:
What is the data class within SAP ABAP?
It defines the physical tablespace of the database in which table data is kept.
What are the different types of data classes available in SAP ABAP?
APPL0, APPL1, APPL2, USER, USER_NAM, DDIC (and old POOL/CLUSTER).
What is the delivery class of SAP ABAP?
It controls the handling of table data when upgrading the system, making transfers, and copies of clients.
What's the distinction between a data class and a delivery class of SAP ABAP?
Data class is the storage location; Delivery class is the ownership of data and its lifecycle.
What type of data class should I choose to create Z-tables?
Always use the USER class for Z-tables that are custom made.
Which class of delivery should I choose to create a Z-table configuration?
Use delivery class C to customize the data.
Conclusion
Learning the basics of the data class within SAP ABAP along with delivery class are crucial to anyone who works using SAP tables. Although they appear identical at first glance — both being characteristics of a table — they are completely separate aspects of the lifecycle of a table.
Data class is about the physical database storage — it determines where the database should store the table's information. Its delivery class is all about data governance — it tells the SAP software how it should manage this data during updates, transports, and copying copies to clients.
Together, the data class and the delivery class of SAP ABAP constitute the basis of table design and management. Making sure they are correct ensures that your SAP system runs at its peak, your data is secure throughout changes, and your customized development is seamlessly integrated into the SAP landscape.
No matter if you're an eager SAP ABAP designer or a veteran consultant who has been studying the basics, learning these two concepts thoroughly — and the differences between the delivery class and the data class within SAP ABAP — can make you an experienced and confident SAP professional.
Are you looking to learn SAP ABAP completely from beginning to finish? Learn more about our highly-trained SAP ABAP certification courses and enhance your career in the SAP industry today.
Related SAP Training Courses
Tags
Share this article
Help others discover this valuable SAP content


