SAP transaction codeObjectSM66ModuleBASIS

SM66 — Global Work Process Overview

SM66 lists the work processes running on every application server in the system, gathered live via RFC calls from each instance rather than read from a database table. It is used to find a hung, long-running, or resource-hogging process anywhere in a multi-server landscape when the local-server view in SM50 is not enough.

SM66 is the system-wide counterpart to SM50, polling every application server in real time to build a single list of active work processes. This page covers how the RFC-based polling mechanism behaves under load, what a consultant should check before cancelling anything, and where to cross-check symptoms once the live view has moved on.

Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,179 words

What it does

SM66 shows the current state of every work process across all application servers of a system in one screen: process type, status, user, program, table accessed, CPU time, and elapsed time. The structural fact that causes most confusion is that this list has no persistent backing table. Each time the screen refreshes, the kernel dispatcher on the presentation server issues RFC calls to the dispatcher of every other application server, asks for its local work process table, and assembles the result on the fly. What is displayed is an instant, unlogged snapshot. Nothing is written anywhere, there is no history, and a process that looks stuck at the moment of the call may already have finished or changed state by the time a decision is made about it.

When it is used

SM66 is reached for the moment a performance problem is suspected to be system-wide rather than confined to the instance currently logged into: dialog queues piling up, background jobs not progressing, or a batch load pinned during a cutover window. It is the natural escalation from SM50, which only shows the local server's work processes and will show nothing if the actual blocking process sits on a different application server. It is not used for authorization, user session management, or long-term trending; ST03 and ST06 cover workload history and OS-level resource use respectively, and SM04 covers user-to-session mapping rather than process-to-server mapping.

How to use it

  • Call SM66 from any application server; it does not matter which one is logged into
  • Choose whether to view all servers or restrict to specific ones, and optionally filter by process type such as dialog, background, update, spool or enqueue
  • Trigger refresh manually rather than relying on a stale display, especially before taking any action on a listed process
  • Sort by elapsed time or CPU time to isolate the longest-running or heaviest process
  • Double-click a row for detail, including the current ABAP program, table, and call stack
  • If cancellation is warranted, choose between cancelling without core (clean abort) and with core (generates a short dump for analysis) depending on whether a trace is needed

Key fields

  • No database table is written by SM66 itself; it is a read-only monitoring transaction
  • Work process control block in shared memory on each application server - the live source SM66 polls via RFC; not a database object, not queryable outside the transaction
  • Roll and paging areas referenced in the detail view - show what the process is currently processing in memory, again not persisted
  • Any short dump generated by a cancel-with-core action lands in the ABAP dump store, viewable through the short dump transaction, and is the only artifact from an SM66 action that survives the refresh cycle

How to prove it in the data

SM66 itself cannot be reproved in SE16 because nothing it displays is stored. To confirm a symptom after the fact, work backward from the timestamp noted during the incident: check the system log for RFC or communication errors from the affected server around that time, or pull workload statistics for the same time window to see whether response times or wait times spiked on that instance. If a process was cancelled with core, the resulting short dump carries the exact timestamp, user, and program, which is the closest thing to a persisted record of what SM66 showed.

ECC vs S/4HANA

SM66 is unchanged on S/4HANA. It remains a classic dynpro transaction with no dedicated Fiori replacement, and Basis teams continue to use it exactly as on ECC for cross-server work process troubleshooting. HANA-specific database load is better diagnosed through the HANA-aware monitoring transactions rather than through SM66, which stays focused on the ABAP application server layer regardless of the underlying database.

Common pitfalls

  • Stale snapshot mistaken for current state - a process shown as running long may have already completed between the refresh and the action taken on it; always refresh immediately before cancelling anything, and re-check the row before confirming.
  • RFC reachability to a remote server - if one application server's dispatcher does not answer the RFC call within the poll window, that server's processes are silently missing from the list or an RFC error is thrown; check gateway status and network reachability to that instance before concluding the process does not exist anywhere in the landscape.
  • SM50 used instead of SM66 during a system-wide incident - troubleshooting stays local to the server currently logged into and the actual blocking process on another instance is never seen; if the culprit is not found in SM50 within a minute, switch to SM66 rather than continuing to stare at one server.
  • Wrong cancel mode chosen - cancelling with core when a clean abort was sufficient leaves an unnecessary short dump and, on a busy system, contributes to dump volume that obscures real errors; cancelling without core when a trace was actually needed loses the diagnostic evidence permanently.
  • Private mode processes read as idle - a work process sitting in PRIV mode because it is holding a large memory block shows low CPU consumption and can be mistaken for harmless, when it is actually the one starving other processes of memory; check the memory column, not just CPU time, before ruling a process out.
  • Authorization gaps giving a partial picture - a user without full display authorization for other servers sees only a subset of processes and may wrongly conclude the system has fewer active processes than it does; confirm authorization scope before treating an empty or short list as proof nothing is running elsewhere.

Whose problem this is

This is purely Basis territory. Functional consultants may be asked to identify which transaction or job is stuck, but the decision to cancel a work process belongs to Basis, since an ill-timed cancel on an update or enqueue process can leave inconsistent data. A good handover names the server, process number, program, and elapsed time observed, plus the exact timestamp of the SM66 snapshot.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-tcodes/sm66ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.