Skip to main content

Command Palette

Search for a command to run...

ABAP DAY-2-SAP ABAP & Data Dictionary

Published
8 min read
ABAP DAY-2-SAP ABAP & Data Dictionary
R

On a journey of continuous learning 🚀 I share the concepts I learn daily through blogs. Learn concepts with me — one topic at a time.

#LearningInPublic #ContinuousLearning

SAP is a comprehensive enterprise software system used by organizations to manage business processes such as sales, purchasing, finance, human resources, and manufacturing. Instead of separate tools for each department, SAP provides a single integrated platform where all business data is connected. Understanding SAP is crucial for businesses to streamline operations and improve efficiency.

ABAP (Advanced Business Application Programming) is the programming language of SAP. It is used to create reports, interfaces, enhancements, and—most importantly—to work with SAP’s data layer. Mastering ABAP is essential for customizing SAP to meet specific business needs.

Before writing even a single line of ABAP code, it is critical to understand how SAP stores data, how that data is structured, and how it is protected. This article walks through those foundations step by step, using clear explanations, tables, and real-world thinking.


SAP System, SAP Logon, and Client Concept

To access SAP, users connect through a desktop application called SAP Logon. In many corporate or training environments, a Global Product VPN is required. This VPN ensures secure access to SAP servers, similar to connecting to an internal office network.

SAP Logon itself is not SAP. It is only a GUI (Graphical User Interface)—a window that allows your computer to communicate with SAP servers.

A client in SAP is a logical separation within the same SAP system. Think of it as a “mini-company” inside SAP. Each client has its own users, master data, transaction data, and configuration, even though the underlying system is the same.

ComponentWhat It MeansImportant Note
SAP LogonFront-end GUINo business data stored locally
SAP SystemBackend environmentRuns business logic
Client (e.g., 800)Separate company/unitData is isolated

👉 Key idea: SAP Logon 800 is just a gateway. All data is stored and processed on central SAP servers, usually backed by databases like SAP HANA.


SAP Transaction Codes (T-Codes)

SAP is very large, so navigating through menus would be slow. To solve this, SAP uses Transaction Codes (T-Codes)—short commands that directly open specific tools or screens.

For ABAP developers and consultants, some T-codes are used daily.

T-CodeToolPurpose
SE11ABAP DictionaryCreate and manage data definitions
SE16Data BrowserView table data
SE80Object NavigatorCreate packages and objects
SM30Table MaintenanceMaintain table entries

T-codes improve speed and efficiency and are one of the first things SAP learners get comfortable with.


ABAP Data Dictionary (DDIC)

The ABAP Data Dictionary (DDIC) is the heart of SAP’s data architecture. It is a central repository that defines how data is structured, not the data itself.

DDIC acts as a bridge between ABAP programs and the database. Every table, field, data type, search help, and lock mechanism is defined here. Because it has global scope, any program or screen in SAP can use these definitions.

In simple terms:
👉 DDIC decides what data looks like, how long it is, and how it behaves—before data is ever stored.


Core Components of the ABAP Data Dictionary

Domains – Technical Definition

A Domain defines the technical attributes of a field. This includes data type, length, and allowed values. Domains ensure that technical definitions are reused consistently across the system.

For example, if multiple tables store a customer ID, all of them can use the same domain. If the domain changes, all related fields automatically follow.

AttributeExample
Data TypeNUMC
Length10
Value Range0000000001–9999999999

Data Elements – Business Meaning

A Data Element gives semantic (business) meaning to a field. While a domain defines how data is stored, a data element defines what the data represents.

It also controls how the field appears on screens—labels, headings, and documentation.

DomainData Element
ZCUST_IDCUSTOMER_NUMBER

This ensures that users see meaningful labels instead of technical field names.

Tables – Physical Data Storage

A Table is a physical database object that stores real business data. Tables are where customers, materials, orders, and invoices actually live.

SAP supports different table types, but most modern development uses transparent tables, which map directly to database tables.

ConceptDescription
StoragePermanent
PurposeBusiness data
ExampleMARA (Material Master)

Structures – Logical Grouping

