SAP Transaction Steps

SAP uses a 3 layer architecture. The presentation layer is typically where an end user triggers an SAP transaction; the application layer runs the programs required to fulfill the transaction using database layer for persistence.

  1. When the user has triggered a transaction (at t0), the request flows through their front-end to the application server, over the network.
  2. The request reaches the dispatcher (at t1). If the dispatcher finds a free work process that can cater to the request, the request is assigned to the WP. Otherwise, the request will be held in the dispatcher queue until a free WP is available (t2)
  3. An SAP transaction is usually a series of logical units of work. Each logical step may be executed by different WPs. During the change in the WP executing the transaction steps, the user context (internal tables, variables, screen lists etc) is retained in roll memory through roll-ins and roll-outs. The WP copies the user context from roll memory into its local memory (roll-in at t3) to begin processing the request.
  4. The SAP programs, screens and CUA objects are maintained in SAP buffer. The WP uses them to process the request. If these objects are not available in the buffer, they are loaded (from the database) or generated  (if required) at t4
  5. Now that the WP has the programs, user context with it, it start processing the request. A typical transaction involves accessing and/or changing database records. Before it begins the changes, it request for an enqueue (t5) and once the enqueue is set (t6) it sends the database SQL query (t7). The work process resumes further processing when it receives the response from the database (t8).
  6. When the WP completes the request, it sends the output to the front-end (t9) and rolls out user context. (note the two t9's in the diagram). The output is displayed to the end-user at t10 completing the transaction.

Comments

Popular posts from this blog

OS/DB Migration - CMD. STR, TOC, EXT, R3load, DDLDBS.TPL and more

Fixing Inconsistent Table - Table activation fails due to inconsistency between DD and DB

301 Redirect Using SAP Web Dispatcher