Top 50 Sap Abap Dictionary Interview Questions You Must Prepare 23.Jul.2024

Q1. What Functions Does A Data Dictionary Perform?

In a data management system, the principal functions performed by the data dictionary are:

  • Management of data definitions
  • Provision of information for evaluation
  • Support for software development
  • Support form documentation
  • Ensuring that the data definitions are flexible and up-to-date.

Q2. What Is A Projection View?

In standard SAP tables one can find there are a number of fields. Sometimes it happens or there is a requirement of viewing only a fewer no of fields of a table, in such cases a projection view can be created. Projection views are created only on a single table.

For example, if Table T1 has fields F1,F2,F3,F4,F5, F6, F7, F8, F9, F10, etc…

Say there is a need to view data only for say Fields F1, F2, F4,F8 & F9, in such cases projection view can be created.

Q3. What Are The Two Methods Of Modifying Sap Standard Tables?

  • Append Structures and
  • Customizing Includes.

Q4. What Are The Two Ways For Restricting The Value Range For A Domain?

  • By specifying fixed values.
  • By stipulating a value table.

Q5. What Do You Mean By Transparent Tables In Sap Abap?

Whenever a table is created and defined through ABAP Dictionary, then it is called a transparent table. When the table is activated in ABAP Dictionary, a table automatically gets created in the underlying database with the same name as was defined in ABAP Dictionary. 

So generally we say, transparent tables has one to one relationship with underlying database which means there will be only one physical table on the database for each transparent table created and defined through ABAP Dictionary. 

The names of the table and fields in underlying database will correspond or have the same names as the logical table definition in the ABAP Dictionary.

Transparent tables can be used to store application data which include master data as well as transaction data. Transparent tables are probably the only type of table that you will ever create as a developer.

Q6. Which Objects Are Independent Transport Objects?

Domains, Data elements, Tables, Technical settings for tables, Secondary indexes for transparent tables, Structures, Views, Matchcode objects, Matchcode IDs, Lock objects.

Q7. What Is The Significance Of Delivery Class?

  • The delivery class controls the degree to which the SAP or the customer is responsible for table maintenance whether SAP provides the table with or without contents.
  • Determines the table type. - determines how the table behaves when it is first installed, at upgrade, when it is transported, and when a client copy is performed.

Q8. What Is An Update Type With Reference To A Match Code Id?

If the data in one of the base tables of a matchcode ID changes, the matchcode data has to be updated. The update type stipulates when the matchcode is to be updated and how it is to be done. The update type also specifies which method is to be used for Building matchcodes . You must specify the update type when you define a matchcode ID.

Q9. What Is A Table Cluster?

A table cluster combines several logical tables in the ABAP/4 Dictionary. Several logical rows from different cluster tables are brought together in a single physical record. The records from the cluster tables assigned to a cluster are thus stored in a single common table in the database.

Q10. How Many Types Of Views Are There ?

  1. Database View (SE11): Database views are implement an inner join, that is, only records of the primary table (selected via the join operation) for which the corresponding records of the secondary tables also exist are fetched. Inconsistencies between primary and secondary table could, therefore, lead to a reduced selection set. In database views, the join conditions can be formulated using equality relationships between any base fields. In the other types of view, they must be taken from existing foreign keys. That is, tables can only be collected in a maintenance or help view if they are linked to one another via foreign keys.
  2.  Help View ( SE54): Help views are used to output additional information when the online help system is called. When the F4 button is pressed for a screen field, a check is first made on whether a matchcode is defined for this field. If this is not the case, the help view is displayed in which the check table of the field is the primary table. Thus, for each table no more than one help view can be created, that is, a table can only be primary table in at most one help view.
  3.  Projection View: Projection views are used to suppress or mask certain fields in a table (projection), thus minimizing the number of interfaces. This means that only the data that is actually required is exchanged when the database is accessed. A projection view can draw upon only one table. Selection conditions cannot be specified for projection views.
  4. Maintenance View ( SE54 ): Maintenance views enable a business-oriented approach to looking at data, while at the same time, making it possible to maintain the data involved. Data from several tables can be summarized in a maintenance view and maintained collectively via this view. That is, the data is entered via the view and then distributed to the underlying tables by the system.

