Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • SAP Learning Hub
  • Learn SAP
  • SAP Full Form
  • SAP Working
  • History of SAP
  • SAP ABAP
  • SAP ERP
  • SAP HANA
  • SAP SuccessFactors
  • SAP Business Suite
  • SAP Business One
  • SAP Ariba
  • SAP Interview Corner
Open In App
Next Article:
What is SAP ABAP Data Dictionary (DDIC)?
Next article icon

What is SAP ABAP Data Dictionary (DDIC)?

Last Updated : 21 Mar, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

DDIC is the central storage area that allows users to maintain the repository of objects related to the particular database and contains the central description of all the data used in the SAP system without any redundancy. The data in the DDIC is integrated, consistent, and secured. 

What is the ABAP Data Dictionary?

ABAP Data Dictionary, also known as DDIC, is a central repository in the SAP system where all the metadata related to the database objects are stored. The DDIC is used to manage and maintain the definitions of the database objects such as tables, views, structures, data elements, domains, and search helps.

DDIC Initial Screen
  • The ABAP Data Dictionary provides a graphical user interface (SE11) for developers to create, change, and maintain the database objects and also provides a set of APIs for programmatic access to the metadata stored in the DDIC. 
  • This allows for efficient and centralized management of the data structures and definitions in an SAP system.
  • The DDIC also plays an important role in ensuring data consistency and integrity by enforcing referential integrity constraints and by providing support for data types and data domains. 
  • Additionally, the ABAP Data Dictionary provides tools for generating database-independent ABAP code, which helps to simplify database migrations and improve the portability of SAP applications.

Basic Types in ABAP Dictionary

The basic types in the ABAP Data Dictionary (DDIC) are the fundamental data types that are used to define the structure and organization of the database objects in the SAP system. These basic types include:

1. Character Strings

Character strings are used to represent text or alphanumeric data in the SAP system. In the DDIC, character strings are defined by a data type called "Character" or "String". The "Character" type is a fixed-length string, while the "String" type is a variable-length string. The "Character" type is defined with a specific length, such as 10 characters, while the "String" type is defined with a maximum length, such as 255 characters.

2. Integers

Integers are used to represent whole numbers in the SAP system. In the DDIC, integers are defined by a data type called "Integer". The "Integer" type is a signed or unsigned whole number and is defined with a specific length, such as 4 bytes or 8 bytes.

3. Floating Point Numbers

Floating point numbers are used to represent decimal numbers in the SAP system. In the DDIC, floating point numbers are defined by a data type called "Floating Point Number" or "Real". The "Floating Point Number" type is a signed or unsigned decimal number and is defined with a specific length, such as 4 bytes or 8 bytes. The "Real" type is a single-precision floating-point number, with a length of 4 bytes.

4. Dates

Dates are used to represent dates in the SAP system. In the DDIC, dates are defined by a data type called "Date". The "Date" type is a date representation that includes the year, month, and day, and is stored as a 4-byte binary value.

5. Time Stamps

Time stamps are used to represent dates and times in the SAP system. In the DDIC, time stamps are defined by a data type called "Time Stamp". The "Time Stamp" type is a date and time representation that includes the year, month, day, hour, minute, and second, and is stored as an 8-byte binary value.

6. Currency Amounts

Currency amounts are used to represent monetary values in the SAP system. In the DDIC, currency amounts are defined by a data type called "Currency". The "Currency" type is a signed or unsigned decimal number that is used to represent monetary values and is defined with a specific length and number of decimal places, such as 13 bytes with 2 decimal places.

These basic types provide the foundation for defining the structure and organization of the database objects in the SAP system. By using these basic types, you can define the individual data elements, such as fields in a database table, and the underlying data representation for these elements.

Dictionary Tasks

The ABAP Data Dictionary (DDIC) performs several key tasks in SAP, including:

  • Object Definition: The DDIC provides a central repository for the definition of database objects, such as tables, views, structures, and data elements. This includes the definition of the data types, lengths, and other properties of these objects.
  • Data Integrity: The DDIC enforces referential integrity constraints and data validation rules to ensure the consistency and accuracy of the data stored in the database.
  • Code Generation: The DDIC provides tools for generating database-independent ABAP code, which helps to simplify database migrations and improve the portability of SAP applications.
  • Security: The DDIC provides mechanisms for controlling access to database objects and for protecting sensitive data from unauthorized access.
  • Performance Optimization: The DDIC provides features for optimizing the performance of database objects, such as indexing and caching, which help to improve the performance of database operations in SAP.
  • Data Access: The DDIC provides a centralized and consistent way to access and manage data in the database, which simplifies the process of developing and maintaining SAP applications.
  • User Interface: The DDIC provides a graphical user interface (SE11) for managing and maintaining the definitions of database objects in the DDIC. This interface provides a convenient and user-friendly way to create, change, and maintain database objects in SAP.

