SAP ABAP Interview Questions and Answers
1. What is SAP ABAP?
SAP ABAP – ABAP is an acronym for Advanced Business Application Programming / 4th Generation Language. SAP ABAP is used in SAP R/3 application development. Many large companies use ERP (Enterprise Resource Planning) software to manage their day-to-day affairs.
In ABAP programming language, user actions control the execution of the applications. Therefore, it is called an event-driven language.
2. Explain the architecture in SAP ABAP 3-tier?
There are 3 layers in SAP ABAP or SAP R/3 3-tier architecture.
- Presentation layer
- Application layer
- Database layer
The Presentation layer consists of input devices i.e. it provides means of input providing users to control the output of the SAP system. This could be a mobile device, a web browser etc. The Application layer is the place where business logic or the central processing takes place. The application layer can be installed either on one system or on multiple systems. The Database layer holds the data. It supports any RDBMS. It has to be installed on one machine or system. Communication happens between each layer of the system, from the Presentation layer through the Database layer.
3. What is the difference between a transparent table and pool table?
Transparent tables: It corresponds to one database field. This table has the same structure i.e. same data and fields in both the dictionary and database. In a database, it has one to one relation with the tables.
Pooled tables: As in the name, it has a pool, i.e. many to one relation with the tables in the database. These are the logical table and are stored in the database level. These tables are used to store control data.
4. Explain the work area and internal tables in ABAP. Why do we use it?
Work area and internal tables are temporary memory areas. These are used to store the data at run-time. Both work areas and internal tables for the instances of database tables.
5. Explain internal tables?
Internal tables are standard data type objects. They come only when the program runs. These are used for table calculations and reorganizing of data in DB tables according to the needs of the customer.
6. Explain different data types in ABAP?
Following are predefined types in ABAP with fixed length:
- Character (C), Date (D), Time (T), and Numeric character (N).
- Hexadecimal type:
- Byte field (X).
- Numeric types:
- Integer (I), Packed number (P), and Floating-point number (F).
7. Mention the different types of data dictionary objects?
- Data element.
- Lock Objects.
- Match code objects.
8. What do you know about ABAP data dictionary?
This describes the structure (logical) of the objects used in the application development and describes how the applications are mapped to the database in tables/views.
9. What is the use of ‘TYPES’ statement in ABAP programming?
A user-defined structure is passed using this statement in ABAP program.
10. What is BDC (Batch Data Communications) programming?
It is a process of automatically transferring large or external data into the SAP system. Data is transferred to ‘Queue file’ which is the central component; in the form of batch input programs and groups which are associated into sessions.
11. What is a batch input session?
It is a method of transferring data in the form of a session from the internal table to the database table. Here, the data is transferred to the database table with the session, and a session acts as an intermediate step between an internal table and the database table.
12. How do you deal with errors in BDC batch sessions?
Errors appear mostly in INCORRECT session. When errors appear in BDC session, they are processed again for the correction. Before that, we analyze the session to determine the value & a screen that produced the error, if the error appeared is small, we correct them else we modify the program or the flat file itself.
13. What are the different data classes?
The data classes are classified into 4 following classes
- Master Data: The data is changed very rarely in the class
- Transaction Data: The data in this class can be changed often
- Organization Data: This data is rarely changed. It is a customized data and during the configuration of the system, it is entered.
- System Data: For the use of the R/3 system itself, this data is used.
14. What is the difference between Template and Table?
The only difference is a table is dynamic and a template is static.
15. What is the use of logical blocks in the ABAP program?
Modularization is a process of organizing the programs into modular units, also known as logical blocks. These help in increasing the readability by reducing the redundancy and during the maintenance cycle as well. The reusability of the code is enabled with the Modularization.
16. When do we use End-of-selection?
While writing HR-ABAP code, we use the end of the selection event mostly. Data is retrieved in the start and printing is done at the end of the selection event in HR-ABAP code.
17. How many types of editors are there for ABAP/4? What are the differences?
There are basically two ABAP/4 editors.
i) SE38 – All the development activities of the objects in the editor can be performed using this. Apart from that, it allows creating programs and can view the reports generated online.
ii) SE80 – It has some more additional features such as creating packages, function group, module pool, programs, and classes.
18. What is the Primary difference between SAP memory and ABAP memory?
SAP memory – global memory
ABAP memory – local memory.
19. What are the different methods used to modify SAP standard tables?
Following are the two methods for modifying SAP standard tables
a) Append structures
b) Customizing includes
20. What are some of the benefits of modularization technique?
Modularization makes the program readable and helps in improving the structure. This technique helps in avoiding the redundancy, for instance, if the program needs to process a function multiple times or if a program contains a same or similar blocks of statements.
21. Explain the use of breakpoints table in ABAP programming?
Breakpoints table is very useful in a large program with many numbers of breakpoints sets. It helps in finding and removing the breakpoints that are no longer required and allows reviewing the breakpoint.