Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
Showing results for 
Search instead for 
Did you mean: 
Former Member

Hope the first blog was useful,  Lets talk memory in an SAP Perspective more precisely SAP ABAP Perspective.

In an SAP System each step is a transaction step .An SAP transaction  consists of several transaction steps . Data corresponding to these transaction steps are stored in  Application server memory. This is called a User Context. IT will be useful later :smile:


What is a session in SAP , Data from transaction steps executed in two different sessions are stored in two different memory areas. For a new session a new User context is also created.

Lets put it this way every session has a burden in memory .Because there are user contexts created for each  session

What is SAP Roll Memory??

The  initial part of the user context is local SAP roll Area of the work process. Since it is local memory each SAP Work Process can access only its own roll area.  At the end of transaction step the user exits the work process so that another user can use the work process. The local roll area is copied to shared SAP Roll area as shown in  the figure.

The shared roll area is  either a memory area  in the shared memory of the application server (SAP Roll Buffer ) or application Servers hard drive (the SAP Roll file) or  a combination of both. The shared Roll area is accessible by all of an instance's work process.

What is Roll out?

At the end of transaction step the user exits the work process so that it can be used by another work process. The process of copying the Local Roll Memory to Shared Roll Area is called Roll out.

What is Roll In?

When user is assigned to a new/different work process , the user context is copied from the shared roll Area  to local Roll Area . This procedure is called Roll In.

Ztta/roll_area specifies the size of the local SAP Roll Area . It applies equally to all the work processes.

rdisp/ROLL_MAXFS defines the size of the entire SAP Shared roll area.(i.e Roll File +Roll Buffer)

I know there are a lot of terms being discussed here but it will be useful soon when we discuss about memory management and distribution. I hope the following terms are clear.

  • User Context
  • Session
  • SAP Roll Area 
  • SAP Roll Buffer

If you understand the following points correctly ,  The next term to introduce is extended memory . I promise you there are not too many SAP terminology after this , if you  understand the First Part of the blog and the above terms which is easier. I still have to read it again  to get the basics  right 


The frequency of roll out and roll in are higher considering the transaction steps , so the less heavy the user context the better. For the same reason Mostly User Contexts are stored in Extended Memory ( I know new term again) which is shared so that Roll in and Roll out are made faster because less  amount of data needs to be exchanged. This is done by storing only the address of the extended memory is stored in the local memory of the work process. (The following diagram helps to understand the concept better)

Have a good day....

Labels in this area