Q11. What Is A Database View?

The database view is combining several fields of two or more tables into single table. At least one relationship is required is required to combine tables to build a database view. Plus one can only read data from database view and cannot modify the data in the view directly (if view involves more than one table). Database views implement an Inner Join on the tables. The database view is the only type of view in SAP that is physically created at the database level. 

For example, consider two tables T1, T2.

Fields of table T1 are F1, F2 and F@Fields of table T2 are F1, F5.

By using a Database view one can combine the fields of both tables T1 and T2, provided primary and foreign key relation is maintained between the two tables and thus final view can have fields like F1, F2, F3, F5.

Q12. What Are The Basic Objects Of The Data Dictionary?

  • Tables
  • Domains
  • Data elements
  • Structures
  • Foreign keys

Q13. Can You Define A Field Without A Data Element?

Yes. Use the path Utilities – > Direct Entry Type

Q14. What Are The Objects Of The Abap Dictionary Or What Types Of Objects Can Be Created In The Abap Dictionary?

The basic objects of the ABAP Dictionary are tables, data elements and domains. Objects that can be created in the ABAP Dictionary or via SE11 transaction are:

  • Tables
  • Data Elements
  • Structures
  • Table Types
  • Type Groups
  • Domains
  • Views
  • Search Helps
  • Lock Objects

Q15. What Is The Maximum Number Of Structures That Can Be Included In A Table Or Structure?

Nine.

Q16. What Are Data Classes? What Are The Various Data Classes Available For Selection?

The data class signifies a physical area in an underlying database where the table is logically stored. Also it throws light on what kind of data will be stored in the table. Data class helps us to categorize the table on the basis of type of data stored.

There are three important data classes

  • APPL0 - Master data - Master data is data which is frequently read, but rarely updated.
  • APPL1 - Transaction data - Transaction data is data which is frequently updated.
  • APPL2 - Organizational and customizing data - Organizational und customizing data is data which is defined when the system is initialized and then rarely changed.

Q17. What Is A View In Sap?

A view is like a telescope which just provides a picture of something. You can construct a view with special lenses or filters to allow you to look at one or more dictionary tables. You can look at parts of one table (selected records and/or fields) or combinations of tables and parts of tables. A view is an ABAP Dictionary object. In simple words, a View simply mirrors an entire database table. A view would just look like a table and act just like a table – but it isn't actually a table.

A view does not contain data of its own - rather, the view provides specialized access to the data that exists in other tables. For this reason, views are often called virtual tables. Views are used to look into one or more tables. A view does not contain data of its own.

Views combines more than one table. The structure of the view is defined in the ABAP Dictionary. With the help of views, application-dependent view can be defined that combines the data.

Data about an application object (like Purchase order, Sales Order, Invoice Verification, etc.) is often distributed on several database tables. By defining a view, one can define an application-dependent view that combines this data. The structure of such a view is defined by specifying the tables and fields used in the view. Fields that are not required can be hidden, thereby minimizing interfaces. A view can be used in ABAP programs for data selection.

Q18. What Is A Size Category?

The Size category describes the probable space requirement of the table in the database.

Q19. What Is Abap Dictionary Or Data Dictionary? What Is The Transaction To Access Abap Dictionary?

A data dictionary is a centralized storage location for information about the data that is stored in a database. It is basically an interface which helps us to understand like what kind of data is stored in database, what are the properties and attributes of the data and the relation between different data objects available in database.

SAP’s data dictionary is called the ABAP Dictionary. ABAP Dictionary is accessed via transaction code SE11.

