Javatpoint Logo
Javatpoint Logo

SAP ABAP Interview Questions and Answers

A list of top frequently asked SAP ABAP Interview Questions and answers are given below.

1) What is ABAP?

The term ABAP stands for Advanced Business Application Programming. It is a high-level programming language created by the German software company SAP SE. It is currently positioned together with Java as the programming language for the SAP NetWeaver Application Server which is part of the SAP NetWeaver platform for building business applications.

It is one of the many application-specific languages of the fourth generation and was developed in the 1980s.

2) Describe the SAP R/3?

It is a 3 tier architecture consisting of 3 layers.

  • Presentation
  • Application
  • Database
ABAP Interview Questions

It's a client-server architecture. The term R stands for Real-time system, and 3 represents the 3-tier architecture.

3) How many ways can a SAP system be accessed?

Users can access a SAP system in two ways.

  • Through SAP GUI
  • Through a Web browser

This is called a front-end. User can install only the front-end, not the application databases server. Front-end accept the user's requests to the database server and application servers.

4) What are the Pooled and Cluster Tables?

Pooled tables and clusters tables are special table types in the ABAP Dictionary. We can store the data from several different tables into a table pool or table cluster. Tables assigned to a table pool or table cluster denoted as pooled tables or cluster tables.

We should use a table pool, especially for storing internal control information. The control information can be screen sequences, program parameters, temporary data, and continuous texts such as documentation.

Commercial relevance data is stored in transparent tables.

5) What is the Major difference between pool tables and transparent tables?

The major difference between the pool tables and the transparent tables is that the pool tables have many to one relationship with the database table, on the other hand, the transparent tables have one to one relationship with the same.

6) Explain Data Dictionary in ABAP?

The ABAP Dictionary is used to create and manage data definitions (metadata). The ABAP Dictionary allows the essential description of all the data used in the system without redundancies. New or updated information is automatically provided for all the system components. This ensures data integrity, data security, and data consistency.

The ABAP Dictionary supports the definition of user-defined data elements, structures, and table types. You can create the related objects (tables or views) in the basic relational database using these data definitions. The ABAP Dictionary describes the logical structure of the objects which is used in application development. These objects show the connectivity with the underlying relational database in tables or views.

ABAP Interview Questions

The ABAP Dictionary also supports some standard functions for editing fields on the screen like assigning input help to a screen field.

7) Explain some essential objects in ABAP Dictionary?

Some essential object types in the ABAP Dictionary are as follows.


Tables are defined independently in the ABAP Dictionary of the database.


Views are rational views of more than one table. The view structure is defined in the ABAP Dictionary. An overlook of the database can be created from this structure.


The type structure can be defined globally in ABAP programs. Changes to a type are activated automatically in all the programs using the type.

Lock objects

Lock objects are used to synchronize access to similar data by the various user.


The Domain can combine the different fields having the same technical type. A domain defines the value range of all table fields and structure modules that refer to this domain.

8) Define Structure in ABAP Data Dictionary?

The structure is a data object that is made up of components of various data type stored respectively in the memory. Structures are Just like a user-defined data type. It is like a table for the Data Dictionary and can be addressed from ABAP programs. The structure holds data at runtime.

9) What are the internal tables and Work Area?

Internal tables and work areas are temporary memory areas which are used to store data at run-time. These are the instances of database tables and Internal tables. Work Area is a standard data type object. These tables exist only during the execution of the program. It is used to perform table operations on subsets of database tables to re-organize the contents of database tables according to users need.

10) What is ITS? What are the merits of ITS?

ITS stands for Internet Transaction Server. It creates an interface between the HTTP server and R/3 system to convert screen provided data by the R/3 system into HTML documents and vice versa.

Merits of ITS

  • A comprehensive web transaction can be developed and tested in the R/3 system.
  • It acts on all transaction components, including those used by the ITS outside.
  • The advantage of automatic language processing in the R/3 system that we can utilize the language-dependent HTML documents at runtime.

11) What is SAP Script? Describe its components.

SAP script is a text-processing system of the SAP System's itself. It is much like other leading text-processing systems. It is used to print preformatted text in respective forms.

ABAP Interview Questions

SAP scripts is a SAP tool used for word processing. SAP Script has the following components:

Standard text

It is similar to standard normal documents.

Layout sets

Layout set consists of the following components:

  • Format Components of Sap Scripts are Windows and pages, Paragraph formats, Character.
  • Forms in the R/3 system.
  • Every layout set contains a Header, paragraph, and character string in ABAP/4 program.

12) What is a foreign key relationship?

A foreign key relationship can be defined between tables and should be explicitly defined at the field level. Foreign keys are used to make sure the consistency of data. The entered data must be checked against existing data to ensure the contradiction. The Cardinality must be specified while defining a foreign key relationship. Cardinality represents how many dependent records and referenced records are possible.

13) Mention the various databases integrities.

The different types of database integrities are as follows.

  • Semantic Integrity
  • Primary Key Integrity
  • Relational Integrity
  • Value Set Integrity
  • Operational Integrity
  • Foreign Key Integrity

14) Differentiate between ABAP memory and SAP memory.

The ABAP memory is treated as a memory area in which the ABAP program is availed in the internal section. Data is stored in the program calls. These program calls allow the data to be passed from one program calls to another.

