Traffic Monsoon

Wednesday 22 July 2009

SAP Processes

The application layer of a SAP system provide the following services:


Dialog service (DIA)

  • Executes requirements of current user session
  • At least 2 dialog processes exists so that SAP internal processes can be handled
  • Not assigned to each user. Only assigned when data needs to be executed which it is run in memory

Background processes / Batch work processes (BGD)

  • Tasks that are run in the background
  • Used for tedious tasks that require no user input in dialog mode
  • Can be scheduled at certain times or after an event
  • Must be supported by at least one instance with one corresponding work process

Update service (UPD)

  • Makes asynchronous changes to the database
  • Used in non-time critical scenarios
  • At least one required in SAP system

V2 Update service (UPD2)

  • Update service has been further divided, the less critical parts of the update service have a separate V2 update service that can execute part of the update collectively
  • Is not required

Output Service / Spool Service (SPO)

  • Output requests are sent to output service, for example the printer, fax etc
  • Stored temporarily in TemSe (temporary sequential objects) until outputted (Can be stored in RDBMS or file system on server)
  • At least one must exist in system

Enqueue service (ENQ)

  • Provides lock management for SAP transactions
  • Only on one instance in entire SAP system

Process overview in SAP can be seen using transaction code SM50.

When this transaction is run, it only shows a snapshot of when the transaction was run. It is not like windows task manager which refreshes automatically. You therefore need to refresh this using the refresh icon on the top left or F8



In the above screen shot, we can see I have three dialog (DIA) processes.

One “Running” (which is my session that I used with my SAP GUI) and two “Waiting”. This means that a total of three user requests can be made to my SAP instance at any one time.

If I wanted to add more dialog processes (i.e. allow more users requests to be processed concurrently), I would need to edit my “Instance” profile using transaction RZ10, by changing the value of 'rdisp/wp_no_dia' to for example 10 for ten dialog processes.

I can now add loads of dialog processes, background processes etc but there will come a time when all the resources will be taken up. When many users connect and do transactions, it will eventually become slow.

This is when we need to look at tuning or maybe we would need to reduce the number of some other processes or simply add a new server for example a Dialog server to handle all user requests. I could then reduce the number of DIA processes on the above server and it should be quicker again. I will go into all these in future posts.

2 comments:

  1. Excellent explanation...I was googling to know the SAP Proces. This article clarified my doubts.

    Thanks.

    ReplyDelete
  2. thanks this was superb

    ReplyDelete