Q20. What Is An Abap Dictionary?

ABAP dictionary is a central data management system. Its main function is to support the creation and management of data definitions.

Q21. What Are Control Tables?

The values specified for the size category and data class are mapped to database-specific values via control tables.

Q22. How Can We Set The Tablespaces And Extent Sizes?

You can specify the extent sizes and the tablespace (physical storage area in the database) in which a transparent table is to be stored by setting the size category and data class.

Q23. What Is A Help View?

Help views can be used as selection methods for Search Helps. It might be necessary to create a Help View if you are trying to accomplish an outer join, since database views only create inner joins.

Q24. What Is The Significance Of Technical Settings (specified While Creating A Table In The Data Dictionary)?

By specifying technical settings we can control how database tables are created in the database. The technical settings allows us to - optimize storage space requirements

  • table access behaviour
  • buffering required
  • changes to entries logged

Q25. What Do You Mean By Pooled Tables In Sap Abap? Also Explain What Do You Mean By Table Pool?

Tables in Data dictionary which has many to one relationship with an underlying database table is called Pooled table. In simple words, Pooled tables appear as many tables in ABAP dictionary, but the thing is they are stored as a single table in the underlying database.

In ABAP Dictionary, you can see each and every pooled table is assigned to a Table Pool.

As it is understood that for many pooled tables in ABAP dictionary, there is a single table called as Table Pool in an underlying database. A Table Pool is an underlying database table with a special structure that enables the data of many ABAP Dictionary tables to be stored within it.

Tables M_MTVMA, M_MTVMB, M_MTVMC, M_MTVMD and M_MTVME can be seen in ABAP Dictionary. These all mentioned tables are Pooled Tables. All these tables have been assigned to one Table Pool i.e. M_MTVM, which will be present in the underlying database and storing data of all the five mentioned tables of ABAP Dictionary.

Pooled tables are basically used by SAP to store temporary data or customizing data. Pooled tables can also be used to store control data (such as screen sequences or program parameters).

Generally as a developer, we will never create a Pooled table or Table Pool. It does not mean that we cannot create them. SAP has given the option to create Pooled tables through SE80 transaction and Table pool via ABAP Dictionary.

Q26. What Are The Function Of The Transport System And Workbench Organiser?

The function of the transport system and the Workbench Organizer is to manage any changes made to objects of the ABAP/4 Development Workbench and to transport these changes between different SAP systems.

Q27. What Do You Mean By Cluster Tables In Sap Abap? Also Explain What Do You Mean By Table Cluster?

A cluster table is similar to a Pooled table. It has a many to one relationship with a table in an underlying database. Many cluster tables are stored in a single table in an underlying database called a table cluster.

So table cluster is similar to pooled table pool. A table cluster holds only cluster table within it.

Table clusters store data from several cluster tables based on the primary key fields that they have in common. 

Rows from the cluster tables are combined into a single row in the table cluster. The rows are combined based on the part of the primary key they have in common.

The biggest advantage of cluster table and pooled table is they reduce the number of database reads and thereby improve performance.

Tables CDPOS and CDHDR are Cluster tables in SAP ABAP Dictionary and CDCLS is the table cluster that exist in the underlying database. CDCLS table contains or hold data of both tables CDPOS and CDHDR in the underlying database.

Q28. What Are The Two Levels In Defining A Match Code?

  • Match Code object
  • Match Code Id.

Q29. Can We Define Our Own Match Code Id's For Sap Matchcodes?

Yes, the numbers 0 to 9 are reserved for us to create our own Match Code IDs for a SAP defined Matchcode object.

Q30. What Is A Table Pool?

A table pool (or pool) is used to combine several logical tables in the ABAP/4 Dictionary. The definition of a pool consists of at least two key fields and a long argument field (VARDATA).

Q31. What Are The Data Types Of The Abap/4 Layer?

