Landscape & Transports • Clients & Users • Monitoring • HANA & Backups • Upgrades & Refresh • 2026

SAP Basis Interview Questions

30 questions What each one tests, an answer frame, a spoken answer 36 min read

This page is for anyone facing an SAP Basis round, from a first support role to a senior administrator who owns upgrades. Most interviews start with the landscape and system architecture, then test transports, client and user administration, background jobs and monitoring transactions. Stronger rounds move on to HANA backups and replication, kernel and support package work, system refreshes and S/4HANA conversion tasks, and finish with a real outage story and a judgement call. Each question shows what the interviewer is checking, the shape of a strong answer and a short answer you can say out loud. Swap the stories for your own.

Search all questions by round, difficulty and level, or save the ones you want to practise.

Architecture 4 questions

Easy Technical round Fresher Practice question

1. What does an SAP Basis administrator actually do, and what does a typical three-system landscape look like?

What the interviewer is really testing:
Whether you see Basis as running the whole technical platform, and understand why changes flow through separate systems instead of being made in production.
Answer frame:

The job: install, run and protect the systems: transports, users, jobs, monitoring, patches, backups, refreshes.

Landscape: development for building and configuring, quality for testing, production for real business work.

Why: every change is recorded in development and moved forward by transport, so production only gets tested changes.

Sample spoken answer:

"Basis is the technical team behind SAP. We install and patch the systems, keep them running and fast, manage transports, users and background jobs, take and test backups, and do refreshes and upgrades. The functional and ABAP teams build the business side on top of what we run. A standard landscape has three systems: development, quality and production. Developers and consultants make changes in development, where they're recorded in transport requests. We move those transports to quality for testing, and only after sign-off do they go to production. That way nobody changes production directly, every change has an owner and an audit trail, and all three systems stay in step. Some companies add a sandbox for experiments or a pre-production system that mirrors production for final tests."

Red flag to avoid:

Describing Basis as only creating users and resetting passwords, with no sense of the landscape or change control.

They may ask next:
  • Why would a company add a pre-production system on top of the three?
  • What goes wrong when changes are made directly in production?
Say it in 60 seconds
Medium Technical round Fresher, Mid-level Practice question

2. Walk me through the architecture of an ABAP application server: what happens between a user pressing Enter in SAP GUI and the database?

What the interviewer is really testing:
Whether you know the moving parts well enough to troubleshoot them: message server, dispatcher, work processes, gateway, ICM and central services.
Answer frame:

Logon: the message server can pick an application server for the user through a logon group.

Dispatcher: queues each request and hands it to a free work process, which talks to the database.

Other doors: the gateway handles RFC, the ICM handles HTTP and HTTPS.

Central services: the ASCS instance holds the message server and enqueue server, so it needs protecting.

Sample spoken answer:

"When a user logs on through a logon group, the message server sends the GUI to the application server in that group with the best response time. On that server the dispatcher receives each request, puts it in a queue and hands it to a free work process. The work process runs the ABAP program, reads and writes the database through its own connection, and sends the screen back. After the step it rolls the user context out, so the same process can serve someone else a moment later. Around that, the gateway handles RFC calls from other systems and the ICM handles HTTP traffic, for Fiori or web services. The message server and the enqueue server, which holds the lock table, usually sit in the ABAP central services instance. That's a single point of failure, so in high availability setups we add an enqueue replication server and a cluster."

Red flag to avoid:

Thinking each user gets a dedicated work process for their whole session.

They may ask next:
  • What happens to users' locks if the ASCS instance crashes and there is no replication?
  • Why can one work process serve many users over a few minutes?
Say it in 60 seconds
Easy Technical round Fresher Practice question

3. Name the work process types in an ABAP system and tell me what each one is for.

What the interviewer is really testing:
Whether you know which process does which job, which you need to read SM50 and size a system.
Answer frame:

Dialog: interactive user requests, and RFC calls coming in.

Background: scheduled jobs, with no user waiting.

Update: V1 for critical database changes, V2 for lower-priority ones like statistics.

Enqueue and spool: the lock table, where not in central services, and printing.

Sample spoken answer:

"Dialog work processes handle what users do on screen, and they also run incoming RFC requests. Background processes run scheduled jobs, so heavy reports don't block users. Update processes do the actual database changes after a user saves: V1, shown as UPD, handles the critical, time-sensitive changes, and V2, shown as UP2, handles lower-priority ones like statistics updates. The enqueue process manages the lock table, though in most modern setups that job belongs to the enqueue server in the central services instance instead. Spool processes format output and send it to printers. Every instance needs at least two dialog processes. When I size an instance I look at the workload: how many concurrent users, how many jobs run at once, and how busy updates get at peak times like month-end."

Red flag to avoid:

Mixing up update and background processes, or not knowing that RFC calls use dialog processes.

They may ask next:
  • What would you see in SM50 if there were too few background processes?
  • Where do you change the number of each type?
Say it in 60 seconds
Medium Technical round Fresher, Mid-level Practice question

4. How do you change an SAP profile parameter? What is the difference between making the change in RZ10 and in RZ11?

What the interviewer is really testing:
Whether you know which profile wins, which changes need a restart, and how not to lose a change at the next restart.
Answer frame:

Profiles: DEFAULT.PFL for every instance, the instance profile per instance, and the kernel's own defaults underneath.

RZ10: edits the profile files; static parameters take effect at the next restart.

RZ11: shows the current value and docs, and changes dynamic parameters live, but only until restart.

Sample spoken answer:

"Parameters are read from profile files in the profile directory. The default profile applies to every instance, the instance profile applies to one instance and overrides the default, and anything not set falls back to the kernel's built-in value. To make a lasting change I use RZ10: pick the profile, change it in extended maintenance, save and activate, and it's written to the file. Most parameters are static, so they only take effect after the instance restarts. RZ11 is for checking a parameter's current value, its documentation and whether it's dynamic. If it is, I can change it there and it applies at once, but that change lives only in memory. So if I use RZ11 in an emergency, I always make the same change in RZ10 too, or the next restart quietly undoes it."

Red flag to avoid:

Changing a dynamic parameter in RZ11 and not recording it in the profile, so it vanishes on restart.

They may ask next:
  • If a parameter is set in both the default and the instance profile, which value wins?
  • How would you check the value an instance is really using right now?
Say it in 60 seconds

Transports 3 questions

Medium Technical round Mid-level Practice question

5. How would you set up the Transport Management System for a new three-system landscape: domain controller, layers and routes?

What the interviewer is really testing:
Whether you have actually configured STMS and understand what the domain, the transport layer and each route do.
Answer frame:

Domain: one system is the domain controller and holds the configuration; the others join it.

Directory: systems sharing one transport directory form a transport group.

Routes: a consolidation route from development to quality with a transport layer, a delivery route from quality to production.

Finish: distribute and activate the configuration, then test an import.

Sample spoken answer:

"First I choose the domain controller. It holds the master TMS configuration, so it should be a system with good availability, often production. I run STMS there to create the domain, which sets up the TMSADM user and RFC destinations. Then I run STMS on quality and development, point them at the controller so they ask to join, and approve them on the controller. I make sure the transport directory is shared, or set up transport groups if it isn't. Then I define routes. A consolidation route goes from development to quality for the transport layer, usually both the standard SAP layer and the customer Z layer, so changes released in development land in quality's import queue. A delivery route goes from quality to production, so whatever is imported in quality also queues for production. Finally I distribute and activate the configuration, and test it by releasing a small transport and importing it all the way through."

Red flag to avoid:

Not knowing the difference between a consolidation route and a delivery route.

They may ask next:
  • What are the pros and cons of making production the domain controller?
  • How would you add a pre-production system in between?
Say it in 60 seconds
Medium Technical round Fresher, Mid-level Practice question

6. A transport import finishes with return code 8 in the quality system. What do the return codes mean, and how do you work out what went wrong?

What the interviewer is really testing:
Whether you can read transport logs yourself instead of just forwarding the error, and know the roles of tp, R3trans and the transport directory.
Answer frame:

Codes: 0 fine, 4 warnings, 8 errors in some objects, 12 or more means the tools themselves failed.

Logs: open the import log in STMS and find the failing step and object.

Pieces: tp drives the import, R3trans moves the data, files sit in data and cofiles under the transport directory.

Sample spoken answer:

"Return code 0 means everything imported cleanly. 4 means warnings, often fine, like an object that was already deleted. 8 means some objects failed, commonly a syntax error when programs were generated, or a missing dependency. 12 or higher means tp or R3trans was cancelled or hit a serious problem, like a missing file or a database issue. For an 8, I open the transport logs in STMS and look at which step failed, usually the generation or activation step, and read the object and the error. Very often it's a program that uses something from another transport that hasn't reached quality yet. Then I go to the developer with the exact object and message, and we either import the missing transport first or they fix it in development and release a new one. For a 12, I look at the tp log in the transport directory and check the data and cofiles files are really there."

Code:
# as the <sid>adm user on the target host
tp import DEVK900123 QAS client=100 pf=/usr/sap/trans/bin/TP_DOMAIN_DEV.PFL
ls /usr/sap/trans/cofiles/K900123.DEV /usr/sap/trans/data/R900123.DEV
Red flag to avoid:

Re-importing with every ignore option ticked until the return code turns green, without reading the log.

They may ask next:
  • Would you ever import a transport again with ignore options set, and when?
  • Where does the import queue for a system live on disk?
Say it in 60 seconds
Medium Situational round Mid-level, Senior Practice question

7. A developer needs an urgent transport in production today, but you notice it touches an object that is also in an older transport still waiting for testing in quality. What do you do?

What the interviewer is really testing:
Whether you understand that transports carry whole object versions and that import order matters, and handle the urgency without breaking production.
Answer frame:

Risk: the new transport may carry the untested change with it; importing the old one later could undo the fix.

Check: compare the object lists and versions with the developer.

Options: fix on top of production's version, or test both together and import in order.

Record: get approval under the emergency change process.

Sample spoken answer:

"I'd pause before importing, because a transport carries the full version of an object, not just the lines that changed. If the developer built the fix on top of the untested change, importing the urgent transport brings that untested code into production too. And if the older transport goes to production later, it would overwrite the fix with an older version. So I compare the object lists and version history with the developer. If the fix is truly independent, we can go ahead. If not, there are two clean options: the developer rebuilds the fix on top of the production version, or testers check both transports together today and we import them in the right order. Either way I record it as an emergency change with approval, and make sure the older transport isn't imported later out of order."

Red flag to avoid:

Importing the urgent transport straight away because it's urgent, without checking what else it carries.

They may ask next:
  • How would you spot this overlap automatically in future?
  • The manager says just import it now. What do you say?
Say it in 60 seconds

Clients & Users 6 questions

Medium Technical round Fresher, Mid-level Practice question

8. What types of client copy are there, and how do you pick the copy profile?

What the interviewer is really testing:
Whether you know local, remote and export-import copies, what each profile brings along, and that programs never travel with a client copy.
Answer frame:

Local: SCCL, within the same system.

Remote: SCC9, from another system over RFC.

Export and import: SCC8 to export, import with STMS, then SCC7 for the post-import steps.

Profile: decides what comes along, such as users only, customizing, or all client data.

Sample spoken answer:

"There are three kinds. A local copy with SCCL copies one client into another in the same system. A remote copy with SCC9 pulls a client from another system over RFC, which is handy but sensitive to network drops on big clients. A client export with SCC8 writes transport files, you import them in the target, and then run SCC7 for the post-import work. The profile decides what comes along. SAP_USER copies only users and roles, SAP_CUST copies customizing, SAP_UCUS does customizing plus users, and SAP_ALL copies all client-specific data including business data. Client copy never moves repository objects like programs, and cross-client customizing only comes along with an export profile that includes it, so the source and target should be on the same release and support package level. I run big copies in the background with parallel processes and check SCC3 for the log."

Red flag to avoid:

Thinking a client copy brings programs with it, or copying into a client without checking which profile overwrites what.

They may ask next:
  • How would you copy users from the old quality client before overwriting it during a refresh?
  • Why does a client copy of a large production client usually lose to a full system copy?
Say it in 60 seconds
Easy Technical round Fresher, Mid-level Practice question

9. What do you control in SCC4, and how would you set the production client compared with the development client?

What the interviewer is really testing:
Whether you understand how SAP stops unrecorded changes, and the link between client settings and the system change option in SE06.
Answer frame:

Role: production, test, customizing and so on.

Client-specific changes: allowed with automatic recording, or not allowed.

Cross-client changes: repository and cross-client customizing allowed or locked.

Protection: against being overwritten by a client copy; plus the global setting in SE06.

Sample spoken answer:

"SCC4 holds the settings for each client. The client role says what it's for, like customizing, test or production. Then there's how client-specific changes are handled: in the development customizing client they're allowed with automatic recording, so every change lands in a transport. In production they're set to no changes allowed. Next is cross-client changes, meaning repository objects and cross-client customizing: open in development, locked in quality and production. I also set protection so a production client can't be overwritten by a client copy. On top of that, SE06 has the system-wide change option, which should be not modifiable in quality and production. So production is locked at two levels, and opening it becomes a deliberate, logged act, not an accident."

Red flag to avoid:

Leaving production open to changes because it's easier for the functional team.

They may ask next:
  • Some settings, like posting periods, can still be changed in a locked production client. Why?
  • Where would you see who changed a client setting and when?
Say it in 60 seconds
Easy Technical round Fresher Practice question

10. In SU01 you can create dialog, system, communication, service and reference users. When would you use each one?

What the interviewer is really testing:
Whether you choose user types safely, especially for interfaces, instead of giving every account a dialog login.
Answer frame:

Dialog: a real person logging on, with password rules and multiple-logon checks.

System and communication: no dialog logon; for background and RFC, inside the landscape or from outside.

Service: anonymous dialog logon shared by many, with no forced password change.

Reference: can't log on; only lends extra authorizations to other users.

Sample spoken answer:

"A dialog user is a real person: they log on through the GUI, must change their password on the rules we set, and multiple logons are checked. A system user can't log on in dialog; I use it for background processing and for RFC between systems inside the landscape, and its password isn't forced to change. A communication user is also non-interactive and is meant for RFC calls coming from external systems. A service user can log on in dialog but is shared and anonymous, like a public web service, so I give it very limited authorizations. A reference user can't log on at all; you assign it to other users so they inherit its authorizations, which helps when many users need the same extra rights. The main rule I follow is never to run an interface on a dialog user with broad rights, because if its password leaks, someone can log on with it."

Red flag to avoid:

Using dialog users with SAP_ALL for interfaces because it stops authorization errors.

They may ask next:
  • An interface keeps failing because its user's password expired. What would you change?
  • How would you find dialog users who haven't logged on for months?
Say it in 60 seconds
Medium Technical round Mid-level Practice question

11. Explain single, composite and derived roles in PFCG. Why would you use derived roles?

What the interviewer is really testing:
Whether you can design and maintain roles at scale, and know that a role only works once its profile is generated and user comparison is done.
Answer frame:

Single: menu plus authorization objects, which generate a profile.

Composite: a bundle of single roles, with no authorizations of its own.

Derived: copies menu and authorizations from a parent role, differing only in organisational levels.

Make it live: generate the profile, assign users, run user comparison.

Sample spoken answer:

"A single role holds the transactions in its menu and the authorization objects with their values, and generating it creates the profile that actually grants access. A composite role just groups single roles, so a job like accounts payable clerk can be one assignment made of several building blocks. It has no authorizations of its own. Derived roles solve a scaling problem. Say we have one role for purchasing, but buyers in each plant should only see their plant. I build a parent role, then create a derived role per plant. Each child inherits the menu and all authorization values from the parent and only changes the organisational levels, like plant or company code. When I change the parent, I push the change down to all children. After any change the profile must be generated, and user comparison run, or users won't get the new access. In many companies a separate security team owns this, but Basis often supports it."

Red flag to avoid:

Editing each plant's role by hand instead of using derived roles, or forgetting to generate the profile.

They may ask next:
  • What does user comparison do, and why schedule it daily?
  • How would you move a set of roles from development to production?
Say it in 60 seconds
Easy Technical round Fresher Practice question

12. A user says they get a 'no authorization' message on a transaction. How do you find exactly what is missing?

What the interviewer is really testing:
Whether you use evidence to fix access and give the smallest correct fix, instead of copying another user's roles.
Answer frame:

First look: SU53 right after the error shows the last failed check.

Deeper: an authorization trace with ST01 or STAUTHTRACE shows every check.

Fix: add the missing object and value to the right role, with approval, not a new broad role.

Sample spoken answer:

"First I ask the user to reproduce the error and run SU53 straight away, or I display it for their user myself. It shows the last authorization check that failed: the object, like the one for a transaction start or a company code, and the values that were checked. Sometimes SU53 isn't enough, because it only shows the last failure and some checks happen quietly in the background. Then I switch on an authorization trace for that user with STAUTHTRACE or ST01, have them repeat the step, and read every check with its result. Once I know the exact object and value, I find the role that should cover this task, get approval from the role owner, and add the smallest change. I never fix it by copying roles from a colleague who can do it, because that usually brings a lot of extra access."

Red flag to avoid:

Solving it by giving the user SAP_ALL or a colleague's roles.

They may ask next:
  • Why might SU53 show a check that isn't the real cause?
  • What does SU24 have to do with the values proposed in a role?
Say it in 60 seconds
Medium Situational round Mid-level, Senior Practice question

13. During go-live week, a functional lead asks you to open the production client so they can fix a configuration setting directly. How do you respond?

What the interviewer is really testing:
Whether you protect the landscape and the audit trail while still helping the business when something is really urgent.
Answer frame:

Understand: what exactly must change, and why it can't go by transport today.

Alternatives: a fast-tracked transport, or a setting that is allowed as a current setting in production.

If truly needed: emergency approval, open for the shortest time, log it, close it.

Sync: make the same change in development so the systems don't drift.

Sample spoken answer:

"I wouldn't say no straight away, and I wouldn't just open it either. First I'd ask what exactly needs to change and why it can't wait. Often the quickest safe route is a normal transport, fast-tracked: make the change in development, quick test in quality, and import within the hour. Some settings are also designed to be changed in production without opening the client, like opening posting periods, so it may not need anything from me. If it really must be changed directly, I'd follow the emergency change process: written approval, open the client and system change option for the shortest time, with the security audit log recording what's done, then close it again and confirm it's closed. And I'd make sure the same change is made in development and moved forward, or the next transport could overwrite it and the systems would drift apart."

Red flag to avoid:

Leaving production open for the whole go-live week to save time.

They may ask next:
  • How would you prove to an auditor what was changed while the client was open?
  • What if the lead goes over your head to your manager?
Say it in 60 seconds

Jobs & Updates 2 questions

Easy Technical round Fresher Practice question

14. How do you schedule a background job, and what can you tell from its status in SM37?

What the interviewer is really testing:
Whether you can set up and monitor jobs, including start conditions, and read a cancelled job's log.
Answer frame:

Define: SM36, a job name, class and steps, each step a program with a variant or an external command.

Start condition: immediately, at a date and time, periodic, after another job or after an event.

Monitor: SM37 statuses: scheduled, released, ready, active, finished, cancelled.

Sample spoken answer:

"In SM36 I give the job a name and class, then add steps. A step is usually an ABAP program with a variant, but it can be an external command or program. Then the start condition: immediately, at a date and time, periodic, after another job finishes, or when an event is raised, which is useful when an outside system should trigger the job. In SM37 the status tells me where it is. Scheduled means it has no start condition yet, so it won't run. Released means it's waiting for its start time. Ready means the time came but no background process is free, so a long time in ready points to too few background processes. Active is running, finished is done, and cancelled means it failed. For a cancelled job I open the job log, and if it mentions a short dump I go to ST22 with the time and user."

Red flag to avoid:

Not knowing that a scheduled job without a start condition will never run.

They may ask next:
  • Many jobs sit in ready for a long time every night. What do you check?
  • How would you let an external scheduler start an SAP job?
Say it in 60 seconds
Medium Technical round Mid-level Practice question

15. What is an update request, and what do you do when you find terminated updates in SM13?

What the interviewer is really testing:
Whether you understand that the user already saw success, so a failed update is lost business data unless handled carefully.
Answer frame:

How it works: the dialog step writes the change to update tables, and an update process posts it to the database later.

Why it matters: the user got a document number, but the data may not be there.

Handle it: find the cause in the error info and ST22, fix it, then repeat or hand over with the business.

Sample spoken answer:

"When a user saves a document, the dialog step usually doesn't write the business tables itself. It writes an update request into the update tables and gives the user a message, often with the document number. An update work process then posts the real changes, V1 for the critical part and V2 for things like statistics. If that update fails, SM13 shows it with an error status, and the painful part is that the user thinks their document is saved. So I treat terminated updates seriously. I look at the error info and the related dump in ST22 to find the cause, like a database error or a program bug. Once the cause is fixed, I can repeat the update if it's safe. If not, I give the functional team the list of users and documents, so they can check and re-enter them. I don't delete them without that agreement."

Red flag to avoid:

Deleting terminated updates to clear the alert without telling anyone data was lost.

They may ask next:
  • What does it mean when SM13 says the update system is deactivated?
  • Why is V2 failing less serious than V1 failing?
Say it in 60 seconds

Monitoring 5 questions

Easy Technical round Fresher, Mid-level Practice question

16. Users say the system is slow. How do you use SM50 and SM66 to see what the work processes are doing?

What the interviewer is really testing:
Whether you can read the work process overview and find the real blocker instead of guessing.
Answer frame:

Scope: SM50 for one instance, SM66 for all instances at once.

Read: type, status, reason, run time, user, program, and the table or action.

Act: find the long runner, check with the owner, and only then cancel.

Sample spoken answer:

"SM50 lists the work processes on the instance I'm logged on to, and SM66 shows active processes across all instances, which is where I start in a multi-server system. For each process I look at type, status and time. If all dialog processes are running and the times keep climbing, something is holding them. The reason column helps: on hold with RFC means it's waiting on another system, and PRIV means it's using private memory and stuck to one user. The action and table columns show whether it's doing a sequential read on a big table or waiting on a lock. Then I look at the user and program, and call the person or the team that owns it before cancelling anything, because killing a process in the middle of a posting can leave a mess. If many processes wait on the database, I move to the database side next."

Red flag to avoid:

Cancelling long-running processes on sight without knowing what they are doing.