A Structure looks like a table but does not store data permanently. It is used to group fields for temporary use—such as passing data between programs or formatting output.

UsageExample
Data exchangeBAPIRET2
Program logicInvoice display

Table Types – Internal Tables

A Table Type defines the structure of internal tables, which exist only during program execution. These are essential for processing large datasets efficiently in ABAP.

FeatureMeaning
StorageRuntime only
Access TypeStandard / Sorted / Hashed
PurposeProgram logic

Client (MANDT), Data Class, and Delivery Class

Client (MANDT)

The field MANDT exists in most SAP tables and identifies which client a record belongs to. This ensures strict data separation.

ClientBusiness Unit
100India
200USA
300Europe

Why Client (MANDT) Is Required in SAP Tables

In SAP, MANDT (Client field) is used to identify which client a particular record belongs to. SAP systems are designed to support multiple companies or business units within a single system, and MANDT ensures that data from one client never mixes with another.

Whenever a user logs in, they log in to a specific client. SAP automatically filters all database operations using the logged-in client, so users can see and work only with their own client’s data, even though the tables are physically shared.

Because most business data (customers, materials, sales orders) is client-specific, MANDT is included in almost all SAP tables and is part of the primary key. This design provides data isolation, security, and scalability, allowing one SAP system to safely serve multiple organizations or environments (production, testing, training) at the same time.


Data Class

The Data Class tells SAP what type of data a table stores, helping the database optimize performance.

Data ClassData Type
APPL0Master Data
APPL1Transaction Data
APPL2Organizational Data

Delivery Class

The Delivery Class controls how table data behaves during system operations like upgrades and transports.

Delivery ClassMeaning
AApplication data
CCustomizing data
LSystem data

Types of SAP Data

SAP data falls into three major categories, each serving a different purpose.

Data TypeMeaningExample
Master DataWho/WhatCustomers, Materials
Transaction DataEventsSales Orders
Configuration DataRulesCompany Codes

Master data is reused, transaction data records events, and configuration data controls behavior.

Keys and Performance Concepts

Primary and Foreign Keys

A Primary Key uniquely identifies a record.
A Foreign Key links one table to another, ensuring data consistency.

Key TypeExample
PrimaryCustomer ID
ForeignSales Order → Customer

Table Buffering

Table buffering improves performance by storing frequently accessed data in memory, reducing database calls.


Data Browser (SE16)

The Data Browser (SE16) allows users to view table data directly without writing ABAP code. It is widely used for debugging, validation, and analysis.

FeatureBenefit
FiltersTargeted search
No codingQuick access
RestrictionsOften limited in PROD

Table Maintenance Generator (TMG)

The Table Maintenance Generator (TMG) automatically creates user-friendly screens to maintain table data. This avoids writing custom maintenance programs.

FeatureAdvantage
Auto UISaves development time
SM30 AccessEasy maintenance
Transport supportSafe changes

Search Help (F4 Help)

Search Helps guide users during data entry by showing valid values.

TypeDescription
ElementaryOne data source
CollectiveMultiple search paths

This improves usability and reduces errors.


SAP Views

Views are logical representations of data that do not store data themselves.

View TypePurpose
Database ViewJoin tables
Projection ViewFilter fields
Maintenance ViewMaintain related tables
Help ViewSupport F4 help

Lock Objects, Packages, and Transports

A Lock Object prevents multiple users from updating the same data simultaneously, ensuring data integrity.

A Package is a container that organizes SAP objects.

A Transport Request safely moves changes across systems (DEV → QA → PROD).

ConceptPurpose
Lock ObjectPrevent conflicts
PackageOrganize development
TransportControlled deployment

Conclusion

SAP ABAP is not just about writing code. It is about understanding data, system architecture, and business processes. The ABAP Data Dictionary acts as the brain of SAP, ensuring data is consistent, secure, and reusable. Once these fundamentals are clear, ABAP programming becomes logical, structured, and far easier to master. Understanding these concepts is crucial for anyone looking to excel in SAP development and customization.

More from this blog

A

ABAP Essentials for Beginners

13 posts