Possible ABAP/4 data types:

  • C: Character.
  • D: Date, format YYYYMMDD.
  • F: Floating-point number in DOUBLE PRECISION (8 bytes).
  • I: Integer.
  • N: Numerical character string of arbitrary length.
  • P: Amount or counter field (packed; implementation depends on hardware platform).
  • S: Time stamp YYYYMMDDHHMMSS.
  • T: Time of day HHMMSS.
  • V: Character string of variable length, length is given in the first two bytes.
  • X: Hexadecimal (binary) storage.

Q32. What Is The Difference Between Data Elements And Domains?

Data Element: Data Element gives semantic attributes like field labels and online documentation

Domain: Domain gives the technical attributes like data type and field length

Q33. What Are The Different Types Of Views In Sap?

In SAP, you have total four types of views. Based on the way in which the view is implemented and the methods that are permitted for accessing the view data they are divided into Database View, Projection View, Maintenance View and Help View. 

Database views implement an Inner Join whereas Projection View, Maintenance View and Help View implement an Outer Join.

There are 4 Different types of Views in SAP. They are:

  • Maintenance View
  • Database View
  • Projection View
  • Help View

Q34. What Is A Data Class?

The Data class determines in which table space the table is stored when it is created in the database.

Q35. What Is The Difference Between Native Sql & Open Sql?

There are two types of SQL being used in SAP ABAP programming language. They are

  • Native SQL
  • Open SQL

Open SQL allows to access the database tables declared in the ABAP dictionary regardless of the database platform that the SAP R/3 system is using.

Native SQL allows to use database-specific SQL statements in a SAP ABAP program. This means that one can use database tables that are not administered by ABAP dictionary, and therefore integrate data that is not part of the SAP R/3 system.

Open SQL is not confined to any particular type of database while a Native SQL is confined to a particular type. 

ABAP programs that uses only Open SQL statements will work in any R/3 system, regardless of the database system in use. Open SQL statements can only work with database tables that have been created in the ABAP dictionary.

Q36. What Are Conversion Routines ?

Non-standard conversions from display format to sap internal format and vice-versa are implemented with so called conversion routines.

Aggregated Objects Views, matchcodes, and lock objects are also called aggregate objects because they are formed from several related tables.

Q37. What Are The Differences Between Transparent Tables, Pooled Tables & Cluster Tables?

Differences between transparent, pooled and cluster tables are:

  • Transparent tables have a one to one relationship with a physical table in an underlying database where as pooled tables and cluster tables have many to one relationship with a physical table in the underlying database (Relationship between tables in ABAP Dictionary & Underlying database).

    For each transparent table there will be exactly only one table in the underlying database whereas many pooled tables are stored in a single table in an underlying database called table pool. Similarly many cluster tables are stored in a single table in the database called a table cluster
  • In case of transparent tables, the underlying database table will have the same name, same number of fields and the fields will also have the same names as defined in ABAP Dictionary whereas for pooled tables and cluster tables the underlying database table will have different name, different number of fields and fields will have different names from what has been defined in ABAP Dictionary.
  • Transparent tables can have one or more primary key Whereas Primary key of each pooled table of a table pool need not be same whereas Primary key of each cluster table of a table cluster should have at least one key in common.
  • Secondary indexes can be created for transparent tables, but for pooled and cluster tables we cannot create any secondary index.
  • Transparent tables can be accessed via both Native and Open SQL whereas pooled and cluster table can be accessed by Open SQL only.

Transparent tables are used to hold application data which includes both master data as well as transaction data. 

Pooled tables reduce the amount of database resources needed when many small tables have to be opened at the same time.

Cluster tables are used when the tables have primary key in common and data in these tables are all accessed simultaneously.

Q38. What Is A Data Dictionary?

Data dictionary is a central source of data in a data management system. Its main function is to support the. It has details about

  • What data is contained?
  • What are the attributes of the data?
  • What is the relationship existing between the various data elements?