These are some of the key tasks performed by the ABAP Data Dictionary. The DDIC is a critical component of the SAP system, providing centralized and consistent management of database objects and data in SAP.

ABAP Dictionary 3 Levels

The ABAP Data Dictionary has three levels:

  • Domain level: The domain level defines the data type and attributes of individual fields. This includes the type of data (such as numeric, alphanumeric, or date/time), the size of the field, and any constraints or validation rules that apply.
  • Data element level: The data element level provides a higher level of abstraction over domains. Data elements combine one or more domains to define a specific semantic meaning for a field, such as "material number", "customer name", or "sales order date".
  • Table level: The table level is the highest level of abstraction in the ABAP Data Dictionary. Tables define the structure and relationships between data elements and domains, allowing for the creation of complex data models that can be used to store and retrieve data in the SAP system.

Each of these levels plays an important role in defining and managing the data in the SAP system, and the three levels work together to provide a flexible and powerful data modeling framework that can be used to support a wide range of business requirements.

Aggregated Objects of ABAP Dictionary

Aggregate objects in SAP ABAP Data Dictionary (DDIC) are objects that are created by grouping other DDIC objects together. The purpose of aggregate objects is to provide a higher level of abstraction and encapsulation of the underlying objects, making it easier to manage and reuse data definitions.
There are several types of aggregate objects in ABAP DDIC, including tables, views, search help and lock objects. Each type of aggregate object serves a specific purpose and has its own unique characteristics. For example, tables are used to store data in the SAP system, views provide a consolidated view of data stored in one or more tables, and domains define the data type and rules for a specific field in a table. Each of the aggregated objects is explained in detail below:

1. Database Tables

In SAP ABAP, database tables are used to store data in the SAP system. The data is stored in rows and columns, similar to a spreadsheet. Tables can be defined in the ABAP Data Dictionary (DDIC) using the SE11 transaction. The DDIC provides a set of tools to define tables and their fields, including field properties, keys, and indexes.

  • Types of Tables: There are two types of tables in SAP ABAP: transparent tables and pooled tables. Transparent tables have a one-to-one relationship between the fields in the table and the columns in the database, while Pooled tables have a many-to-one relationship between the fields in the table and the columns in the database. Multiple pooled tables share a single database table for storage, and each row in the database table corresponds to data from one of the pooled tables.
  • Creating Tables: Tables can be created in the ABAP Data Dictionary (DDIC) using the SE11 transaction. The DDIC provides a set of tools for defining the fields, keys, and indexes of the table. The structure of a table can be changed using the ALTER statement, but this should be done with caution, as changes to the table structure can affect existing programs that use the table.
  • Storing Data: Data is stored in tables in rows and columns, similar to a spreadsheet. Data can be added to tables using the INSERT statement and can be retrieved from tables using the SELECT statement. Tables can also be joined with other tables to retrieve data from multiple sources.

2. Views

A view in SAP ABAP is a virtual table that provides a view of the data stored in one or more database tables. Views can be used to simplify data access, as they provide a single, consolidated view of the underlying data. Views can be defined in the ABAP DDIC using the SE11 transaction.

  • Types of Views: There are two types of views in SAP ABAP: database views and maintenance views. Database views provide a virtual representation of the data stored in one or more tables, while maintenance views provide a simplified interface for maintaining data in a table.
  • Creating Views: Views can be created in the ABAP DDIC using the SE11 transaction. The DDIC provides a set of tools for defining the fields, keys, and indexes of the view. The structure of a view can be changed using the ALTER statement, but this should be done with caution, as changes to the view structure can affect existing programs that use the view.
  • Using Views: Views can be used to simplify data access by providing a consolidated view of the underlying data. Data can be retrieved from views using the SELECT statement, just like with tables. Views can also be joined with other views or tables to retrieve data from multiple sources.

3. Data Types