They may ask next:
  • What does the stopped status mean, and what happens next?
  • How would you see work processes if you can't log on to the system at all?
Say it in 60 seconds
Medium Technical round Fresher, Mid-level Practice question

17. How do you read a short dump in ST22? Tell me about a few runtime errors you see often and what they usually point to.

What the interviewer is really testing:
Whether you can triage a dump, separating a Basis problem from a code problem, and hand it to the right person with the right detail.
Answer frame:

Read it: runtime error name, what happened, error analysis, where it stopped in the code, user and program.

Common ones: memory, time limit, database error, missing function or syntax error after a transport.

Route it: Basis fixes memory, database or setup causes; code faults go to the developer.

Sample spoken answer:

"In ST22 I filter by date and user, then open the dump. The runtime error name at the top is the key, then what happened, the error analysis, the source code extract showing where it stopped, and the user, transaction and program. A few I see often: TSV_TNEW_PAGE_ALLOC_FAILED means an internal table ran out of memory, usually a report selecting far too much data, though sometimes memory settings. TIME_OUT means a dialog step ran past the dialog time limit, so the user should run it in the background or the program needs tuning. DBIF_RSQL_SQL_ERROR means the database returned an error, so I check the database side, like space or locks. SYNTAX_ERROR or CALL_FUNCTION_NOT_FOUND right after an import usually means a transport is missing. I also search SAP notes with the error name and program, since many dumps are known bugs with a fix."

Red flag to avoid:

Raising memory or time limits for every dump instead of finding why the program needs so much.

They may ask next:
  • Dumps are deleted after a while. How do you keep one for a longer investigation?
  • A user wants you to raise the dialog time limit to stop TIME_OUT dumps. Do you?
Say it in 60 seconds
Hard Technical round Mid-level, Senior Practice question

18. In ST03N, the average dialog response time has doubled over a month. How do you break that down to find the cause?

What the interviewer is really testing:
Whether you understand the parts of response time and can move from a system-wide symptom to the transactions and components behind it.
Answer frame:

Parts: wait time, CPU, database time, load and generation, roll in and out, and GUI time.

Narrow: compare with a normal period, by time of day, by transaction and by task type.

Read the signals: high wait means process shortage, high DB means SQL, processing far above CPU means waiting on something.

Sample spoken answer:

"First I compare against a normal period, not a single number, and check the time profile to see if it's all day or only peak hours. Then I split response time into its parts. If wait time has grown, requests are queuing in the dispatcher, so work processes are too few or tied up by something else. If database time dominates, I look at the top transactions by database time and trace the expensive SQL, or look for missing statistics or a new index need. If load and generation time is high, programs are being reloaded, often because the program buffer is too small or after a large import. If processing time is well above CPU time, the process is waiting on something outside, like RFC calls or locks. Then I use the transaction profile to see if one or two transactions or a new custom report explain most of it, because a system-wide average often hides one bad program."

Red flag to avoid:

Jumping to add more work processes or hardware before seeing which part of response time grew.

They may ask next:
  • Why should wait time normally be a small part of response time?
  • How would you check whether the buffers are too small?
Say it in 60 seconds
Hard Technical round Mid-level, Senior Practice question

19. Explain how a dialog work process uses roll, extended and heap memory. What is PRIV mode, and why is it a problem?

What the interviewer is really testing:
Whether you know ABAP memory management well enough to explain why users can run out of work processes when memory runs short.
Answer frame:

Dialog order: a first slice of roll area, then extended memory up to the user's quota, then the rest of the roll area, then heap.

PRIV mode: once a dialog process takes heap, it's bound to that user and can't serve anyone else.

Background: in the classic model, non-dialog processes take heap before extended memory, since they don't switch users; newer kernels can differ.

Risk: many processes in PRIV means dialog processes run out.

Sample spoken answer:

"A user context in a dialog process starts in a small first slice of the roll area. Then it takes extended memory, which is shared and can be mapped to whichever process serves the user next. That's why dialog processes switch between users so easily. If the user hits their extended memory quota, or extended memory runs out, it uses the rest of the roll area and then falls back to heap, which is private to that process. At that point the process goes into PRIV mode: it stays attached to that one user and can't serve anyone else. A few of those are fine, but if many users run memory-hungry reports, dialog processes go PRIV one after another and everyone else waits. In the classic model, background processes take heap first because they never switch users, though newer kernels handle this differently, so I check the actual parameters. When I see PRIV in SM50, I check extended memory use and the reports behind it."

Red flag to avoid:

Thinking all memory is the same pool, or that PRIV mode is just a status label with no effect on other users.

They may ask next:
  • Which parameters would you look at, and where do you check extended memory use?
  • How can the system free a work process that stays in PRIV too long?
Say it in 60 seconds
Medium Behavioral round Mid-level, Senior Practice question

20. Tell me about an SAP performance problem you traced where the first guess about the cause turned out to be wrong.

What the interviewer is really testing:
Whether you follow evidence instead of assumptions, and work with developers and the database side to fix the real cause.
Answer frame:

Symptom: what users saw and when.

First guess: what people assumed and why it was wrong.

Evidence: which transactions and data showed the real cause.

Fix and result: the change, and how you proved it helped.

Sample spoken answer:

"In my last role, users complained every morning that sales order entry was slow, and everyone assumed the application servers needed more memory. Before agreeing, I checked ST03N for the morning hours and saw that response time for that transaction was mostly database time, not wait time or CPU. So more memory wouldn't have helped. I traced a few order saves and found one select on a custom table that read the whole table each time, because a recent change had dropped a field from the where clause. The table had grown a lot, so it only showed up now. I sent the developer the trace with the statement and the program, and they fixed the query in a day. Order entry went back to normal speed, and we avoided buying hardware we didn't need. Since then I always start by breaking down response time before accepting any theory."