Q39. What Is A Match Code?

Match Code is a tool to help us to search for data records in the system. Match codes are an efficient and user-friendly search aid where the key of a record is unknown.

Q40. What Are The Difference Between Tables And Structures?

Table:

  • Table has an underlying database table
  • Table has a primary key
  • Table has technical attributes

Structure:

  • No underlying database table
  • No primary key
  • No technical attributes

Q41. What Are The 3 Types Of Tables In Sap?

There are 3 types of tables in SAP Dictionary (DDIC). They are:

  • Transparent Table
  • Pooled Table
  • Cluster Table

Q42. Can You Delete A Domain Which Is Being Used By Data Elements?

No

Q43. What Are Pooled Tables?

These are logical tables which must be assigned to a table pool when they are defined. Pooled tables can be used to store control data (such as screen sequences or program parameters).

Q44. What Are The Data Types Of The External Layer?

ACCP, CHAR, CLNT, CUKY,CURR, DATS, DEC, FLTP, INT1,INT2, INT4, LANG, LCHR,LRAW, NUMC, PREC, QUAN,RAW ,TIMS, UNIT, VARC.

Q45. What Are The Types Of Subroutines?

  • Internal Subroutines: The source code of the internal subroutines will be in the same ABAP/4 program as the calling procedure (internal call).
  • External Subroutines: The source code of the external subroutines will be in an ABAP/4 program other than the calling procedure.

Q46. What Is The Difference Between A Substructure And An Append Structure?

  • In the case of a substructure, the reference originates in the table itself, in the forma of a statement include. 
  • In the case of an append structure, the table itself remains unchanged and the reference originates in the append structure.

Q47. What Is A Maintenance View?

Just like we have table maintenance (SM30) for each table, similarly if there is a requirement to maintain data for one or more tables in a single view, then maintenance view can be created. All the tables in a maintenance view must be linked with foreign key. The join conditions for maintenance views are always derived from the foreign key automatically and thus one cannot directly enter the join conditions as for database views. Unlike Database views, one can modify data from maintenance view.

Thus, a maintenance view allows you to maintain the data of an application object together. 

Q48. What Is Locking ?

When two users simultaneously attempt to access the same data record, this is synchronised by a lock mechanism.

When dialog transactions are programmed, locks are set and released by calling certain function modules. These function modules are generated automatically from the definition of so-called lock objects in the ABAP/4 Dictionary. To synchronize the access to a table by setting and removing locks, a Lock object has to be defined in the ABAP/4 Dictionary. Activating the lock object automatically creates #function modules for setting and removing locks. These function modules must be included when programming interactive transactions.

Lock Mechanism : To set locks, a lock object must be defined in the ABAP/4 Dictionary. In this lock object, those tables in which data records are to be locked by calling a lock are determined. All tables included in a lock object must be connected to each other via foreign keys. The key fields of the tables in a lock object form the Lock arguments for the tables. The lock arguments are the basis for formulating the logical condition for identifying the records to be locked. When activating this lock object, two function modulesB with the namesENQUEUE_ and DEQUEUE_ are generated.

Q49. State The Differences Between Database View & Projection View?

The basic differences between projection view and database view are:

  • Database view can built over many tables whereas projection view can be built over a single table only.
  • Database view can be updated if the view is built over a single table whereas in projection view data can be updated.
  • In case of database view, data updates can use open SQL or native SQL whereas in case of projection view, data updates must use open SQL.
  • Database view can be buffered whereas Projection view cannot be buffered.

Q50. What Are The Relational Operations That Can Be Performed On View In Sap?

There are three operations that can be performed on views in SAP: Join, Projection and Selection.

  • The Projection Operation is used to narrow a view’s focus to certain fields in a table.
  • The Selection Operation is used to narrow a view’s focus to certain records in a table.
  • The Join Operation is used to combine information from multiple tables into a single view.