A data type in SAP ABAP is a definition of the type of data that can be stored in a field. The DDIC provides a set of predefined data types, such as character, numeric, and date, as well as the ability to define custom data types. Data types are used to define the fields in tables and structures.

  • Predefined Data Types: The ABAP DDIC provides a set of predefined data types, such as character, numeric, and date. These data types can be used to define the fields in tables and structures.
  • Custom Data Types: The ABAP DDIC also provides the ability to define custom data types. Custom data types can be used to define data that has unique characteristics not covered by the predefined data types.
  • Using Data Types: Data types are used to define the fields in tables and structures. The data type of a field determines the type of data that can be stored in the field, as well as the size and format of the data.

4. Type Groups

A type group in SAP ABAP is a collection of data types that are grouped together for easier management and reuse. The data types within a type group can be used in multiple programs, making it easier to maintain consistency in data definitions. Type groups can be defined in the ABAP DDIC using the SE11 transaction.

  • Purpose of Type Groups: Type groups in SAP ABAP are used to group data types together for easier management and reuse. The data types within a type group can be used in multiple programs, making it easier to maintain consistency in data definitions.
  • Creating Type Groups: Type groups can be created in the ABAP DDIC using the SE11 transaction. The DDIC provides a set of tools for defining the data types within the type group and for assigning the type group to programs.
  • Using Type Groups: The data types within a type group can be used in multiple programs, reducing the need to repeat the same data type definition in multiple programs. This makes it easier to maintain consistency in data definitions across the SAP system.

5. Domain

A domain in SAP ABAP is a data type definition in the DDIC that is used to define a specific field in a table. It provides a set of rules that govern the values that can be entered into the field, such as the data type, length, and number of decimal places. Domains can be defined in the ABAP DDIC using the SE11 transaction.

  • Purpose of Domains: A domain in SAP ABAP is a data type definition in the DDIC that is used to define a specific field in a table. A domain defines the data type and rules for a specific field, such as the size, format, and allowed values of the data.
  • Creating Domains: Domains can be created in the ABAP DDIC using the SE11 transaction. The DDIC provides a set of tools for defining the data type, size, and format of the domain, as well as any additional rules or restrictions for the data.
  • Using Domains: Domains are used to define the data type and rules for specific fields in tables. By using domains, data definitions can be standardized and reused across multiple tables, making it easier to maintain consistency in data definitions.

6. Search Help

Search help in SAP ABAP is a tool that helps the user find a specific value within a data field. It is a type of input help that is used to display a list of valid values for a field. Search helps can be assigned to fields in the DDIC to provide the user with a list of valid values during data entry. Search helps can be defined in the ABAP DDIC using the SE11 transaction.

  • Purpose of Search Help: Search help in SAP ABAP is used to provide a list of possible values for a specific field in a transaction. The search help can be used to simplify data entry by providing a list of allowed values, rather than requiring the user to enter data manually.
  • Creating Search Help: Search help can be created in the ABAP DDIC using the SE11 transaction. The DDIC provides a set of tools for defining the fields, data sources, and search logic for the search help.
  • Using Search Help: Search help is used in transactions to provide a list of possible values for a specific field. The search help can be used to simplify data entry and ensure that only allowed values are entered for a specific field.

7. Lock Objects

A lock object in SAP ABAP is a mechanism used to synchronize access to shared data in a multi-user environment. It is used to ensure that multiple users do not simultaneously update the same data record, which can result in data inconsistencies. The DDIC provides tools to define lock objects and assign them to specific tables or fields. Lock objects can be defined in the ABAP DDIC using the SE11 transaction.

  • Purpose of Lock Objects: Lock objects in SAP ABAP are used to synchronize access to shared data. Lock objects are used to prevent concurrent access to the same data by multiple programs, which can cause data inconsistencies and errors.
  • Creating Lock Objects: Lock objects can be created in the ABAP DDIC using the SE11 transaction. The DDIC provides a set of tools for defining the lock object and the data that it protects.
  • Using Lock Objects: Lock objects are used in programs to synchronize access to shared data. The lock object is used to prevent concurrent access to the same data by multiple programs, ensuring that data inconsistencies and errors are prevented.

Next Article
What is SAP ABAP Data Dictionary (DDIC)?

A

amit_mangal_
Improve
Article Tags :
  • Software Engineering
  • SAP
  • SAP Labs
  • SAP-ABAP
Practice Tags :
  • SAP Labs

