Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 2 of 5

Inside the application server

9 min

The application server instance is where ABAP programs run. Every SAP GUI transaction, every Fiori app's OData call and every background job is executed by processes inside an application server instance. Knowing those processes explains many things testers and administrators see: why a long report times out in dialog, why a document number appears before its accounting document, why a job waits.

Internet Communication Manager (ICM)Handles HTTP and HTTPS: Fiori apps, OData services, SAP GUI for HTML, web services
GatewayHandles RFC communication with other systems and external programs
DispatcherReceives requests, queues them and hands each to a free work process of the right type
Work processesDialog, background, update, spool (and enqueue where the lock service runs inside the instance)
Shared memory and buffersUser contexts, program and table buffers shared by the work processes
The main parts of an ABAP application server instance.
The Sign-Off Table · thesignofftable.com/academy/sap-bas-101

Work process types

TypeWhat it doesTypical example
DialogExecutes interactive dialog steps for users and handles requests such as OData calls from Fiori appsMaria saves a sales order
Background (batch)Runs programs without user interaction as scheduled jobsNightly billing due list run; MRP run
UpdateWrites database changes asynchronously after the dialog step commits; V1 updates are time-critical, V2 updates are less critical (such as statistics)Posting the database records of a saved sales order
SpoolFormats and passes output to printers or other output channelsPrinting delivery notes for shipping point 1710
EnqueueManages the lock table when the lock service runs inside an application server; in modern systems it usually runs in central services insteadNot normally configured on Contoso's application servers

Work process types. Counts per type are set in the instance profile by Basis.

Following one request

  1. User actionMaria saves a sales order in SAP GUI
  2. DispatcherRequest placed in the queue; a free dialog work process is chosen
  3. Dialog work processUser context rolled in; ABAP runs; locks set through the enqueue server; database read through the database interface
  4. CommitChanges bundled into an update request; order number returned to Maria
  5. Update work processDatabase changes written asynchronously; locks released
  6. Follow-onOutput may be sent to spool; jobs may pick the order up later
One dialog step in simplified form. The user sees the order number before the update has finished.
The Sign-Off Table · thesignofftable.com/academy/sap-bas-101

Two consequences matter for testing. First, because updates are asynchronous, a document number can be shown to the user before every database record is written. If an update fails, the user may have a number for a document that does not fully exist; administrators see these as failed update requests (transaction SM13). Second, dialog work processes are meant for short steps. A profile parameter limits how long a dialog step may run, which is why heavy reports and mass processing belong in background jobs.

Where administrators look

QuestionWhere to lookWhat you see
What are the work processes on this instance doing?Work process overview, transaction SM50Each work process, its type, status, program and user
What is running across all instances?Global work process overview, transaction SM66Active work processes system-wide
Which locks are held?Lock entries, transaction SM12Lock owner, object and time
Did updates fail?Update requests, transaction SM13Pending and failed update requests
Did a job run?Job overview, transaction SM37Job status, logs and spool output
Where is the printout?Output controller, transaction SP01Spool requests and their status
Classic administration transactions for the application server. Many have Fiori or cockpit equivalents depending on your setup.
The Sign-Off Table · thesignofftable.com/academy/sap-bas-101

What would you do?

During a Contoso performance test, users report that saving sales orders hangs for 30 seconds at 9 a.m. SM50 shows every dialog work process busy with a long-running custom report started by several users. What is the best fix to propose?

Key points
  • The dispatcher queues requests and hands them to work processes; ICM handles HTTP, the gateway handles RFC.
  • Work process types: dialog, background, update, spool, and enqueue where the lock service runs in the instance.
  • Updates are asynchronous: a document number can appear before all database changes are written.
  • Heavy processing belongs in background jobs; dialog steps should be short.

Check your understanding · not graded

Lesson check

  1. 1. Which work process type executes scheduled background jobs?

  2. 2. Which component handles HTTP requests from Fiori apps?

  3. 3. Why might a user see an order number before all its database records exist?

  4. 4. Which transaction shows the work processes of the current instance?