It is possible to pass the data from one session to another by the SAP Memory. All the sessions of SAP GUI have suspected to the memory area known as SAP Memory. Data transfer from one session of the programming system to another session is effortless.

15) Explain BADI in ABAP.

The term BADI stands for Business Add-In. It is a new SAP Object Oriented enhancement technique. BADI is used to implement our business functionality to the existing SAP standard functionality.

BADI's are available in SAP R/3 from the system release version 4.6c

BADI follows the Object-Oriented approach to reuse the enhancement technique. We can use a BADI many times.

16) What are the two statements which are required in an ABAP program to output an icon using a write statement?

There are two statements which are required in the ABAP program:


Include Statement is a required statement for the program.


The syntax of the Write Statement is given below:

17) How to insert a line into ABAP internal tables?

We can insert line or lines to ABAP internal tables using the INSERT statement . To insert a line, first put the values which we want to insert in a work area then use the INSERT statement to insert the values in the work area to the internal table.

The syntax for inserting a line into an internal table:

18) What is Web Dynpro for ABAP?

Web Dynpro (WD) is a SAP web interface model for ABAP. It is used to develop web application in SAP. It provides a front-end user interface to connect directly to backend SAP R/3. It accesses data and function for reporting.

19) What do you mean by BDC (Batch Data Communications) programming?

BDC is an automatic procedure to forward massive or external data into the SAP system. Queue file is the essential component of the transfer. Queue files receive the data through batch input programs and groups that are affiliated into 'sessions.'

20) Describe the data classes?

The data classes can be classified into the following classes.

Master Data:

The data in the master class rarely change.

Transaction Data:

In the Transaction class, the data can be changed frequently.

Organization Data:

In Organize Data class, the data is a customized data and is entered into the system when the system is configured. It is rarely changed.

System Data:

The R/3 system itself uses this data.

21) What are the different types of LUWs?

A LUW (Logical Unit of Work) is an attached sequence of database operations which must be executed either entirely or not at all. Thus, it constitutes a unit for the database system.

There are two types of LUW are:


A database LUW is a method used by the database to ensure data consistency. It is an attached sequence of database operations that ends with a database commit. If a database LUW has been successfully executed, the database will be in a consistent state. If a database LUW contains an error, then all of the database affected by this error. This makes the database as it was during the startup database.


It is a logical unit consisting of dialog steps. The changes of these steps are written to the database in a single database LUW is called an SAP LUW. A SAP LUW can span several dialog steps. It can be executed using a series of different work processes.

22) Mention some important events in ABAP programming.

Below are some important events in ABAP programming:


This is the first event to be called before any of the other ABAP code is processed.


It is called after the ABAP selection screen code has been processed. This event is used to initialize input fields of the selection screen or change the default values of these.


This event is called just before the selection screen is displayed. It can be used to manipulate the actual selection screen attributes using the loop at screen functionality. This event allows functionality like hiding fields, grey them out, so they are output only or make them intensified, etc.


This event is called when a new page is started with an ABAP list. It is used to display a header for the list.


This event is also activated while creating detailed lists.


This event is displayed at the end of each page.

23) What are the Differences between Macro and Subroutine?

Macros are only used in the program in which they are defined. The definition of macros can be expanded at compilation/generation.

Subroutines (FORM) can be called from any program, whether they are defined in or other programs.

A MACRO is an abbreviation for some lines of code that are used more than one time or two. It is a local subroutine.

Since debugging the MACRO is not possible, so we prevent the use of them. Use a FORM, if the subroutine is used as local only. For external use, use a FUNCTION.

24) Specify the types of Data Dictionary Objects.

There are various types of objects that are used in the SAP Data Dictionary space. A list of such objects is as follows.

  • Tables
  • Views
  • Domain
  • Data Element
  • Type Groups
  • Search Helps/Math Code Objects
  • Lock Objects
  • Structures
  • Table Types

25) Differentiate Database Index and Match Code.

Database Index contains fields from only one table on the other hand; Match Code Objects can be built on cluster tables, transparent tables, and pooled tables.

26) Why do we use events and actions in Web Dynpro?

In Web Dynpro, events can be created to establish a connection between controllers. With the connection, one controller can be allowed to trigger events in other controllers. All events are organized in component controllers and available in particular components.

27) What is a Subroutine?

The subroutine is a reusable section of code. It is a customized unit within ABAP programs where functions are encapsulated in the form of their source code. A part of a program can be called out to a subroutine for getting a better overview of the main program.

28) Difference between user exit and BADIs?

User exit is used for single implementation, and it is a procedural approach. In the case of BADIs, they are used for multiple implementations and object-oriented approaches.

Here multiple implementations mean Reusability of the object.

29) What are some Control break events in ABAP?

Some control break events are as follows.


This event is used to execute the statements before records are processed.


This event is used to execute the statements after all records are processed.


This event is used to execute the statement before the collection of records are processed.


This event is used to execute the statements after processing of a group of records.

30) What does an extract statement do in the ABAP program?

An extract dataset contains a sequence of records. These records may have different structures.

A record type is a format of all records with the same structure. The first extract statement creates the extract dataset and adds the first extract record to it.