Similar Reads

    SAP Advanced Business Application Programming (ABAP)
    SAP ABAP stands for Advanced Business Application Programming. SAP ABAP (Advanced Business Application Programming) is a high-level programming language created by the German software company SAP SE. ABAP is primarily used for developing and customizing applications within the SAP ecosystem, which i
    6 min read
    What is SAP ABAP: A Brief Overview
    SAP ABAP (Advanced Business Application Programming) is a high-level programming language created by the German software company SAP SE. ABAP is primarily used for developing and customizing applications within the SAP ecosystem, which includes enterprise resource planning (ERP) systems and other bu
    8 min read
    SAP ABAP | Basic Syntax & Statements
    The German software company SAP created the high-level programming language, ABAP (Advanced Business Application Programming) primarily, this language serves as a tool for developing applications within the SAP R/3 system. Designed with simplicity and ease of learning in mind, ABAP syntax allows eff
    9 min read
    SAP ABAP | Understanding Variables
    What is a Variable?Variable are named data objects that refer to the memory location allocated during the program execution for processing. As the name indicates, users can use refer to the range of values that may be stored inside and the range of actions that can be carried out on the variable.Syn
    7 min read
    SAP ABAP Keywords
    The core of many global enterprises, SAP ABAP stands for Advanced Business Application Programming. It is the heart and soul of SAP systems. It gives users the ability to expand and modify SAP apps to satisfy particular business needs. The fundamental building blocks of SAP ABAP are its keywords, wh
    5 min read
    SAP ABAP | Constants & Literals Explained
    In the world of SAP ABAP (Advanced Business Application Programming), the use of Constants and Literals is necessary for the effective handling of data. Literals are used to denote specific data types such as numbers, characters, strings, and boolean values.Constants & Literals in SAPWhat are Li
    7 min read
    SAP ABAP | Data Types
    Before Understanding the Data type first understand the Data object. Data objects are variables that we declare in the program. It occupies some memory where you can store the data from external sources. Data can be of different types, so data types are responsible for defining the type of data of t
    6 min read
    Relational operators in SAP ABAP
    Relational operators in SAP ABAP are symbols or combinations of symbols that compare values and return a Boolean result (either true or false). These operators allow developers to establish relationships between variables, constants, or expressions, facilitating decision-making processes in the prog
    6 min read
    Operators in SAP ABAP
    High-level programming languages like SAP ABAP (Advanced Business Application Programming) are used to create apps in the SAP environment. Operators are essential for the execution of many different operations in SAP ABAP, ranging from straightforward arithmetic computations to complex logical analy
    7 min read

    Loop concept in SAP ABAP

    SAP ABAP | Decision Control Statements
    SAP ABAP, or Advanced Business Application Programming, provides a robust set of tools for developing business applications within the SAP environment. Decision control statements are a crucial aspect of programming logic, allowing developers to make choices and guide the flow of a program based on
    3 min read
    SAP ABAP | Loop Control
    Introduction to Loop Control in SAP ABAPIn SAP ABAP programming, loop control is an esse­ntial concept that allows you to execute­ a block of code multiple times. This is e­specially useful when proce­ssing data in an efficient manner. Loops help automate repetitive­ tasks and handle large datasets
    4 min read
    SAP ABAP | While Loop
    A fundamental control structure in SAP ABAP is the while loop. The while loop in SAP ABAP can be used to iterate a part of code while the given condition remains true. This construct the while loop facilitates iterative running a block of code continues to execute until the specified condition withi
    3 min read
    SAP ABAP | Do Loop
    DO loop in SAP ABAP is an unconditional loop that executes a block of code several times without providing a specific condition. It is a fundamental construct that facilitates the iterative execution of a code block until a specified condition is met. Programmers, through the incorporation of do loo
    5 min read
    Prime numbers from 1 to n in SAP ABAP
    SAP ABAP (Advanced Business Application Programming) is a high-level programming language created by the German software company SAP (Systems, Applications, and Products in Data Processing). It was developed in the 1980s for building business applications in the SAP environment. SAP ABAP is primaril
    2 min read
    Nested Loop in SAP ABAP
    A nested loop means a loop statement inside another loop statement. That is why nested loops are also called “loop inside loops“. Neste­d loops in SAP ABAP are a valuable tool when you need to iterate within another loop. They come in handy for processing hie­rarchical data or performing complex dat
    3 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences