SAP ABAP Interview Questions for 3–5 Years Experience: 75 Real Project Scenarios (2026)

SAP ABAP interview questions 2026 – 75 real project scenarios


Preparing for an SAP ABAP interview with 3–5 years of experience requires more than memorizing definitions. Interviewers expect you to explain how you diagnose production issues, choose maintainable designs, improve performance, and protect a clean SAP S/4HANA core.

This 2026 guide gives you 75 real-project scenario questions, concise answer directions, practical ABAP examples, common mistakes, and a seven-day revision plan. Use the framework Context → Diagnosis → Action → Validation → Prevention when answering.

Table of contents

  1. How to answer scenario questions
  2. Core ABAP and OO
  3. Internal tables and performance
  4. Open SQL and SAP HANA
  5. Debugging, ST05, SAT and dumps
  6. DDIC, enhancements, forms and integration
  7. CDS, OData, RAP and clean core
  8. Exercises and rapid revision

A strong interview-answer framework

1. Context: Clarify business impact, system, release and data volume. 2. Diagnosis: Name the evidence and tools. 3. Action: Explain the safest technical fix. 4. Validation: Describe tests and monitoring. 5. Prevention: Add quality gates, documentation or automation.

1–5: Core ABAP and object-oriented design

  1. A report works in development but fails with millions of rows in production. What do you do?
    Confirm selection criteria and volume, reproduce safely, measure SQL and ABAP time, push filters and aggregation to the database, remove SELECT-in-loop patterns, and retest with production-like data.
  2. When would you replace procedural code with classes?
    Use classes when responsibilities can be isolated, dependencies injected, behavior tested, and implementations substituted.
  3. How do you design reusable business validation?
    Put rules in a side-effect-free class method, return structured messages or raise meaningful exceptions, and test boundary cases with ABAP Unit.
  4. How do you handle checked exceptions without hiding the real cause?
    Catch only where recovery or context can be added, chain the previous exception, log technical detail, and show a business-safe message.
  5. A method has 15 importing parameters. How would you improve it?
    Group cohesive inputs into typed structures or value objects, separate responsibilities, and keep mandatory inputs explicit.
TRY.
  DATA(result) = service->execute( request ).
CATCH zcx_business INTO DATA(error).
  RAISE EXCEPTION NEW zcx_application(
    textid = zcx_application=>processing_failed
    previous = error ).
ENDTRY.

6–10: Internal tables and performance

  1. STANDARD, SORTED or HASHED table?
    Choose STANDARD for sequential processing, SORTED for ordered or range access, and HASHED for unique full-key lookup.
  2. A nested LOOP is slow. How do you optimize it?
    Build a hashed lookup or sorted secondary key, replace O(n×m) scans with key access, and confirm improvement using SAT.
  3. How do you prevent duplicate table entries?
    Model a UNIQUE key, handle duplicate-key exceptions or sy-subrc, and keep the rule close to insertion.
  4. When are secondary keys valuable?
    When one table is accessed repeatedly through multiple stable key patterns. Measure memory and key-maintenance cost first.
  5. Why can table expressions dump?
    A missing row can raise CX_SY_ITAB_LINE_NOT_FOUND. Use OPTIONAL, line_exists( ), or exception handling when absence is expected.
TYPES tt_customer TYPE HASHED TABLE OF ty_customer
  WITH UNIQUE KEY customer_id.
DATA(customers_by_id) = VALUE tt_customer( FOR row IN customers ( row ) ).
DATA(customer) = VALUE #( customers_by_id[ customer_id = order-customer_id ] OPTIONAL ).

11–15: Open SQL and SAP HANA

  1. Why avoid SELECT *?
    It transfers unnecessary data, increases memory use, hides dependencies, and makes intent unclear.
  2. When is FOR ALL ENTRIES dangerous?
    An empty driver table can broaden the result unexpectedly. Check input, deduplicate keys, and consider joins or IN.
  3. Join or multiple SELECTs?
    Prefer one set-oriented operation when semantics allow it. Compare cardinality and authorization behavior and measure.
  4. How do you investigate a slow Open SQL statement?
    Use SQL Monitor or ST05, inspect selectivity, reduce transferred columns and rows, and verify indexes with evidence.
  5. What does code pushdown mean?
    Move filtering, aggregation and calculation to CDS, Open SQL or AMDP when the database can process them efficiently.
SELECT salesorder, salesorderitem, material, netamount
  FROM i_salesorderitem
  WHERE salesorder IN @sales_orders
  INTO TABLE @DATA(items).

16–20: Debugging, ST05, SAT and runtime errors

  1. A background job fails but dialog execution succeeds. Compare user authorizations, variants, locale, spool, file paths and memory limits; inspect SM37 and ST22.
  2. How do you debug an update task? Use update debugging in a controlled system, inspect SM13 failures, identify the update function and reproduce safely.
  3. ST05 or SAT? ST05 focuses on SQL, enqueue and RFC traces; SAT measures ABAP runtime and call hierarchy.
  4. How do you analyze a short dump? Read exception, termination point, active calls, source extract and variables; find the first business-code frame and add a regression test.
  5. A breakpoint is never reached. Why? Check user and session, RFC or HTTP context, update or background mode, active version, system and client.

21–45: Enterprise ABAP scenarios

21–25: Data Dictionary, locks and updates

  1. Table activation fails after a field change. Review dependencies, conversion requirements and enhancement category; plan a controlled transport.
  2. Two users overwrite the same document. Use an enqueue object, lock at business-object granularity, handle messages, and release reliably.
  3. Database update and external call must be consistent. Define the transaction boundary, avoid premature COMMIT, log and design idempotent retries.
  4. Domain values changed but UI still shows old text. Check activation, buffering, maintenance views, caches and transport sequence.
  5. A custom table grows rapidly. Confirm retention, indexes and access paths; implement archiving or housekeeping.

26–30: Enhancements, BAdIs and exits

  1. Classic modification or enhancement? Prefer released enhancement points, BAdIs or APIs to reduce upgrade conflicts.
  2. Multiple BAdI implementations run unexpectedly. Check filters, fallback behavior, activation and single- or multiple-use design.
  3. An exit works in one client only. Compare activation, customizing, project assignment, transports and client-dependent configuration.
  4. How do you make enhancement logic testable? Keep the enhancement thin and delegate rules to injectable classes with ABAP Unit.
  5. How do you find the right enhancement? Start from released APIs and BAdIs, trace the process and avoid unsupported hooks.

31–35: Forms and output

  1. Smart Form output differs by language. Check translations, fonts, paragraph formats and locale-dependent formatting.
  2. Adobe form PDF is blank. Verify ADS connectivity, interface binding, context conditions, spool logs and supplied data.
  3. Page breaks are inconsistent. Test realistic data lengths, protect logical blocks and avoid absolute positioning for dynamic content.
  4. How do you separate form logic? Prepare a typed print model in a class and keep selection code out of layout.
  5. Output must be emailed reliably. Generate once, validate MIME and size, use logs and retryable send processing.

36–40: IDoc, RFC and BAPI

  1. An inbound IDoc is in status 51. Read the application message, validate partner profile and master data, fix the cause, then reprocess.
  2. Duplicate IDocs create duplicate orders. Implement idempotency with a stable external key.
  3. RFC fails intermittently. Check SM59, network and gateway logs, timeouts and serialization; retry only safe idempotent operations.
  4. A BAPI returns success but data is missing. Inspect RETURN, required fields and documented commit behavior.
  5. How do you secure remote interfaces? Use least privilege, released APIs, secure destinations, validation and logging.

41–45: Workflow and project delivery

  1. A workflow is not triggered. Check event linkage, start conditions, event trace, object key and activation.
  2. A work item has no agent. Inspect responsibility rules, org assignments, substitutions and container binding.
  3. A transport works in QA but fails in production. Compare versions, prerequisites, customizing, client settings and import logs.
  4. How do you estimate an ABAP change? Include discovery, dependencies, security, tests, transport, documentation and rollback.
  5. How do you prove a defect is fixed? Capture failing input, add a regression test, cover boundaries and monitor after deployment.

46–70: CDS, AMDP, OData, Fiori, RAP and clean core

46–50: CDS and AMDP

  1. Association or join in CDS? Use associations for reusable navigation and joins for immediate fixed combination; understand cardinality.
  2. CDS returns duplicate rows. Recheck join conditions and cardinalities; do not hide errors with DISTINCT.
  3. Where should authorization live? Use DCL and released authorization concepts, then test allowed and denied users.
  4. When should you use AMDP? For complex data-intensive logic that benefits from database execution and is unsuitable for CDS or Open SQL.
  5. A CDS field has wrong amount formatting. Model currency or unit semantics and references correctly.