Red flag to avoid:

A story where the fix was more hardware, with no evidence about what was actually slow.

They may ask next:
  • Which trace did you use, and what did it show you?
  • How did you convince people who were sure it was memory?
Say it in 60 seconds

HANA & Backups 3 questions

Medium Technical round Fresher, Mid-level Practice question

21. SAP HANA keeps data in memory. What happens to committed data if the server loses power, and which services make up a HANA system?

What the interviewer is really testing:
Whether you know how HANA stays durable through savepoints and redo logs, and the basic service layout you monitor.
Answer frame:

Services: the index server holds and processes data; the name server knows the landscape; SYSTEMDB manages tenants.

Stores: column store for most application tables, row store for some.

Durability: redo log written at commit, savepoints write changed pages to disk regularly.

Restart: load the last savepoint, replay the log after it.

Sample spoken answer:

"HANA works in memory, but it's fully durable. When a transaction commits, its redo log entries are written to the log volume on disk first, so the commit is safe even though the data pages are only in memory. Every few minutes a savepoint writes all changed pages to the data volume, giving a consistent image on disk. After a power loss, HANA restarts, loads from the last savepoint and replays the redo log written since then, so no committed data is lost. On the service side, the index server is the main one: it holds the column and row stores and runs SQL. The name server keeps track of the topology, which matters in a scale-out system. Current HANA versions always run as a system database that manages the tenants, and each tenant has its own index server. As Basis, I watch memory use per service, disk use of data and log volumes, and savepoint and log backup health."

Red flag to avoid:

Saying data in HANA is lost on a power cut because it only lives in memory.

They may ask next:
  • Why does HANA need so much more memory than the size of the data on disk suggests?
  • What would you check if a savepoint takes much longer than usual?
Say it in 60 seconds
Medium Technical round Mid-level Practice question

22. How would you set up backups for a production HANA database so you can recover to any point in time?

What the interviewer is really testing:
Whether you understand data backups, log backups and log mode, and that an untested backup isn't a backup.
Answer frame:

Data backups: full, plus differential or incremental in between.

Log backups: log mode normal with automatic log backups, which is what allows point-in-time recovery.

Where: file system or a backup tool through the backint interface; system database and every tenant.

Prove it: watch the backup catalog, and restore to a test system regularly.

Sample spoken answer:

"For production I keep the log mode at normal with automatic log backups on. Every filled log segment is backed up and then freed, and that chain of log backups is what lets me recover to any moment. I schedule full data backups, say weekly, with differential or incremental ones in between. Differential saves everything changed since the last full backup, incremental since the last data backup of any kind. I back up the system database as well as every tenant, and send backups to a separate storage or a backup tool through backint, never only to the same disks. Then I watch the backup catalog and alerts every day, because if log backups stop working, the log volume fills up and the database stops. And I restore to a test system on a schedule, because the only proof a backup works is a successful restore."

Code:
-- run in the tenant (or FOR <tenant> from SYSTEMDB)
BACKUP DATA USING FILE ('WEEKLY_FULL');
BACKUP DATA DIFFERENTIAL USING FILE ('DAILY_DIFF');

SELECT ENTRY_TYPE_NAME, STATE_NAME, SYS_START_TIME
  FROM M_BACKUP_CATALOG
 ORDER BY SYS_START_TIME DESC;
Red flag to avoid:

Relying on data backups alone, or never having tested a restore.

They may ask next:
  • What happens if someone sets log mode to overwrite on production?
  • Which backups do you need to recover to 11:40 last Tuesday?
Say it in 60 seconds
Hard Technical round Mid-level, Senior Practice question

23. Explain HANA system replication. What is the difference between the SYNC, SYNCMEM and ASYNC modes, and what happens during a takeover?

What the interviewer is really testing:
Whether you can match a replication mode to a recovery goal and run a takeover without causing two primaries.
Answer frame:

Idea: a secondary HANA system receives the primary's redo log and data continuously.

Modes: SYNC waits for the log on the secondary's disk, SYNCMEM for it in the secondary's memory, ASYNC doesn't wait.

Use: synchronous modes for nearby high availability, ASYNC for distant disaster recovery.

Takeover: promote the secondary, redirect clients, then re-register the old primary as secondary.

Sample spoken answer:

"With system replication, a second HANA system gets a full copy once, then receives the primary's redo log continuously, so it can take over quickly. The mode decides when the primary confirms a commit. In SYNC, the primary waits until the secondary has written the log to disk. In SYNCMEM, it waits until the secondary has received it in memory, which is a bit faster but at risk if both sites fail at once. In ASYNC, the primary doesn't wait, so it suits a distant disaster recovery site where the delay would hurt performance, at the price of possibly losing the last few transactions. For a takeover I make sure the primary is really down, run the takeover on the secondary with hdbnsutil, and move clients over with a virtual IP, DNS or the cluster software. Afterwards I re-register the old primary as the new secondary, so we never have two primaries writing."

Red flag to avoid:

Bringing the old primary back up as primary after a takeover, creating two systems both accepting writes.

They may ask next:
  • In SYNC mode, what does the primary do if the secondary becomes unreachable?
  • How would you test a takeover without affecting the business?
Say it in 60 seconds

Upgrades & Refresh 5 questions

Medium Technical round Fresher, Mid-level Practice question

24. Walk me through a kernel upgrade on an ABAP system. What do you check before and after?

What the interviewer is really testing:
Whether you have done one safely, with a backup of the old kernel, the right files for the platform and a check that the new one is running.
Answer frame:

Prepare: pick the kernel from SAP notes and the product availability matrix, download the database-independent and database-dependent archives for the OS.

Swap: stop the system and the start service, back up the exe directory, extract the new files.

Finish: fix permissions, start, check the kernel patch level and the logs.

Order: development first, then quality, then production.

Sample spoken answer:

"I start by choosing the target kernel patch, checking the notes and the product availability matrix for my release, OS and database. I download both the database-independent and the database-dependent archives, and check they match the platform. I always do development first, then quality, then production. On the day, I stop the SAP system and the start service, take a copy of the current exe directory so I can roll back in minutes, and extract the new archives into it with SAPCAR. On Unix I then run saproot.sh as root, so programs that need special permissions still work. I start the service and the system, check that all instances came up, confirm the new patch level in the system status or with disp+work, and look at the developer traces and system log for errors. If something breaks, I restore the saved exe folder and restart."

Code:
# as prdadm, instance number 00, SID PRD; Linux Unicode path
# (other platforms use their own folder name under exe/uc)
sapcontrol -nr 00 -function StopSystem ALL
sapcontrol -nr 00 -function StopService   # repeat for the ASCS number too
cp -rp /usr/sap/PRD/SYS/exe/uc/linuxx86_64 /backup/kernel_old
SAPCAR -xvf SAPEXE.SAR -R /usr/sap/PRD/SYS/exe/uc/linuxx86_64
SAPCAR -xvf SAPEXEDB.SAR -R /usr/sap/PRD/SYS/exe/uc/linuxx86_64
# as root, in that folder: ./saproot.sh PRD
sapcontrol -nr 00 -function StartService PRD
sapcontrol -nr 00 -function StartSystem ALL
disp+work -v | head
Red flag to avoid:

Overwriting the kernel with no copy of the old one, or skipping straight to production.

They may ask next:
  • How can you upgrade the kernel of a highly available system without full downtime?
  • What is sapcpe doing when an instance starts?
Say it in 60 seconds
Medium Technical round Mid-level Practice question

25. When do you use SNOTE, when SPAM or SAINT, and when SUM? Where do SPDD and SPAU come in?

What the interviewer is really testing:
Whether you know the right tool for each size of change and how modifications are carried over.
Answer frame:

SNOTE: one SAP note's code correction, with its prerequisites.

SPAM and SAINT: ABAP support packages, and add-on installation.

SUM: release upgrades, enhancement packages, large stacks and conversions, using a shadow system to cut downtime.

Adjustments: SPDD for dictionary objects during the update, SPAU for other changed objects after it.

Sample spoken answer:

"SNOTE is for a single note: it downloads the correction instructions and applies them, including any prerequisite notes, though some notes also need manual steps. It's the smallest fix. SPAM imports ABAP support packages for components in a queue, and SAINT installs add-ons and can bring support packages with them. For anything bigger, like a release upgrade, an enhancement package or a large support package stack, I use the Software Update Manager, working from a stack file calculated in Maintenance Planner. SUM builds a shadow system and does much of the work while the system is still up, so the real downtime is shorter. Whenever SAP objects we modified are touched, we have to adjust. SPDD handles dictionary objects during the update, which matters because a wrong decision there can lose table data. SPAU handles programs and other objects afterwards, often resetting to standard when SAP's own fix replaced ours."

Red flag to avoid:

Not knowing what SPDD and SPAU are for, or treating SPDD as something to click through.

They may ask next:
  • Why do you carry the SPDD and SPAU work from development to later systems by transport?
  • An implemented note causes a problem. How do you back it out?
Say it in 60 seconds
Hard Technical round Mid-level, Senior Practice question

26. The business wants the quality system refreshed from production. Walk me through the pre-steps, the copy and the post-steps.

What the interviewer is really testing:
Whether you can run a refresh that keeps the quality system's own identity and stops production data from triggering real-world actions.
Answer frame:

Before: export quality's users and roles, RFC destinations, partner profiles, certificates, printers, TMS settings and the transport queue.

Copy: restore a production backup into quality, then run the system copy tooling for renaming.

Straight after: stop jobs and outbound interfaces before anything can run.

Then: BDLS for logical systems, SE06 and STMS, import saved settings, licence, checks and handover.

Sample spoken answer:

"Before the copy I save everything that makes quality what it is: users and roles with a client export, RFC destinations, partner profiles, certificates from STRUST, printers, the TMS setup and the list of transports in quality that aren't in production yet. I also agree the downtime and warn the teams. Then I restore a recent production backup into the quality database and run the system copy tool so it takes quality's name. The first thing after that is safety: I start the system with no background processes and suspend all released jobs with BTCTRNS1, and block outbound interfaces, so the copy doesn't send real payments, orders or emails. Then BDLS changes the logical system names from production to quality, SE06 post-copy steps, reconfiguring STMS, bringing back users, RFCs and certificates, installing the licence, and re-importing the pending transports. Where the data is personal, I apply the agreed masking. Finally the functional teams test and I hand over."

Red flag to avoid:

Starting the copied system with jobs and interfaces live, so it talks to real partners as if it were production.

They may ask next:
  • Why must jobs be suspended before the system starts after the copy, not after?
  • How would you shorten the downtime of a refresh that currently takes two days?
Say it in 60 seconds
Hard Technical round Mid-level, Senior Practice question

27. In a system conversion from ECC to S/4HANA, what is the Basis team responsible for, and what are the main steps?

What the interviewer is really testing:
Whether you know the technical path and prerequisites, and where Basis work ends and functional or custom code work begins.
Answer frame:

Prerequisites: Unicode, ABAP-only stack, supported add-ons and business functions, sizing for HANA.

Checks: readiness check, simplification item checks, Maintenance Planner for the stack file.

Run: SUM, with DMO when the database also moves to HANA.

Rehearse: mock conversions on production copies to measure and cut downtime.

Sample spoken answer:

"Basis owns the technical path. First the prerequisites: the system must be Unicode and an ABAP-only stack, and Maintenance Planner has to accept our add-ons and business functions, or it blocks the conversion. I do HANA sizing, and run the readiness check and the simplification item checks, which flag what must be fixed before converting, like the Business Partner setup that the functional teams handle. Custom code is checked by the ABAP team. Then Maintenance Planner gives us the stack file, and I run SUM. If we're not on HANA yet, SUM with the database migration option does the upgrade and the move to HANA in one run. We never go straight to production. We run mock conversions on copies of production, time every phase, tune it, and write a detailed runbook. After the technical run come the finance data migration steps, which the functional team owns, plus Fiori setup and our usual post-steps."

Red flag to avoid:

Treating the conversion as a normal database migration and skipping mock runs on production-size copies.

They may ask next:
  • What would you do if the downtime in the mock run is longer than the business can accept?
  • Which checks can block the conversion outright?
Say it in 60 seconds
Hard Behavioral round Mid-level, Senior Practice question

28. Tell me about an upgrade, patch or migration where the downtime ran over. What happened, and what did you change afterwards?

What the interviewer is really testing:
Whether you stay calm under a hard deadline, keep people informed, know when to roll back, and learn from it.
Answer frame:

Situation: what the change was, and the window agreed with the business.

Problem: what took longer, and how you spotted it.

Decision: push on or roll back, how you decided, who you told.

After: what changed in your runbook or rehearsals.

Sample spoken answer:

"At my last company we applied a support package stack to production on a weekend with an eight-hour window. We had tested it in quality, which is a lot smaller. In production, one conversion phase ran far longer because a large table had grown much more than in quality. About halfway through the window I could see from the logs that at that rate we'd miss the deadline. I called the change manager and the finance lead, explained the numbers, and agreed a decision point: if it wasn't done by a set hour, we'd restore and try again another weekend. It finished just before that point, and we opened the system a bit late with their agreement. Afterwards I changed our approach: before any big change we now rehearse on a full-size copy of production and time each phase, and the runbook has a written go or no-go time for rollback."

Red flag to avoid:

A story with no rollback plan, or blaming the vendor with no lesson of your own.

They may ask next:
  • What was your rollback plan, and had it been tested?
  • How did you keep the business informed during the night?
Say it in 60 seconds

Production Support 2 questions

Easy Behavioral round Fresher, Mid-level, Senior Practice question

29. Tell me about a mistake you made while running an SAP system. What happened, and what do you do differently now?

What the interviewer is really testing:
Whether you own your mistakes, fix them quickly and turn them into a safer process instead of hiding them.
Answer frame:

What happened: your own mistake, told plainly.

Response: how fast you spotted it, who you told, how you contained it.

Change: the check or automation that stops it happening again.

Sample spoken answer:

"Early on, I did a quality refresh from production and followed the post-steps, but I missed one outbound RFC destination on my list. When jobs were released, a test process in quality sent a batch of order confirmations to a real partner system. A colleague on the interface team noticed within the hour. I stopped the job, locked the destination, and told my lead and the interface team straight away, so they could contact the partner and ask them to ignore the messages. Nothing was processed on their side, but it was embarrassing and could have been worse. Afterwards I turned our refresh checklist into a script that lists every outbound destination and partner profile and blocks them before the system starts, and a second person now signs off the checklist before jobs are released. I'd rather take ten extra minutes than repeat that."

Red flag to avoid:

Choosing a tiny mistake that isn't really a mistake, or blaming a colleague.

They may ask next:
  • How did you tell your manager, and what did they say?
  • What else in a refresh can reach the outside world?
Say it in 60 seconds
Hard Situational round Mid-level, Senior Practice question

30. It's the last day of month-end close. Finance says nobody can log on, and the few who are logged on are frozen. What do you do?

What the interviewer is really testing:
Whether you can triage a live outage fast, even without a GUI logon, communicate with the business, and avoid making it worse.
Answer frame:

Look: check work processes from the OS if you can't log on, plus the system log and the database.

Find the blocker: a runaway report, a lock, a hung RFC, an update backlog or a full log volume.

Act with care: confirm with the owner, then cancel or free the blocker.

Talk and follow up: updates to finance at set times, then a root cause and a fix.

Sample spoken answer:

"First I tell the finance lead I'm on it and when they'll hear from me next. If I can't log on, I check from the operating system, using sapcontrol or dpmon to see the work process table. Usually all dialog processes are busy, and the question is with what. If they're all running the same heavy report, I find who started it and agree to cancel those runs and move them to the background. If they're waiting on a lock or the database, I check the database side: a full log volume, a blocking session or a long transaction. If they're waiting on an RFC, I look at the other system. I also check the system log and the update queue. Once I know the cause, I free the blocker with the owner's agreement, not blindly. After month-end I write a root cause and fix it for good, like running that report as a job with limits."

Code:
# as the <sid>adm user, when the GUI won't let you in
sapcontrol -nr 00 -function GetProcessList
sapcontrol -nr 00 -function ABAPGetWPTable
Red flag to avoid:

Restarting the whole system mid-close without finding the cause or telling finance.

They may ask next:
  • The report hogging the processes is the one finance needs to close the books. Now what?
  • How would you stop this happening at the next month-end?
Say it in 60 seconds
Were you asked something else? Share it A person checks every question before it goes on the site. No name is shown.
For the call itself

The questions above are the prep. The call has ten more.

ClapAssist is an AI interview assistant for Mac and Windows. It listens to the interview on your computer and shows you what to say, in short lines you can read while you talk. Your resume and notes are never stored on our servers. It stays out of screen share on every plan; only you can see it.

Download ClapAssist with 10 free minutes
Mac and Windows · Stays out of screen share · No card