Hardware and Operating System SAP R/3 Basis ... - SAP Techies
Hardware and Operating System SAP R/3 Basis ... - SAP Techies
Hardware and Operating System SAP R/3 Basis ... - SAP Techies
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Underst<strong>and</strong>ing <strong>Basis</strong><br />
<strong>Basis</strong> is like an operating system for R/3. It sits between the ABAP/4 code<br />
<strong>and</strong> the computer's operating system. <strong>SAP</strong> likes to call it middleware<br />
because it sits in the middle, between ABAP/4 <strong>and</strong> the operating system.<br />
Production<br />
Planning<br />
Human<br />
Resources<br />
Materials<br />
Management<br />
Finance <strong>and</strong><br />
Controlling<br />
<strong>SAP</strong> R/3 <strong>Basis</strong> Software<br />
Sales <strong>and</strong><br />
Distribution<br />
<strong>Hardware</strong> <strong>and</strong> <strong>Operating</strong> <strong>System</strong><br />
Compiled By: Ashwin Vavaiya 1 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
<strong>Basis</strong> sitting between ABAP/4 <strong>and</strong> the operating system. ABAP/4 cannot<br />
run directly on an operating system. It requires a set of programs<br />
(collectively called <strong>Basis</strong>) to load, interpret, <strong>and</strong> buffer its input <strong>and</strong> output.<br />
Without <strong>Basis</strong>, ABAP/4 programs cannot run. When the operator starts up<br />
R/3, you can think of him as starting up <strong>Basis</strong>. <strong>Basis</strong> is a collection of R/3<br />
system programs that present you with an interface. Using this interface the<br />
user can start ABAP/4 programs.<br />
<strong>Basis</strong> makes ABAP/4 programs portable.<br />
What is ABAP?<br />
What platforms does R/3 support?<br />
<strong>Operating</strong> <strong>System</strong>s Supported<br />
<strong>Hardware</strong><br />
Platforms <strong>and</strong> Databases Supported by R/3<br />
Supported Front-<br />
Ends<br />
Supported<br />
Databases<br />
AIX SINIX IBM SNI SUN Win 3.1/95/NT DB2 for AIX<br />
SOLARIS HP-UX Digital HP OSF/Motif Informix-Online<br />
Digital-UNIX Bull OS/2 Oracle 7.1<br />
Macintosh ADABAS D<br />
Windows NT AT&T Compaq Win 3.1/95/NT Oracle 7.1<br />
Bull/Zenith OSF/Motif SQL Server 6.0<br />
HP (Intel) SNI OS/2 ADABAS D<br />
IBM (Intel) Macintosh<br />
Digital (Intel)<br />
Data-General<br />
OS/400 AS/400 Win95 OS/2 DB2/400<br />
Compiled By: Ashwin Vavaiya 2 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Role of <strong>Basis</strong> Administrator<br />
<strong>SAP</strong> R/3<br />
Security<br />
Coordinator<br />
What is client server…?<br />
<strong>SAP</strong> R/3 <strong>System</strong> Administrator<br />
<strong>SAP</strong> R/3 Administrator<br />
<strong>SAP</strong> R/3<br />
Database<br />
Administrator<br />
<strong>SAP</strong> R/3<br />
Correction <strong>and</strong><br />
Transport<br />
Administrator<br />
Compiled By: Ashwin Vavaiya 3 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
R/3 <strong>System</strong> Architecture<br />
<strong>SAP</strong> based the architecture of R/3 on a three-tier client/server model/<br />
Logical Grouping of layers<br />
Compiled By: Ashwin Vavaiya 4 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
The Presentation Layer<br />
The Application Layer<br />
The Database Layer<br />
Those <strong>SAP</strong> R/3 software components that<br />
specialize in processing business<br />
applications form the Application Layer.<br />
Three tired client server Architecture [ Logical View ]<br />
Communication<br />
Those <strong>SAP</strong> R/3 software components that<br />
specialize in interacting with end-users<br />
form the Presentation Layer.<br />
Those <strong>SAP</strong> R/3 software components that<br />
specialize in the management, storage <strong>and</strong><br />
retrieval of data form the Database Layer<br />
Compiled By: Ashwin Vavaiya 5 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
The Presentation Layer<br />
collects user input <strong>and</strong><br />
creates process requests.<br />
The Application Layer<br />
uses the application logic of<br />
<strong>SAP</strong> programs to collect <strong>and</strong><br />
process the process requests.<br />
The Database Layer<br />
stores <strong>and</strong> retrieves all data.<br />
Physical Distribution of R/3 Logical Layer’s<br />
Presentation Layer<br />
components<br />
Presentation servers:<br />
<strong>System</strong>s capable of<br />
providing a graphical<br />
interface.<br />
Application Layer<br />
components<br />
reside in: reside in: reside in:<br />
Application servers:<br />
Specialized systems<br />
multiple CPUs <strong>and</strong><br />
vast amounts of<br />
RAM.<br />
Database Layer<br />
components<br />
Database servers:<br />
Specialized systems<br />
with fast <strong>and</strong> large<br />
hard drives.<br />
Physical Distribution of R/3 ‘s Three Layered Client server Architecture<br />
Compiled By: Ashwin Vavaiya 6 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Presentation Layer components are installed across many PCs.<br />
The Application Layer<br />
components are installed<br />
across one or more highend<br />
servers.<br />
Presentation Server<br />
The presentation server is actually a program named sapgui.exe. It is<br />
usually installed on a user's workstation. To start it, the user double-clicks on<br />
an icon on the desktop or chooses a menu path. When started, the<br />
presentation server displays the R/3 menus within a window. This window is<br />
commonly known as the <strong>SAP</strong>GUI, or the user interface (or simply, the<br />
interface). The interface accepts input from the user in the form of<br />
keystrokes, mouse-clicks, <strong>and</strong> function keys, <strong>and</strong> sends these requests to the<br />
application server to be processed. The application server sends the results<br />
back to the <strong>SAP</strong>GUI which then formats the output for display to the user.<br />
Application Server<br />
The Database Layer<br />
components are installed on<br />
one high-end database server.<br />
An application server is a set of executables that collectively interpret the<br />
ABAP/4 programs <strong>and</strong> manage the input <strong>and</strong> output for them. When an<br />
application server is started, these executables all start at the same time.<br />
When an application server is stopped, they all shut down together. The<br />
number of processes that start up when you bring up the application server is<br />
defined in a single configuration file called the application server profile.<br />
Each application server has a profile that specifies its characteristics when it<br />
starts up <strong>and</strong> while it is running. For example, an application sever profile<br />
specifies:<br />
Compiled By: Ashwin Vavaiya 7 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Number of processes <strong>and</strong> their types<br />
Amount of memory each process may use<br />
Length of time a user is inactive before being automatically logged off<br />
The application server exists to interpret ABAP/4 programs, <strong>and</strong> they only<br />
run there-the programs do not run on the presentation server. An ABAP/4<br />
program can start an executable on the presentation server, but an ABAP/4<br />
program cannot execute there.<br />
If your ABAP/4 program requests information from the database, the<br />
application server will format the request <strong>and</strong> send it to the database server.<br />
Database Server<br />
The database server is a set of executables that accept database requests<br />
from the application server. These requests are passed on to the RDBMS<br />
(Relation Database Management <strong>System</strong>). The RDBMS sends the data back<br />
to the database server, which then passes the information back to the<br />
application server. The application server in turn passes that information to<br />
your ABAP/4 program.<br />
There is usually a separate computer dedicated to house the database server,<br />
<strong>and</strong> the RDBMS may run on that computer also, or may be installed on its<br />
own computer.<br />
R/3 <strong>System</strong> Configuration<br />
Computer<br />
“A”<br />
Centralistic<br />
Presentation Layer Application Layer Database Layer<br />
Compiled By: Ashwin Vavaiya 8 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Computer<br />
“A”<br />
Computer<br />
“A-1”<br />
Computer<br />
“A-2”<br />
Computer<br />
“A-n”<br />
Computer<br />
“A”<br />
Computer<br />
“A-1”<br />
Computer<br />
“A-2”<br />
Computer<br />
“A-n”<br />
Distributed Presentation<br />
Computer<br />
“B”<br />
Two tier Client/Server<br />
Computer<br />
“B”<br />
Compiled By: Ashwin Vavaiya 9 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Computer<br />
“A”<br />
Computer<br />
“A-1”<br />
Computer<br />
“A-2”<br />
Computer<br />
“A-n”<br />
Computer<br />
“A”<br />
Computer<br />
“A-1”<br />
Computer<br />
“A-2”<br />
Computer<br />
“A-n”<br />
Computer<br />
“B”<br />
Computer<br />
“B-1”<br />
Computer<br />
“B-n”<br />
Computer<br />
“C”<br />
Multi-tier, cooperative Client/Server<br />
Computer<br />
“B”<br />
Computer<br />
“B-1”<br />
Computer<br />
“B-n”<br />
Three tier Client/Server<br />
Computer<br />
“C”<br />
Computer<br />
“C-n”<br />
Compiled By: Ashwin Vavaiya 10 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Computer<br />
“A” Computer<br />
“B”<br />
Computer<br />
“A-1”<br />
Computer<br />
“A-2”<br />
Computer<br />
“A-n”<br />
Computer<br />
“B-1”<br />
Distributed Applications?<br />
PP<br />
PS<br />
MM-<br />
INV<br />
MM-<br />
PUR<br />
Computer<br />
“B-n”<br />
SD-<br />
SHP<br />
MM-<br />
INV<br />
Computer<br />
“C”<br />
Computer<br />
“C-n”<br />
One central system is not always optimal for unifying business processes with<br />
integrated applications<br />
Compiled By: Ashwin Vavaiya 11 of 44<br />
GL<br />
CO<br />
<strong>SAP</strong> R/3<br />
Database<br />
Administrator
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Using the <strong>SAP</strong> <strong>Basis</strong> <strong>System</strong>, applications can run on different platforms<br />
with high performance <strong>and</strong> can be adapted to meet individual user<br />
requirements.<br />
<br />
<strong>SAP</strong> <strong>Basis</strong>:<br />
Provides the runtime environment for all <strong>SAP</strong> applications<br />
Optimally embeds the application in the system environment<br />
Defines a stable architecture framework for system enhancements<br />
Contains the tools for administering the entire system<br />
Allows the distribution of resources <strong>and</strong> system components<br />
Provides interfaces for decentralized system parts <strong>and</strong> external<br />
products.<br />
The architecture of the <strong>SAP</strong> <strong>Basis</strong> <strong>System</strong> is especially well-suited for<br />
client / server configurations<br />
Compiled By: Ashwin Vavaiya 12 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
<strong>SAP</strong> Application Server Architecture & <strong>System</strong> Kernel<br />
The components of an application server are shown in Figure 1.19. It consists of a<br />
dispatcher <strong>and</strong> multiple work processes.<br />
The following components on the application level are involved in processing a dialog<br />
request.<br />
The dispatcher<br />
Work process queues (administered by the dispatcher) for incoming requests<br />
Compiled By: Ashwin Vavaiya 13 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
One of the dialog work processes<br />
Buffers in shared memory <strong>and</strong> also possibly the roll file<br />
Underst<strong>and</strong>ing the Types of Work Processes<br />
There are seven types of work processes. Each h<strong>and</strong>les a specific type of request.<br />
The type of work processes <strong>and</strong> the types of requests that they h<strong>and</strong>le are shown in<br />
Table 1.2.<br />
Table 1.2 Types of Work Processes <strong>and</strong> the Types of Requests they H<strong>and</strong>le<br />
WP Type Request Type<br />
D (Dialog) Dialog requests<br />
V (Update) Requests to update data in<br />
the database<br />
B (Background) Background jobs<br />
S (Spool) Print spool requests<br />
E (Enqueue) Logical lock requests<br />
M (Message) Routes messages between<br />
application servers within an<br />
R/3 system<br />
G (Gateway) Funnels messages into <strong>and</strong><br />
out of the R/3 system<br />
Compiled By: Ashwin Vavaiya 14 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Dialog Work Process execution sequence<br />
Execution Sequence<br />
All requests that come in from presentation servers are directed first to the<br />
dispatcher. The dispatcher writes them first to the dispatcher queue. The<br />
dispatcher pulls the requests from the queue on a first-in, first-out basis.<br />
Each request is then allocated to the first available work process. A work<br />
process h<strong>and</strong>les one request at a time.<br />
To perform any processing for a user's request, a work process needs to<br />
address two special memory areas: the user context <strong>and</strong> the program roll<br />
area. The user context is a memory area that contains information about the<br />
user, <strong>and</strong> the roll area is a memory area that contains information about the<br />
programs execution.<br />
Compiled By: Ashwin Vavaiya 15 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
The task h<strong>and</strong>ler coordinates activity within a dialog work process. It activates<br />
the screen processor or the ABAP processor (which control the screen flow<br />
logic <strong>and</strong> process ABAP statements, respectively) <strong>and</strong> executes the roll-in <strong>and</strong><br />
the roll-out of the user context.<br />
The memory management system differentiates between main memory areas<br />
that are available exclusively to a work process, <strong>and</strong> memory areas that can be<br />
used by all work processes. The memory space used exclusively by a work<br />
process stores session-specific data that must be kept longer than the duration<br />
of a work step. This data is automatically made available to the process at the<br />
start of a dialog step (rolled-in) <strong>and</strong> saved at the end of the dialog step (rolledout).<br />
This data characterizes users (user context), such as their authorizations,<br />
administration information <strong>and</strong> additional data for the ABAP <strong>and</strong> dialog<br />
processor. Also it contains data collected by the system in the preceding dialog<br />
steps in the running transaction (see following slide). Additional memory areas<br />
used by all processes in shared memory include areas for the factory calendar,<br />
screen, table, <strong>and</strong> program buffers.<br />
Underst<strong>and</strong>ing a User Context<br />
A user context is memory that is allocated to contain the characteristics of a<br />
user that is logged on the R/3 system. It holds information needed by R/3<br />
about the user, such as:<br />
The user's current settings<br />
The user's authorizations<br />
The names of the programs the user is currently running<br />
When a user logs on, a user context is allocated for that logon. When they<br />
log off, it is freed. It is used during program processing, <strong>and</strong> its importance<br />
is described further in the following sections.<br />
Underst<strong>and</strong>ing a Roll Area<br />
A roll area is memory that is allocated by a work process for an instance of<br />
a program. It holds information needed by R/3 about the program's<br />
execution, such as:<br />
The values of the variables<br />
The dynamic memory allocations<br />
The current program pointer<br />
Compiled By: Ashwin Vavaiya 16 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Each time a user starts a program, a roll area is created for that instance of<br />
the program. If two users run the same program at the same time, two roll<br />
areas will exist-one for each user. The roll area is freed when the program<br />
ends.<br />
Both the roll area <strong>and</strong> the user context play an important part in dialog step<br />
processing.<br />
Underst<strong>and</strong>ing a Dialog Step<br />
Dialog step is the processing needed to get from one screen to the next. It<br />
includes all processing that occurs after the user issues a request, up to <strong>and</strong><br />
including the processing needed to display the next screen. For example,<br />
when the user clicks the Enter key on the Change Vendor: Initial Screen, he<br />
initiates a dialog step <strong>and</strong> the hourglass appears, preventing further input.<br />
The sapmf02k program retrieves the vendor information <strong>and</strong> displays it on<br />
the Change Vendor: Address screen, <strong>and</strong> the hourglass disappears. This<br />
marks the end of the dialog step <strong>and</strong> the user is now able to make another<br />
request.<br />
There are four ways the user can initiate a dialog step. From the <strong>SAP</strong>GUI:<br />
Press Enter.<br />
Press a function key.<br />
Click on a button on the screen.<br />
Choose a menu item.<br />
Compiled By: Ashwin Vavaiya 17 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Roll-In/Roll-Out Processing<br />
An ABAP/4 program only occupies a work process for one dialog step. At<br />
the beginning of the dialog step, the roll area <strong>and</strong> user context are rolled in<br />
to the work process. At the end of the dialog step, they are rolled out.<br />
During the roll-in, pointers to the roll area <strong>and</strong> user context are populated in<br />
the work process. This enables the work process to access the data in those<br />
areas <strong>and</strong> so perform processing for that user <strong>and</strong> that program. Processing<br />
continues until the program sends a screen to the user. At that time, both<br />
areas are rolled out. Roll-out invalidates the pointers <strong>and</strong> disassociates these<br />
areas from the work process. That work process is now free to perform<br />
processing for other requests. The program is now only occupying memory,<br />
<strong>and</strong> not consuming any CPU. The user is looking at the screen that was sent,<br />
<strong>and</strong> will soon send another request.<br />
When the next request is sent from the user to continue processing, the<br />
dispatcher allocates that request to the first available work process. It can be<br />
the same or a different work process. The user context <strong>and</strong> roll area for that<br />
program are again rolled in to the work process, <strong>and</strong> processing resumes<br />
from the point at which it was left off. Processing continues until the next<br />
screen is shown, or until the program terminates. If another screen is sent,<br />
the areas are again rolled out. When the program terminates, the roll area is<br />
freed. The user context remains allocated until the user logs off.<br />
In a system with many users running many programs, only a few of those<br />
programs will be active in work processes at any one time. When they are<br />
not occupying a work process, they are rolled out to extended memory <strong>and</strong><br />
only occupy RAM. This conserves CPU <strong>and</strong> enables the R/3 system to<br />
achieve high transaction throughput.<br />
Compiled By: Ashwin Vavaiya 18 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Underst<strong>and</strong>ing the Components of a Work Process<br />
Each work process has four components (see Figure ).<br />
Each work process is composed of the following:<br />
A task h<strong>and</strong>ler<br />
An ABAP/4 interpreter<br />
A screen interpreter<br />
A database interface<br />
All requests pass through the task h<strong>and</strong>ler, which then funnels the request to<br />
the appropriate part of the work process.<br />
The interpreters interpret the ABAP/4 code. Notice that there are two<br />
interpreters: the ABAP/4 interpreter <strong>and</strong> the screen interpreter. There are<br />
actually two dialects of ABAP/4. One is the full-blown ABAP/4 data<br />
processing language <strong>and</strong> the other is a very specialized screen processing<br />
language. Each is processed by its own interpreter.<br />
The database interface h<strong>and</strong>les the job of communicating with the database.<br />
Compiled By: Ashwin Vavaiya 19 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
R/3 Database Interfaces<br />
When interpreting open SQL statements, the R/3 database interface<br />
checks the syntax of these statements <strong>and</strong> automatically ensures the local<br />
<strong>SAP</strong> buffers in the shared memory of the application server are utilized<br />
optimally. Data frequently required by the applications is stored in these<br />
buffers so that the system does not have to access the database server to<br />
read this data. In particular, all technical data such as ABAP programs,<br />
screens, <strong>and</strong> ABAP Dictionary information, as well as some business<br />
process parameters usually remain unchanged in a running system,<br />
making them ideal buffering c<strong>and</strong>idates. The same applies to certain<br />
business application data, which is accessed as read-only.<br />
Compiled By: Ashwin Vavaiya 20 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Work Process Multiplexing <strong>and</strong> <strong>SAP</strong> Transactions<br />
Compiled By: Ashwin Vavaiya 21 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Locks in R/3 at the Business Process Level<br />
Compiled By: Ashwin Vavaiya 22 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Requesting a Lock From the Enqueue WP<br />
When a lock is requested, the system checks to determine whether the<br />
requested lock conflicts with any entries in the lock table. If there are<br />
conflicts, the lock request is rejected. The application program then<br />
informs the user that the operation cannot currently be executed. A<br />
message appears,for example, “Data is currently in use. Change not<br />
possible.”<br />
The locks (enqueues) are administered by the enqueue work process<br />
using the lock table. The lock table is stored in the main memory of the<br />
server where the enqueue work process is running. If the dialog work<br />
process <strong>and</strong> enqueue work process are not running on the same server,<br />
they communicate through the message server.<br />
Locks set by application programs are reset either by the application<br />
program itself or by a special update program (in the second part of <strong>SAP</strong>-<br />
LUW)<br />
Compiled By: Ashwin Vavaiya 23 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Asynchronous Update<br />
Updating Log Records<br />
Compiled By: Ashwin Vavaiya 24 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Background Processing<br />
The R/3 Instance<br />
Compiled By: Ashwin Vavaiya 25 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
R/3 Memory Areas<br />
Users need two kinds of memory:<br />
R/3 buffers<br />
Memory accessible to all users, for:<br />
Programs<br />
Table <strong>and</strong> field definitions<br />
Customizing tables<br />
User context<br />
Memory attached to individual users, for:<br />
Variables, lists, internal tables<br />
Administrative data (such as authorizations)<br />
Physical <strong>and</strong> Virtual Memory<br />
<br />
Unlike physical memory, virtual memory can be allocated. The operating<br />
system determines if the allocated memory area resides in the physical memory<br />
or in the operating system swap space.<br />
Depending on the operation system, the maximum size of the virtual<br />
memory may vary between the size of the operating system swap space <strong>and</strong> the<br />
sum of physical memory <strong>and</strong> operating system swap space.<br />
Compiled By: Ashwin Vavaiya 26 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
The six R/3 memory areas are:<br />
<br />
Buffers<br />
Extended memory<br />
Heap memory<br />
Roll memory<br />
R/3 paging memory<br />
Local work process memory<br />
R/3 Memory – OverView<br />
Compiled By: Ashwin Vavaiya 27 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
R/3 Memory I: Local Memory for Work Processes<br />
Compiled By: Ashwin Vavaiya 28 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
R/3 Memory II: R/3 Buffers<br />
Compiled By: Ashwin Vavaiya 29 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
R/3 Memory III: Extended Memory<br />
Compiled By: Ashwin Vavaiya 30 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
R/3 Memory IV: Heap Memory<br />
Compiled By: Ashwin Vavaiya 31 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
R/3 Memory V: Roll Memory<br />
Compiled By: Ashwin Vavaiya 32 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
R/3 Memory VI: Paging Memory<br />
Compiled By: Ashwin Vavaiya 33 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
User Context Data & Roll-in, Roll-out<br />
In an R/3 system, many frontend users are connected to one or more application<br />
servers. The work that users request from the system is performed in work<br />
processes. Normally, there are fewer work processes than frontend users.<br />
A work process is dedicated to a frontend user only while a specific dialog<br />
step is being processed by the application server. A user can be dispatched to<br />
one work process in one dialog step, <strong>and</strong> to another work process in the<br />
following dialog step. Over the course of time, users are dispatched to different<br />
work processes.<br />
In the course of their work in dialog work processes, users accumulate<br />
various pieces of data, such as pointers to programs they are using. This<br />
accumulated data is called the "user context". A user context enables, for<br />
example, the material number you are working on to be remembered by the<br />
system <strong>and</strong> proposed as the default in a following transaction.<br />
Roll Area <strong>and</strong> Paging Area<br />
The data processed in work processes is stored in two memory areas:<br />
The roll area, in which user context data is stored. User context data may<br />
include pointers to<br />
active programs, set/get parameters (related to the most recent input of the<br />
user), authorizations,internal tables, <strong>and</strong> report lists.<br />
The paging area, which stores the application program data that correspond to<br />
specific ABAP comm<strong>and</strong>s including EXTRACT, IMPORT TO MEMORY,<br />
EXPORT FROM MEMORY, <strong>and</strong> CALL TRANSACTION.<br />
<br />
The size of these areas is configurable using R/3 profile parameters.<br />
Compiled By: Ashwin Vavaiya 34 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Roll Buffer <strong>and</strong> Paging Buffer<br />
Where there is buffer space available, the roll area <strong>and</strong> the paging area are<br />
held in the respective buffers in the application servers. When there is not<br />
sufficient buffer space, the roll area <strong>and</strong> the paging area must be stored in the<br />
respective physical disk files (roll file <strong>and</strong> paging file).<br />
Thus, the user data processed in work processes is stored in two areas:<br />
The roll file <strong>and</strong> its associated buffer<br />
The page file <strong>and</strong> its associated buffer<br />
Compiled By: Ashwin Vavaiya 35 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
R/3 Extended Memory<br />
User contexts are not only stored in roll files <strong>and</strong> the corresponding buffers.<br />
As of R/3 Release 3.0, they are primarily stored in R/3 extended memory.<br />
In R/3 extended memory, a large area of memory shared by all available<br />
work processes can be accessed through pointers. Using extended memory as<br />
well as roll files thus reduces the amount of copying from roll areas that is<br />
required during user context switches, <strong>and</strong> avoids the overhead caused by large<br />
roll-in or roll-out tasks.<br />
Compiled By: Ashwin Vavaiya 36 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Memory Allocation Sequence for Dialog WPs<br />
Sequence: 1 Initial Portion of roll area<br />
To keep the usage of the roll area to a minimum <strong>and</strong> make more use of<br />
extended memory, only a small portion of the roll area is used initially.<br />
The size of this portion is set by the parameter ztta/roll_first.<br />
Compiled By: Ashwin Vavaiya 37 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Sequence: 2 Extended memory until it full or user quota is<br />
reached.<br />
The user quota defines the maximum amount of R/3 extended memory that can<br />
be used by any one user, <strong>and</strong> is set with the parameter ztta/roll_extension.<br />
Compiled By: Ashwin Vavaiya 38 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Sequence: 3 Rest of the roll area<br />
The remaining portion of R/3 roll memory is used when the<br />
system can no longer allocate R/3 extended memory, either because<br />
R/3 extended memory is full or because the quota has been reached.<br />
The reason for using the remaining portion of R/3 roll memory is<br />
to avoid using heap memory, which is local memory, <strong>and</strong> avoid<br />
entering PRIV mode<br />
Compiled By: Ashwin Vavaiya 39 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Sequence: 4 Local heap memory<br />
If the work process requires still more space after using up all<br />
available roll area <strong>and</strong> extended memory, the system is forced to<br />
allocate R/3 heap memory locally.<br />
Compiled By: Ashwin Vavaiya 40 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Allocation Sequence for Dialog WPs – Overview<br />
The memory allocation strategy for dialog work<br />
processes aims to prevent work processes from<br />
allocating R/3 heap memory <strong>and</strong> thus entering PRIV<br />
mode.<br />
When a work process enters PRIV mode, it remains<br />
connected to the user until the user ends the ransaction.<br />
Compiled By: Ashwin Vavaiya 41 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Allocation Sequence for Non-Dialog WPs<br />
Compiled By: Ashwin Vavaiya 42 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
Memory Management Parameters<br />
Compiled By: Ashwin Vavaiya 43 of 44
Introduction To <strong>SAP</strong> R/3 <strong>Basis</strong><br />
-----------------------------------------------------------<br />
ztta/roll_first:<br />
Defines the first part of the roll area that is allocated to a dialog<br />
process<br />
ztta/roll_area:<br />
Defines the total roll area per work process<br />
rdisp/roll_SHM:<br />
Defines the size of the roll buffer<br />
rdisp/roll_MAXFS :<br />
Defines the size of roll buffer <strong>and</strong> roll file<br />
em/initial_size_MB:<br />
Defines the fixed size of extended memory<br />
ztta/roll_extension:<br />
Defines the user quota for extended memory<br />
abap/heap_area_dia :<br />
Defines the limit for the amount of local memory allocated to dialog<br />
work processes<br />
abap/heap_area_nondia :<br />
defines the limit for the amount of local memory allocated to nondialog<br />
work processes<br />
abap/heap_area_total:<br />
Defines the limit for the total amount of heap memory allocated to all<br />
work processes<br />
Compiled By: Ashwin Vavaiya 44 of 44