51–55: OData and SAP Gateway

  1. An OData service returns HTTP 500. Check Gateway error log, backend dump and payload; reproduce with the Gateway client.
  2. $expand is slow. Inspect cardinality, selected properties, paging and backend SQL; avoid deep unbounded graphs.
  3. How do you handle pagination? Honor top and skip or server-driven paging and use deterministic ordering.
  4. Metadata changes are not visible. Activate the correct service, clear only relevant caches and confirm system routing.
  5. How do you secure OData? Apply backend authorization, validate input, protect CSRF-changing requests and sanitize errors.

56–60: Fiori integration

  1. A Fiori app loads but displays no data. Check filters, service activation, roles, authorizations, network calls and backend logs.
  2. Value help shows technical keys only. Model text associations and value-help annotations correctly.
  3. A list report is slow. Reduce default columns, require filters, page data and optimize CDS or SQL.
  4. UI annotations or metadata extension? Prefer metadata extensions when separation and lifecycle flexibility are needed.
  5. Frontend and backend releases differ. Verify supported feature levels and service contracts.

61–65: RAP and ABAP Cloud

  1. Managed or unmanaged RAP? Choose managed for framework persistence and unmanaged when an existing API owns the save sequence.
  2. When should you use draft? For multi-step edits that must be resumed, validated and isolated.
  3. Validation or determination? A validation rejects invalid state; a determination derives state.
  4. Action or update? Use an action for business intent such as approve or cancel; update for ordinary fields.
  5. A needed API is not released in ABAP Cloud. Find released objects, use an approved tier strategy, or redesign.

66–70: S/4HANA migration and clean core

  1. How do you assess custom code for S/4HANA? Run readiness, custom-code, ATC, usage and simplification checks; prioritize by business criticality.
  2. Direct table access no longer works. Find the released CDS view, API or business object and test reconciliation.
  3. What is a clean-core-friendly extension? One that uses released interfaces, separates lifecycle and minimizes upgrade conflicts.
  4. How do you remediate obsolete code? Remove unused objects after evidence and approval; refactor used code with regression tests.
  5. Side-by-side or on-stack extension? Decide by data proximity, consistency, latency, lifecycle, skills and released options.

71–75: Senior project and behavioral scenarios

  1. A production fix is urgent but requirements are unclear. Stabilize impact, document assumptions, confirm with business, implement the smallest reversible fix and schedule root-cause work.
  2. You disagree with a proposed technical solution. Present evidence, alternatives and trade-offs; prototype the risky point.
  3. A junior developer repeats performance mistakes. Pair on traces, explain access complexity, add review checklists and examples.
  4. How do you handle a defect you introduced? Communicate early, reduce impact, fix and test, document the cause, and improve the process.
  5. Describe your most valuable SAP ABAP project. Explain business outcome, constraints, your decisions, measurable result and lessons.

Practical exercises

  • Refactor a SELECT-in-loop into a set-based query and compare ST05 and SAT measurements.
  • Create an OO validation service with exceptions and five ABAP Unit tests.
  • Model a CDS view entity with association, currency semantics and authorization.
  • Design a RAP business object with validation, determination and action.
  • Write a production incident report using the five-step framework.

Seven-day revision plan

DayFocusDeliverable
1Modern ABAP, OO, exceptionsOne tested class
2Internal tables and Open SQLPerformance comparison
3Debugging, ST05, SAT, dumpsIncident walkthrough
4DDIC, enhancements, forms, interfacesArchitecture notes
5CDS, OData and FioriService data model
6RAP, ABAP Cloud, clean coreRAP design diagram
7Mock interview75 timed answers

Rapid revision checklist

  • Use evidence from ST05, SAT, ST22, SQL Monitor and application logs.
  • Explain authorization, locking, transaction and error-handling implications.
  • Prefer released APIs and upgrade-stable clean-core extensions.
  • Give measurable outcomes: runtime, data volume, failure rate or support effort.
  • Never invent project experience; explain what you did and learned.

Continue learning

Official SAP references

Product behavior can vary by SAP release and deployment model. Verify features in the official documentation for your system.

 

Recommended foundation: Review SAP ABAP 7.40 new syntax: 25 practical examples before practicing these interview scenarios.

Post a Comment

0 Comments