30 SAP ABAP Fresher Interview Questions with Answers
Core concepts, practical examples, common traps and a rapid revision checklist for your first SAP ABAP interview.
ABAP Fundamentals
1. What is ABAP?
ABAP is SAP's application programming language for building and extending business applications on the ABAP platform. A strong answer should connect the language to business processes, data models, services and extensibility.
2. What is the ABAP Dictionary?
The ABAP Dictionary centrally defines reusable metadata such as tables, structures, data elements, domains, views, search helps and lock objects. Dictionary objects improve consistency and are integrated with runtime services.
3. Domain vs data element?
A domain describes technical properties and permitted values. A data element provides the semantic meaning and field labels. Many data elements can reuse one domain.
4. Structure vs database table?
A structure groups fields but does not persist records. A database table has a physical persistence definition and table-specific technical settings.
5. What is a work area?
A work area holds one row-shaped data object. Modern ABAP often uses inline declarations or field symbols to keep row handling local and avoid unnecessary copying.
6. What are internal tables?
Internal tables are dynamic in-memory collections processed within an ABAP program. The three main categories are standard, sorted and hashed tables; choose by access pattern rather than habit.
DATA lt_flights TYPE STANDARD TABLE OF sflight WITH EMPTY KEY.
SELECT carrid, connid, fldate
FROM sflight
INTO CORRESPONDING FIELDS OF TABLE @lt_flights
UP TO 20 ROWS.7. What is the difference between DATA and TYPES?
TYPES creates a data type definition. DATA creates a runtime data object based on a type.
8. What is a field symbol?
A field symbol is an alias to an existing memory area. It can modify the assigned row directly and often avoids copying in internal-table loops.
LOOP AT lt_items ASSIGNING FIELD-SYMBOL(<item>).
<item>-status = 'READY'.
ENDLOOP.9. What does sy-subrc mean?
It is a system field used by many statements to report success or failure. Always interpret it according to the statement's documentation; do not assume every non-zero value means the same condition.
10. PARAMETERS vs SELECT-OPTIONS?
PARAMETERS normally represents one input value. SELECT-OPTIONS creates a range table that can represent intervals, multiple values and exclusions.
Open SQL and Program Flow
11. Open SQL vs Native SQL?
ABAP SQL/Open SQL is platform-integrated and database-independent. Native SQL uses database-specific syntax and should be restricted to justified cases.
12. Why avoid SELECT *?
Fetching only required columns reduces transferred data, memory consumption and accidental coupling to table changes.
13. SELECT SINGLE vs UP TO 1 ROWS?
SELECT SINGLE expresses a request for one row, ideally through a fully specified key. UP TO 1 ROWS is part of a result-set query and can be combined with ordering when the required row is defined by sort criteria.
14. Why is SELECT inside LOOP risky?
It may cause many database round trips. Prefer a set-based read, join, association or a prepared lookup table when the business rule allows it.
15. What are host variables?
ABAP data objects used inside modern SQL statements are escaped with @, clearly separating program variables from database fields.
SELECT carrid, connid
FROM spfli
WHERE carrid = @p_carrid
INTO TABLE @DATA(lt_routes).16. What is modularization?
It divides logic into reusable, testable units. In modern code, methods and classes are generally preferred for encapsulation; function modules remain important for established APIs and remote-enabled interfaces.
17. Instance method vs static method?
An instance method works on an object and can use instance state. A static method belongs to the class and is invoked without creating an object.
18. What is an exception class?
An exception class represents a typed error condition that callers can catch. It produces clearer error contracts than magic return codes.
Practical Scenario Questions
19. How would you debug an incorrect report total?
Reproduce with controlled input, locate the first incorrect intermediate result, inspect selection conditions and keys, check duplicate multiplication during joins, verify currency/quantity semantics and create a regression test.
20. How do you improve a slow report?
Measure first using appropriate traces and ATC findings. Reduce database volume, use selective conditions and indexes, avoid repeated reads, choose correct internal-table keys and push suitable calculations to the database.
21. How do you safely change standard SAP behaviour?
Use released enhancement options such as BAdIs, enhancement spots or approved extensibility models. Avoid modifying SAP standard objects.
22. What is a lock object?
A Dictionary lock object generates enqueue and dequeue function modules used for logical SAP locks, helping prevent conflicting updates.
23. What is a transport request?
It records repository or customizing changes so they can move through the system landscape under controlled governance.
24. What is an authorization check?
It verifies that the current user has permission for an action using an authorization object. Never rely only on hiding a UI element.
Modern ABAP Quick Questions
25. What is an inline declaration?
DATA(result) or FIELD-SYMBOL(<row>) declares a variable at a declaration position where its type can be inferred.
26. VALUE expression?
It constructs structures, internal tables or elementary values in an expression-oriented form.
27. CORRESPONDING expression?
It maps same-named components and supports explicit mapping, exclusions and base values.
28. COND and SWITCH?
They return values based on conditions, making compact assignment logic possible. Use them only while readability remains high.
29. What is ABAP Unit?
ABAP Unit is the built-in testing framework. Test classes use FOR TESTING, and assertions such as CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS verify behavior.
30. What is ATC?
ABAP Test Cockpit performs static quality and compliance checks. Teams use it to detect risky patterns, security findings and migration issues before transport.
60-second revision
- Explain every concept with one business example.
- Know standard, sorted and hashed table selection.
- Use set-based SQL and avoid database access inside loops.
- Prefer released enhancements over modifications.
- Mention testing, ATC and authorization in project answers.
Mini coding exercise
Read flight connections for one carrier, store them in a sorted table with a unique key and return whether a requested connection exists. Write one positive and one negative ABAP Unit test.
0 Comments