SAP ABAP Interview Questions and Answers

Question.1 What is the advantage of structures? How do you use them in the ABAP programs?

Answer: GLOBAL EXISTANCE (these could be used by any other program without creating it again).

Question:2 What does an extract statement do in the ABAP program?

Answer: Once you have declared the possible record types as field groups and defined their structure, you can fill the extract dataset using the following statements:


When the first EXTRACT statement occurs in a program, the system creates the extract dataset and adds the first extract record to it. In each subsequent EXTRACT statement, the new extract record is added to the dataset


When you extract the data, the record is filled with the current values of the corresponding fields.

As soon as the system has processed the first EXTRACT statement for a field group , the structure of the corresponding extract record in the extract dataset is fixed. You can no longer insert new fields into the field groups and HEADER. If you try to modify one of the field groups afterwards and use it in another EXTRACT statement, a runtime error occurs.

By processing EXTRACT statements several times using different field groups, you fill the extract dataset with records of different length and structure. Since you can modify field groups dynamically up to their first usage in an EXTRACT statement, extract datasets provide the advantage that you need not determine the structure at the beginning of the program.

Question.3 What is a collect statement? How is it different from append?

Answer: Collect : If an entry with the same key already exists, the COLLECT statement does not append a new line, but adds the contents of the numeric fields in the work area to the contents of the numeric fields in the existing entry.

Append – Duplicate entries occurs.

Question.4 What is OPEN SQL vs NATIVE SQL?

Answer: Open SQL – These statements are a subset of standard SQL. It consists of DML command (Select, Insert, Update, Delete). It can simplify and speed up database access. Buffering is partly stored in the working memory and shared memory. Data in buffer is not always up-to-date.

Native SQL – They are loosely integrated into ABAP. It allows access to all functions containing programming interface. They are not checked and converted. They are sent directly to the database system. Programs that use Native SQL are specific to the database system for which they were written. For e.g. to create or change table definition in the ABAP.

Question.5 What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it?

Answer: To use a Native SQL statement, you must precede it with the EXEC SQL statement, and follow it with the ENDEXEC statement as follows:



There is no period after Native SQL statements. Furthermore, using inverted commas (“) or an asterisk (*) at the beginning of a line in a native SQL statement does not introduce a comment as it would in normal ABAP syntax. You need to know whether table and field names are case-sensitive in your chosen database.

Question.6 What is the meaning of ABAP editor integrated with ABAP data dictionary?

Answer: ABAP Editor: Tool in the ABAP Workbench in which you enter the source code of ABAP programs and check their syntax. You can also navigate from the ABAP Editor to the other tools in the ABAP Workbench.

Question.7 What are the events in ABAP language?

Answer: The events are as follows:

1. Initialization

2. At selection-screen

3. Start-of-selection

4. End-of-selection

5. Top-of-page

6. End-of-page

7. At line-selection

8. At user-command

9. At PF

10. Get

11. At New

12. At LAST

13. AT END


Question.8 What is an interactive report? What is the obvious difference of such report compared with classical type reports?

Answer: An Interactive report is a dynamic drill down report that produces the list on users choice.

Difference: –

a) The list produced by classical report doesn’t allow user to interact with the system where as the list produced by interactive report allows the user to interact with the system.

B) Once a classical report, executed user looses control where as Interactive, user has control.

C) In classical report, drilling is not possible where as in interactive, drilling is possible.

Question.9 What is a drill down report?

Answer: Its an Interactive report where in the user can get more relevant data by selecting explicitly.

Question.10 How do you write a function module in SAP? Describe.


1. Called program – SE37 – Creating function group, function module by assigning attributes, importing, exporting, tables, and exceptions.

2. Calling program – SE38 – In program, click pattern and write function name- provide export, import, tables, exception values.

Question.11 What is table buffer? Which type of tables used this buffer?

Answer:  buffer is nothing but a memory area. table is buffered means that table information is available on application server. when you call data from database table it will come from application server.

transperent and pooled tables are buffered. cluster tables can not buffered.

Question.12  What is the use of pretty printer ?

Answer:  Exactly where can we link the functional module to abap coding.

Pretty Printer is used to format the ABAP Code we write in ABAP Editor ,like KEY WORDS in Capitals and remaining are in small letters which is also depend on system settings.

We can call the function module in the ABAP Code .Press the Pattern button on Appl. tool bar then u will get box where u write the function module NAME which u want to call in the code by selecting the radio button CALL FUNCTION. In this way we link function module to ABAP Code.

Question.13  What is the difference between SAP memory and ABAP memory?

Answer:  data sending between main sessions using get parameter and set parameter is sap sending between internal sessions using import or export parameters is abap memory  sap memory is a global memory whereas abap memory is local memory.

For example, we have four programs in abap memory and assigned some variables to a particular program in abap memory then those variables can’t be used by any other program in abap memory i.e., the variables are only for that program and also local to that memory,whereas sap memory can access all the abap memory or else it can perform any kind of modifications.

Question.14  What is the difference between Type and Like?

Answer:  TYPE, you assign datatype directly to the data object while declaring.

LIKE,you assign the datatype of another object to the declaring data object. The datatype is referenced indirectly.

Question.15  What is TcodeSE16. For what is it used. Explain briefly?

Answer:  SE16 is a T-code for object browser.

Generally used to search the fields of SAP Tables .and respective data.

Question.16 What are different ABAP/4 editors? What are the differences?

Answer:  The 2 editors are se38 and se80 both have the abap editor in place. In se38 you can go create programs and view online reports and basically do all the developmet of objects in this editor. In se80 ( object navigator) there are additional features such as creating packages,module pool , function group ,classes, programs ( where you can create your programs) and BSP applications .

Question.17  When do we use End-of-selection?

Answer:  End-of-selection event are mostly used when we are writing HR-ABAP code. In the HR-ABAP code, data is retrieved in the Start-of-selection event and Printing on the list and all will be done in End-of-selection event.

Question.18  In events start-of-selection is default event. When we have to use this event explicitly? Why?

Answer:  The default event in the ABAP is Start-of-selection.We have to call explicitly this event when you are writing other than this event , that is when you write AT SELECTION-SCREEN EVENTS OR INITIALIZATION EVENT etc,you have to explicitly mention the Start-of-selection event while you are writing the logic.

Before these events called ,all the code you have written come into this default Start-of-selection screen event.

Question.19  What is the differences between ABAP and OOABAP. In which situation we use OOABAP?

Answer:  OOABAP is used to develop BSP/PCUI applications and also anything involved object oriented like BADIs, SmartForms..etc.where as ABAP is used to develop traditional programs in R/3.